LLMの仕組みとは?次の単語予測で会話できる理由
画像出典: パブリックドメイン(Wikimedia Commons)
LLMがやっていることは、突きつめると「これまでの文章に続く次の1トークンを確率で選ぶ」ことだけです。それを何百回も繰り返して文章が組み上がり、要約も翻訳も質問応答も「与えた文脈に続く自然な言葉を予測する」という同じ作業の応用として実現されています。この予測を支えているのが、2017年の論文で提案されたTransformerという設計です。
毎日使っているのに、中で何が起きているかは説明できない。正直なところ、それはかなり普通の状態です。使うだけなら仕組みを知らなくても困りませんから。
ただ、仕組みを一度でも通しで理解すると、AIの返答が急に読めるようになります。なぜ嘘を自信満々に言うのか、なぜ長い会話で前の指示を忘れるのか、その理由がすべて同じ一点から説明できるからです。その一点というのが「次の単語予測」です。
LLMは結局、何をしている仕組みなのか?
言語モデルの定義は、教科書的にはとても短く書けます。これまでの文脈から、次に来る単語(正確にはトークンという単位)の確率分布を予測する仕組み。これだけです。GPTシリーズを含む現代の大規模言語モデル(LLM)も、この原理を踏襲しています。
ここで出てきた「トークン」は、モデルが文章を処理するときの最小単位です。ざっくりは単語に近いものですが、必ずしも単語1つとは限りません。ここでは「モデルが一度に生み出す言葉のかけら」と思っておけば十分です。
そして「確率分布を予測する」というのは、次に来る候補すべてに点数をつけるということです。たとえば「今日はいい」まで与えられたモデルは、「天気」に高い確率、「感じ」にもそこそこの確率、「冷蔵庫」にはほぼゼロの確率、というように、語彙のすべてに対して数値を割り振ります。モデルは意味を理解して答えを選んでいるのではなく、確率の山の中から1つを取り出しています。
長い返事が返ってくるのは、この予測を1回で終わらせないからです。次の節で、その繰り返しの部分を見ていきます。
なぜ1単語ずつの予測から、長い文章が出てくるのか?
生成のときのLLMは、自己回帰的に動きます。自己回帰とは、自分が直前に出した出力を、次の予測の入力に混ぜ直すやり方のことです。
- 入力を受け取るあなたが書いた文章が、そのまま文脈としてモデルに渡されます。
- 次の1トークンを予測するその文脈に続きやすいトークンを、確率で1つ選びます。
- 選んだトークンを文脈の末尾に足すこれで文脈が1トークンぶん長くなります。
- 2に戻る終了を示すトークンが出るまで、この往復をひたすら繰り返します。
画面に文字が左から順にパラパラと現れるのを見たことがあると思いますが、あれは演出ではありません。実際に1トークンずつ予測して継ぎ足している最中の様子が、そのまま見えているだけです。
この繰り返しが数百回、数千回と積み上がることで、文法的に正しく、意味の通った文章全体が組み上がります。人間が言葉を1つずつ口に出していく動作を、統計的に模倣している状態と言い換えてもいいでしょう。
- モデルが1回にやるのは「次の1トークンを確率で選ぶ」ことだけ
- その1回を、自分の出力を混ぜながら何百回も繰り返す
- 繰り返しの積み重ねが、文章の形になって出てくる
学習中と生成中で、動き方は違うのか?
違います。ここを分けて理解しておくと、話が一段すっきりします。
| 学習時 | 正解の文章がすでに手元にあるため、それをすべて同時に入力し、予測すべき先の部分をマスクで隠す「教師強制」という方式で学習する。未来の情報が漏れないようにしながら、大量の予測練習を一度にまとめて行える。 |
|---|---|
| 推論時(実際に使うとき) | 正解の文章が存在しないため、自己回帰的に「直前までの自分の出力」だけを踏まえて次の1トークンを逐次予測する。1トークン進めるたびに計算し直すので、まとめて処理することはできない。 |
上の表のとおり、学習時は正解を並べて一気に練習し、推論時は自分の出力だけを頼りに1歩ずつ進みます。この非対称さが、生成された文章がときどき途中から筋を外していく理由の一端でもあります。1トークンでも不自然な語を選ぶと、それが次の予測の前提として文脈に混ざってしまうからです。
要約や翻訳も「次の単語予測」なのか?
これが一番つまずきやすいところです。要約用のモード、翻訳用のモードが別々に用意されているように感じますが、そうではありません。
要約を頼むとき、あなたは「以下の文章を3行で要約してください」という指示と、元の文章をまとめて渡しています。モデルから見ると、それはただの長い文脈です。そして、その文脈のあとに続くもっとも自然なトークン列を予測すると、結果として要約文が出てくる。ただそれだけのことが起きています。
翻訳も質問応答も同じです。タスクが変わっているのではなく、与えている文脈が変わっているだけで、モデルの動作そのものは一貫して「文脈に続く次のトークンを予測する」で固定されています。AI入門解説で広く使われている説明フレームですが、これを掴むと、プロンプトを工夫することの意味も変わって見えてきます。指示文は命令ではなく、望む出力が自然に続くような文脈づくりだからです。
なぜ遠く離れた言葉の関係まで見られるのか?
ここまでの説明には、まだ穴があります。「次の単語を確率で選ぶ」だけなら、直前の数語しか見ていない素朴な仕組みでも一応できてしまう。実際、昔の言語モデルは長い文章になると話の筋を見失っていました。
それを変えたのが、2017年にGoogleの研究者が発表した論文「Attention Is All You Need」です。この論文が提案したTransformerというアーキテクチャが、現在のLLMの基盤技術になっています。
Transformerの核にあるのがSelf-Attentionという機構で、これは文中のそれぞれの単語が、同じ文の中のどの単語をどれくらい重視すべきかを計算する仕組みです。「その資料、部長に送っておいたので確認してください」という文で「確認してください」の予測をするとき、Self-Attentionは「資料」や「部長」に強く重みを置きます。距離が離れていても、関係が強ければ直接つなぎにいけるわけです。
それ以前の主流だったRNNやLSTMは、文を先頭から順にたどって情報を持ち回る設計でした。長くなるほど前の情報が薄れていく構造的な弱点があり、Transformerはそこを置き換えました。
重みづけのルールは人が書いたものではありません。数十億語規模のコーパス(学習に使う大量の文章を集めたデータ)を使った学習の中で、単語の意味や共起関係(ある語とある語が同じ文脈に一緒に現れやすい度合い)を統計的に身につけていった結果です。「部長」の近くには「報告」「承認」といった語が現れやすい、という膨大な観測が、そのまま重みとして畳み込まれています。
この仕組みから見て、AIが苦手なことは何か?
原理がわかると、限界も同じ場所から説明できます。
事実かどうかは判定していません。モデルが選んでいるのは「もっともらしく続く語」であって「正しい語」ではありません。存在しない書籍名や統計を自信たっぷりに書くのは、その並びが統計的に自然だからです。固有名詞・数値・出典は、必ず自分で裏を取ってください。
会話は無限に覚えていられません。モデルは、その時点で入力として渡されている文章だけを見て次を予測しています。会話が長くなると古いやり取りは処理の対象から外れ、そこにない内容として扱われます。長い会話で前の指示が消えるのはこのためです。
計算や厳密な手順は本来の得意分野ではありません。桁の多い計算も「それらしい数字の並び」として予測される可能性があります。検算するか、計算はツールに任せる前提で使うのが安全です。
逆に言えば、「もっともらしい言葉の並び」が正解になる作業ほど、LLMは強いということです。文章の言い換え、要約、たたき台づくり、堅い表現への直し。このあたりは仕組みと相性が良く、安心して任せられる領域だと言えます。
明日から使い方をどう変えればいいか?
仕組みの理解を、そのまま操作に落とすとこうなります。
- 指示は文脈として書く。「丁寧に」だけでなく、望む出力に近い例文を1つ添える。そのほうが「続き」が予測しやすくなる。
- 重要な前提は会話の早い位置に置き、長くなったら再掲する。参照範囲から外れる前に、もう一度文脈へ入れ直す発想です。
- 事実の確認は人の仕事として残す。下書きはAI、裏取りは自分。役割を切り分けるだけで事故が減ります。
中身がわかっている道具は、扱いが変わります。ChatGPTに何かを頼むときの感覚が、「お願いする」から「続きが自然に出てくる文脈を用意する」に変わったら、それがこの記事の目的地です。
よくある質問
LLMとは何を指す言葉ですか?
LLMは大規模言語モデル(Large Language Model)の略で、大量のテキストで学習し、与えられた文脈から次に来るトークンの確率を予測する仕組みを持つモデルを指します。ChatGPTなどの対話サービスは、このLLMを土台に作られています。
トークンと文字数は同じものですか?
同じではありません。トークンはモデルが処理するテキストの単位で、OpenAIの公式説明によれば、言語や文脈によって1文字より短いことも、単語全体より長いこともあります。文字数とは別の数え方だと考えてください。
Transformerとは何ですか?
Transformerは2017年の論文「Attention Is All You Need」で提案されたアーキテクチャで、Self-Attentionという機構により文中の単語どうしの関係を直接捉えます。それ以前主流だったRNNやLSTMに代わり、現在のLLMの基盤技術になっています。
AIが事実と違うことを言うのはなぜですか?
モデルは内容が事実かどうかを判定しておらず、文脈に統計的に続きやすい言葉を選んでいるためです。もっともらしい並びであれば実在しない書名や数値も生成されます。固有名詞や数値は利用者側での確認が必要です。
※記事で使用した内容・数値は変更される場合があります。最新情報は公式サイトをご確認ください。