
LLMの仕組みとトークン概念
言葉の定義
LLM(Large Language Model:大規模言語モデル)
LLMとは、大量のテキストデータを学習し、人間が入力した文章に対して、次に続く語や文を高い確率で推定しながら文章を生成する大規模な言語モデルです。現在広く使われている対話型AIの多くは、このLLMを中核技術として利用しています。
LLMは、単に文章を保存している装置ではありません。過去に学習した膨大な言語データの中から、入力文の文脈に応じて、自然につながる表現を逐次組み立てていく仕組みです。このため、要約、翻訳、言い換え、質問応答、構成案作成、コード生成など、幅広い言語処理に活用されています。
トークン
トークンとは、LLMが文章を処理するときの最小単位です。人間は文章を「単語」や「文」として読んでいるように感じますが、LLMはそれをそのまま理解しているわけではなく、内部では文章をより細かい単位に分割して扱っています。この分割単位がトークンです。
トークンは、必ずしも「1単語=1トークン」ではありません。英語では単語に近い単位になることもありますが、日本語では文字列の一部や語の断片として分かれることがあります。句読点、数字、記号、空白もトークンとして数えられることがあります。
https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them
Transformer
Transformerとは、現在の多くのLLMの基盤となっているニューラルネットワークの構造です。2017年の論文「Attention Is All You Need」で提案され、前後の文脈関係を効率よく扱えることから、大規模な言語処理において非常に大きな役割を果たしました。
Transformerの重要な特徴は、文の最初から最後までを単純に左から順にだけ見るのではなく、文中の各部分が他のどの部分と強く関係しているかを見ながら処理できる点です。この仕組みによって、長めの文章でも文脈を踏まえた自然な出力がしやすくなりました。
https://research.google/pubs/attention-is-all-you-need/
この章で学ぶこと
この章では、生成AIの中心技術であるLLMが、どのような考え方で文章を処理しているのかを学びます。ここで重要なのは、細かな数式や実装を覚えることではありません。
まずは、LLMが「文章をそのまま理解している魔法の箱」ではなく、「トークンという単位に分け、文脈をもとに次を予測する仕組み」であることを理解することが重要です。
この理解があると、なぜ入力の書き方で出力が変わるのか、なぜ長すぎる文章では制限が問題になるのか、なぜ自然な文章でも事実誤認が起こりうるのかを、仕組みに沿って説明できるようになります。今後のプロンプト設計やAPI利用を理解するうえでも、この章は基礎になります。
LLMの基本的な考え方
LLMは、人間のように文章全体を意味として完全に理解しているわけではありません。基本的には、入力されたトークン列をもとに、「次にどのトークンが続くと自然か」を確率的に予測し、その予測を何度も繰り返すことで文章を生成しています。
たとえば、「今日は天気が」という入力に続いて、「良いです」「悪いです」「気になります」など、さまざまな候補が理論上は考えられます。LLMは、その前後関係や学習したパターンをもとに、どの続きがもっとも自然らしいかを内部で評価し、次のトークンを選びます。そして、その次のトークン、そのまた次のトークンへと処理を続けていきます。
このように、LLMの文章生成は、一文を最初から最後まで一気に書き上げる方式ではありません。小さな予測の連続によって、結果としてまとまった文章が生み出されています。
LLMは何を学習しているのか
LLMは、学習の過程で大量のテキストデータに触れます。その中で、語と語のつながり、表現の傾向、文脈ごとの言い回し、説明の型、質問と回答の対応関係など、多くの言語パターンを内部に取り込んでいきます。
ここで重要なのは、LLMが「事実の一覧表」をそのまま保存しているわけではないということです。学習しているのは、世界に関する言語的なパターンであり、文章のつながりの傾向です。そのため、もっともらしい説明は得意でも、常に事実を保証するわけではありません。
この点を理解していないと、「自然に答えてくれたから正しいだろう」と思い込みやすくなります。しかし実際には、LLMはあくまで言語パターンにもとづいて出力しているため、事実確認は別途必要です。
トークンの考え方
LLMは文章をそのまま一塊として扱うのではなく、トークンという細かな単位に分けて処理します。これは、コンピュータが人間と同じように意味を直感的に読むことができないためです。
たとえば、短い文章であっても、内部では複数のトークンに分かれます。英語では単語に近い形で区切られることが多い一方、日本語では漢字、ひらがな、助詞、語尾などがまとまりや断片として分かれることがあります。したがって、日本語では見た目の文字数とトークン数が一致しないことも珍しくありません。
トークンの考え方は、単なる技術知識ではありません。実際には、入力できる文章量、出力できる文章量、API利用時の使用量管理と深く関係しています。そのため、今後AIを実務で使ううえで、トークンは避けて通れない概念です。
トークンが重要である理由
1. 入力できる情報量に限界があるためです
LLMは無限に長い文章を一度に扱えるわけではありません。モデルごとに、処理できるトークン数には上限があります。入力文が長すぎる場合、一部を省略したり、分割したり、要約したりする工夫が必要になります。
2. 出力できる文章量にも関係するためです
出力もまたトークン数の範囲内で行われます。そのため、長い説明や詳細な文章を求めた場合でも、設定や制限によっては途中で出力が終わることがあります。これは「AIが途中で考えるのをやめた」というより、処理上の制約に関係しています。
3. API利用時の設計に直結するためです
APIでは、一般に入力トークン数と出力トークン数が利用量や処理量の管理対象になります。そのため、業務システムに組み込む場合は、「どれくらいの長さの入力を渡すか」「どれくらいの長さの出力を返させるか」という設計が重要になります。
LLMと従来のプログラムの違い
従来のプログラムは、基本的に人間が明示的にルールを書き、そのルールどおりに処理を行います。たとえば、「この条件ならA、そうでなければB」といった形で、分岐を人間が定義します。
一方、LLMは、細かなルールを人間が一つひとつ書いているわけではありません。大量のデータから言語パターンを学習し、その結果として柔軟な出力を行います。このため、想定外の表現にもある程度対応できますが、そのぶん出力が確率的であり、毎回完全に同じ結果になるとは限りません。
ここに、LLMの強みと注意点が同時にあります。柔軟性が高い一方で、厳密な再現性や事実保証が必要な場面では、人間による確認や設計が不可欠です。
誤解しやすい点
LLMは人間のように完全理解しているわけではありません
LLMは非常に自然な文章を返すため、人間のように理解して考えているように見えます。しかし、基本的にはトークン列をもとに、次に続く表現を予測する仕組みです。人間の経験世界や身体感覚を持っているわけではありません。
LLMは「正しい答え」を必ず知っているわけではありません
学習データに多く含まれる表現や一般的な知識については強い場合がありますが、特定分野の厳密な事実、最新情報、数値の整合、制度の細部などでは誤りが起こることがあります。自然に見える出力と、正確な出力は同じではありません。
トークンは単なる専門用語ではありません
トークン数は、利用可能な文章量、システム設計、コスト、処理効率に関わる重要な概念です。そのため、初学者の段階から「LLMは文章をトークンとして処理している」という見方に慣れておくことが大切です。
この章を学ぶ意味
LLMの仕組みとトークン概念を理解すると、生成AIを表面的に使う段階から一歩進めます。たとえば、出力が浅いと感じたときには入力の文脈不足を疑えますし、長い文章が扱いにくい理由もトークン上限の観点から理解できます。
また、同じ問いでも少し入力を変えるだけで出力が変わる理由も、仕組みとして説明できるようになります。
さらに、この章の理解は、次回以降のプロンプト設計やAPI連携にもつながります。プロンプト設計とは、単に上手なお願いの仕方を学ぶことではありません。LLMがどのように入力を受け取り、どのように出力を組み立てるのかを踏まえて、入力方法を設計することです。
その意味で、この章は今後の実践内容を支える基礎理論として非常に重要です。
このページで押さえるべきポイント
- LLMは、大量のテキストを学習した大規模言語モデルです。
- LLMは、次に続くトークンを予測しながら文章を生成します。
- トークンは、LLMが文章を処理する最小単位です。
- トークンは、入力上限、出力上限、API設計に深く関わります。
- 自然な文章を返せても、内容の正確性は別途確認が必要です。
- LLMの仕組みを理解することは、今後のプロンプト設計の基礎になります。
参考文献
- https://csrc.nist.gov/glossary/term/large_language_model
- https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them
- https://help.openai.com/ja-jp/articles/7127987-what-is-the-difference-between-prompt-tokens-and-completion-tokens
- https://research.google/pubs/attention-is-all-you-need/