第2章 — 確率、トークン、テキスト
LLM Primer I: How Generative AI Works を章ごとに紹介するシリーズ、第2回です。前回(第1章)では、LLM の正体を「テキストの次に来るものを推測する装置」として整理しました。今日はその意味を、もう一段具体的に詰めていければと思います。
モデルが何かを見るより前に、目に映っているのは「数字」
多くのLLM入門が見過ごしてしまうのですが、モデルはあなたの書いた「言葉」を一度も見ていません。プロンプトがモデルの最初の層に届くまでに、テキストは「トークン」と呼ばれる小さな単位に切り分けられ、それぞれが数値に置き換えられているからです。
トークンは多くの場合、単語より短い単位です。「the」や「language」のような頻出語は1トークンに、長い単語や珍しい単語はもっと小さな部品に分かれます。たとえば「tokenization」は「token」+「ization」に分けられたりする。LLMの利用料金が単語数ではなくトークン数で測られるのも、同じ意味の文章を別の言語で書くと処理コストが2〜3倍に跳ねることがあるのも、根っこは同じです。
切り分けの仕組み — Byte Pair Encoding、WordPiece、その他いくつか — は、本書で丁寧に取り上げました。LLMのファミリーごとに採用しているスキームが違うので、コードや数式記号、非ラテン文字を扱うときに出力が思わぬ場所で崩れることがある。その理由の多くは、ここに行き着きます。
結局のところ「当てっこゲーム」
トークン化さえ済めば、モデルがやっていることは拍子抜けするほど単純に書けます。考えうるすべての「次のトークン」に、確率の分布を割り振ること。それだけです。「答え」を出すのでも、「正しいトークン」を選ぶのでもなく、「ここまでを踏まえると、それぞれの候補はどれくらい確からしいか」を並べる、というのが本来の仕事です。
「フランスの首都は」と入力すれば、次のトークンが「Paris」になる確率はかなり高くなり、「は」「位置する」「現在」などにも、もう少し控えめな確率が割り当てられます。モデルはそこから1つを選び — この選び方は「temperature」と呼ばれる設定の影響を受けます — 列に書き加える。そしてまた最初から、また、また。1トークンずつ進んでいきます。
本当に、それだけです。LLMがこれまで生み出してきたエッセイも、翻訳も、コードも、詩も、すべてはこのループが回り続けた結果でしかありません。計画もなければ、全体の設計図もなく、その都度「次の妥当なトークン」を出す以外の目的を持っていない。
第2章では、そんな単純な仕組みで「なぜ動いてしまうのか」にも紙幅を割きます。純粋な次トークン予測が、十分なスケールに乗ったとたんに「推論のように見えるもの」を生み出してしまう — これは決して自明な現象ではなく、現代AIにおける最も興味深い経験的発見のひとつかと思います。本書ではその理由を、丁寧に追いかけてまいります。
古いやり方と、新しいやり方
ニューラルネットワークが主役になる前、言語モデルはひたすら「数えて」いました。次の単語を予測したいなら、直前の2〜3語を見て、訓練コーパスの中でそれらが現れた場所を全部探し、「だいたい何が続いたか」を集計する。これでも、それなりに動きました。文法的に通る文章だって、ときどきは生成できる。とはいえ、致命的な問題がふたつあったのです。
ひとつ目はスパース性。コーパスがどれだけ大きくても、3語の組み合わせの大半は一度も登場しません。だからモデルは、ほとんどの並びについて「意見」を持ちようがない。ふたつ目は汎化です。「犬が猫を追いかけた」と「狼がウサギを追いかけた」が同じ構造をしていることは、人間ならひと目で分かる。でも、数えるだけのモデルにとっては、まるで関係のない別物。一方から得た知見は、もう一方にはひとつも転用できません。
ニューラル言語モデルは、組み合わせを暗記する代わりにパターンを学ぶことで、両方を一気に解きました。各トークンを数値の列 — Embedding — に写像して、その数値が列を通じてどう変換されるかを学ぶ。だから、似た構造の文には似た内部表現が立ち上がる。たとえ、モデルがそのどちらの文も見たことがなかったとしても、です。
「どれくらいうまく当てているか」を測る
第2章の締めは、よく耳にする2つの指標 — エントロピーとパープレキシティ。本書がここで時間をかけるのは、誤解されやすい数値だからです。式を見たことがある方には申し訳ないのですが、ごく短く言えば、こうなります。
エントロピーは「不確かさ」の量。モデルが「次に来るもの」に確信を持っていればエントロピーは低く、迷っていれば高くなります。パープレキシティは、その不確かさを、モデル同士で比べやすい数値に変換したもの。低いほど、モデルは見ているテキストに対して「あまり驚いていない」、つまり予測しやすい状態にある、ということです。
式を覚えていなくても、このイメージだけで読めるようになります。「モデルAはこのベンチマークでパープレキシティ4.2」と書いてあれば、頭の中で「位置あたり、それなりに筋のいい次トークンを4つくらい抱えながら推測している、まあまあ自信のある状態」と訳せばいい。50になっていれば、相当迷っている。これだけで、ほとんどの研究論文は読めるようになります。
第2章を通して、得られるもの
第2章を読み終えるころには、LLMの入出力ループを表すメンタルモデルが、実用的なレベルで手元に残ります。テキストを入れる、トークンに変える、確率を計算する、次のトークンをサンプリングする、繰り返す。なぜそのループが数学的に扱える形なのか、どこに限界があるのかも見えてくる。そして本書の残りや、ほとんどのLLM研究を読み進めるための語彙が一通り整います。
ここから先の章では、自然と次の問いが立ち上がります。モデルは「どうやって」その確率を作っているのか、内部で何が動いているのか。その話は、明日からです。
次回 — 第3章: 言語のためのニューラルネットワーク。 実際の作業をしている計算機構にズームインしてまいります。ニューラルネットワークはどんな組み立てなのか、過去の設計はなぜ言語に向かなかったのか、そして「数十億のパラメータを学習させる」とは何をしていることなのか。