「次単語予測」だけじゃ説明がつかない?LLMの仕組みを正しく理解するメンタルモデル
“Next-token predictor” is the wrong mental model for LLMs
“Next-token predictor” is the wrong mental model for LLMs
世間ではLLM(大規模言語モデル)を単なる「次単語予測器(Next-token predictor)」と呼ぶことが多いですが、実はそれだけではモデルの挙動を説明しきれないという議論が活発になっています。このメンタルモデルはモデルの動作の一面を捉えてはいるものの、推論能力や複雑なタスクをこなすプロセスを過小評価している可能性があります。本質的には、LLMは静的な統計モデルというよりも、よりダイナミックな推論エンジンとして捉えるべきではないでしょうか。
もっとしっくりくる表現があるかも:
現在のエージェントシステムは、概念的には単純な「次トークン予測器」から構築されているかもしれない。しかし、エージェントフレームワーク、再帰的な呼び出し、ツール利用、そして特定のアプリケーションに向けた強化学習への多大な投資によって、もはや単なる「次トークン予測器」とは見なせなくなっている。
現代のエージェント開発は、純粋に新しい技術というよりは、「単純なルールと複雑な相互作用から生まれる創発的システム」というパラダイムに近いね。
2番目のシステムを「次の一手予測器」と呼ぶのは変だ。データセットに次に出現する手を予測しているわけではなく、勝てる手を選ぼうとしているからだ。
この区別がいまいちピンとこない。勝利状態のセットから逆算して動くのと、現在の状態から順方向に動くので、何かが「予測」であるかどうかが変わるものなの?
正直言って、記事が言いたいことは理解できるし、ある程度同意もするけど、その主張の仕方はあまり上手くないと思う。
理解した限りでの核心部分は、LLMが学習データだけでなく新しいデータも使っているという点だね。それはいいことだし、LLMが単に学習したデータを継ぎ接ぎして平均を出力しているだけだと決めつけるのは短絡的だ。でも、それでも自分なら「次トークン予測器」と呼ぶかな。
学習データだけを使っているわけじゃないにしても、やっていることは解決策に到達するために次のトークンを予測することだよね。素人の知識で言わせてもらえば、LLMは今でも大まかにはトークン単位で進んでいて、コンテキストに基づいてどれが最適か判断しているはず。
学習データに基づく予測ではなく、RLVR(強化学習)などを用いて最適な解(最適であり得る限り)に到達しようとしているに過ぎない。
LLMを理解し、扱う上では、この点をしっかり意識しておくことが役に立つと本気で思ってるよ。
「次トークン予測器」というメンタルモデルは確かに制限があるけれど、他のどのモデルよりもずっと優秀だよ。
「推論」という言葉が持つニュアンスは強すぎるから、「パターンマッチング」と捉えるほうが直感に近い気がする。もちろん、文脈的に「推論」という言葉を使っても全く問題ないけどね。
AIの限界を説明するなら「パターンを認識していない」という表現が一番しっくりくる。結局のところ汎化性能が全然足りていないからだよ。記事で語られているような適応技術を使っても、本質的には変わらないね。
あれらは機能の拡張じゃなくて、単なる変異にすぎない。
事前学習の性質を「次トークン予測」と呼ぶのも、あまり適切だとは思わないな。
各位置における中間表現は、単に次のトークンを予測するためだけでなく、トレーニングコンテキスト内のそれ以降の全トークンを予測するのにも役立つよう最適化されているからだ。
これはバックプロパゲーションを見れば一目瞭然。位置 i の表現に到達する勾配は、トークン i+1 の損失だけでなく、それ以降のすべてのトークンの予測損失からの貢献を合計したものになっている。
Claudish(Claudeっぽい文章)で書かれてるね。あるいは、最近Claudishを読みすぎた人間が書いたのかも。自分もそろそろClaudishアレルギーになりそう。完全に拒絶反応が出るわけじゃないけど、そろそろ真剣に議論して、正確に言葉を選ぶべき分岐点に来ている気がするよ。
記事が自らの主張を骨抜きにするような内容だからといって、私が正確な説明を放棄するつもりはない。LLMについて語る際の用語を狭く限定しても、何一つ助けにはならないしね。
追記:もう少し柔らかい表現に直しました。
LLMがよくやるミスとして、イディッシュ語の「schmutz」を探そうとして画面に「schmuck」と出たことがある。なんでそんなアホなミスをするんだ?と思ったけど、「次トークン予測器」というモデルなら完璧に説明がつくね。
あるいは、最初に「はい」と答えてしまうケース。早い段階で「はい」と決めつけてしまったせいで、その後の議論で「そう見えるかもしれませんが、理由を挙げると全く違います」みたいな矛盾が生じる。最初から「いいえ」と書くべきだったのに、自己修正ができなかったんだな。
でも、こうやって視点が広がったのは面白いね。自分の先入観をアップデートする必要があるかもしれない。
「次トークン予測器」という言葉が、推論ステップのごく一部しかこなせないという根本的な限界を意味するなら、それは二重に間違っているよ。
まともな文章の最初の単語を選ぶ時点で、すでにその後に続く構造や意味をどこかに(主に重みや活性化、あるいは状態ベクトルによってインデックスされた形で)保持している必要がある。
LLMを使う際に見ているのは、プロンプト直後の単一トークン予測じゃない。プロンプト内の問題に対して進捗を生み出し、結果を要約するまでに行われた、様々な長さの「次トークン予測のブロック」の結果なんだ。
2番目のシステムを「次の一手予測器」と呼ぶのは変だ。データセットに次に出現する手を予測しているわけではなく、勝てる手を選ぼうとしているからだ。
これからの1000年は、「勝ち」というものをどれだけ慎重に定義できるかにかかっている気がする。