チャプター 01 · 基礎 · 6 min

一度に一語を予測する

言語モデルとは何か?次の単語を予測することだけで知性が生まれる理由。

最大の驚き

現代のAIで最も不思議なことは、大規模言語モデル(LLM)が行うすべてのことが、たった一つの能力に基づいているということだ——次の単語を予測すること。

文章の冒頭を与えてみよう:

「空が青いのは……」

モデルは、自身が知っている何千もの単語の中から、次に来る可能性が最も高い単語を計算する。そして、この新しい単語を加えて同じことを繰り返す。また繰り返す。それだけだ。

この小さく機械的な操作から、他のすべてが生まれる——翻訳、要約、コード、量子物理学の説明、冗談、詩。

なぜうまくいくのか

次の単語をうまく予測するには、世界について膨大な量の知識が必要だ。

こんな文章を考えてみよう:

「医師は看護師を解雇した。なぜなら彼女は……」

続きを予測するには、「彼女」がおそらく医師ではなく看護師を指すことを知る必要がある——文法、文脈、さらには医療の職場の社会的慣習まで理解しなければならない。

単語を予測することは、それらの単語を生み出した世界をモデル化することだ。

これが核心的なアイデアだ。大規模な人間のテキストを予測するようシステムに強制することで、そのテキストを生み出した世界の仕組みを暗黙的に学ばせることができる。

一つの単語ではなく、分布

「モデルが次の単語を予測する」というのは省略表現だ。実際には、各ステップで語彙全体にわたる確率分布を生成する——すべてのトークンにスコアが付き、合計が1になる。

テキストを生成するには、この分布から選択しなければならない。ここが面白いところだ。同じモデル、同じプロンプトでも、使うサンプリング戦略によって全く異なるテキストが生成される。

各ステップで、モデルは語彙のすべてのトークンに対して確率分布を出力する。最も高いバーが唯一の妥当な候補であることはまれで、これがテキストの続きを機械的でなく開かれたものにしている。

上の3つのレバーで遊んでみよう:

  • Temperature(温度)ソフトマックスの前にロジットを割る。低い温度(0.1〜0.3)では、分布が最も可能性の高い候補に集中し、モデルは予測可能でほぼ決定論的になる。高い温度(1.5〜2.0)では分布が平坦になり、珍しい選択肢が再び現実的になる。
  • Top-kk個の最も確率の高い候補だけを残し、確率の低い長い裾を除外する。
  • Top-pニュークリアスサンプリング)— 累積確率がpを超える最小セットを残す。Top-kよりも賢い——あるステップに明確な答えがある場合、pは候補を1つに絞れる。モデルが20の近い選択肢で迷っているなら、すべてを残す。

首都プロンプトを試してみよう。分布が東京に非常に集中しているため、temperatureはほとんど効果がない——他の選択肢にチャンスが生まれるには1.8以上が必要だ。モデルは確信している。

逆に、プロンプトの2番目のステップでは、複数の続き(青い……)が可能だ——そこでtemperatureが本当に結果を変える。

すべてを動かすループ

LLMが行うすべてのことは、このループに収まる:

  1. コンテキスト(すでに存在するトークン)を読む。
  2. 次のトークンの確率分布を生成する。
  3. この分布からトークンをサンプリングする。
  4. コンテキストに追加して繰り返す。

機械的で、反復的で、説明するには退屈なくらいシンプルだ。しかし、何百億ものパラメータを持つモデルで何十億回も実行されると、このループはダイアログ、デモンストレーション、コンパイルされるコードを生み出す。

このサイトの計画

旅路は4つのパートに分かれている。最も機械的なものから、最も完成されたものへ。

I. モデルの解剖。 機械を分解する。トークン化、埋め込み、アテンション、トランスフォーマー——テキストがどうやって変換可能なベクトルの列になるのか。

II. 学習とアライメント。 何十億ものパラメータがどうやって学ぶのか。ロス、勾配、サンプリング、RLHF——ランダムなモデルから役に立つアシスタントへ。

III. 本番環境のモデル。 ChatGPTやClaudeにプロンプトを送ったときに何が起きているのか。コンテキストウィンドウ、RAG、エージェント——LLMを日常的に使えるものにするインフラ。

IV. さらに深く。 現在の研究を占めるテーマたち。ファインチューニング、マルチモダリティ、拡張された推論、スケーリング則、解釈可能性、拡散——この先がどこへ向かうのかを理解するために。

各章には少なくとも1つのインタラクティブな可視化が含まれている。目標は数式を暗記させることではなく、内部で何が起きているかについての機械的な直感を与えることだ。

さあ、始めよう。

更新日

次の単語を予測し続ける · Step by Token