15. AIはどうやって文章を作るの?「次トークン予測」のしくみ

スポンサーリンク

ChatGPTやClaude、Geminiみたいなチャットボットって、どうやって返事を作ってるんだろうって思ったことありませんか?実は、その裏側にはシンプルだけど超強力なメカニズムが働いているんです。

それが「次トークン予測(Next-Token Prediction)」。ファインチューニング(モデルのカスタマイズ)を理解する上で、この概念は絶対に外せません。今回は、この核心的な仕組みを、初心者の方にもわかるようにじっくり解説していきますね。

大きなアイデア:AIは「次に来る言葉」を予測してる

まず、身近な例から始めましょう。スマホで文字を打つ時、次の単語を予測してくれる機能、使ったことありますよね?

例えば「今日は天気が」って打つと、「良い」「悪い」「いい」みたいな候補が出てきます。あれ、実は言語モデルが使ってる技術の小型版なんです!

AIの言語モデルも、基本的には同じことをしています。「The cat sat on the…(猫は…の上に座った)」というテキストがあったら、次に来る言葉として「mat(マット)」を予測する、みたいな感じです。

でも、実際にはもっと複雑なことが起きています。

実は5万個の選択肢から選んでいる

「matって予測する」って言うと簡単に聞こえますが、実際にモデルの中では何が起きているかというと…

モデルは、語彙の中のすべてのトークン(約5万個!)について、それぞれの確率を計算しているんです。

「トークン」って何?って思いますよね。トークンは「言葉のかけら」です。単語全体のこともあれば、単語の一部(「running」を「run」と「ning」に分けるとか)、記号のこともあります。

例えば「The cat sat on the…」の次に来るトークンとして、モデルはこんな風に確率を計算します:

  • 「mat」:85%
  • 「floor」:8%
  • 「roof」:3%
  • 「chair」:2%
  • 「mitochondrion(ミトコンドリア)」:0.0001%
  • 「chemistry(化学)」:0.0001%

…みたいな感じで、意味不明なものまで含めて全部!そして、最も確率が高いもの(この場合は「mat」)を選ぶか、あるいは確率分布からランダムに選ぶんです。

視覚化するとこんなイメージ:

[入力テキスト] → [モデル] → [5万個のトークンそれぞれの確率] → [1つ選ぶ]

この「どのトークンが次に来るべきか」という単純な分類決定が、ファインチューニングやAIの学習すべての核心なんです。

分類から生成へ:自己回帰ループって何?

「1つのトークンを予測する」のはわかった。じゃあ、どうやって長い文章を作るの?って疑問が湧きますよね。

答えは「自己回帰(じこかいき)ループ」です。難しそうな言葉ですが、やってることは超シンプル。

自己回帰 = 自分の予測した結果を、次の入力に使う

例を見てみましょう:

ユーザー: フランスの首都は何ですか?
アシスタント:

モデルの予測プロセス:

  1. 「フランスの首都は何ですか?」を見て → 「The」を予測
  2. 「フランスの首都は何ですか?The」を見て → 「capital」を予測
  3. 「フランスの首都は何ですか?The capital」を見て → 「of」を予測
  4. 「…The capital of」を見て → 「France」を予測
  5. 「…The capital of France」を見て → 「is」を予測
  6. 「…The capital of France is」を見て → 「Paris」を予測

こんな風に、1トークンずつ、自分の出力を次の入力に加えながら予測していくんです。まるで、自分のしっぽを追いかける猫みたいですね!

ここで重要なポイント

モデルは「先を計画」していません。常に「今までのすべて」を見て、「次の1トークンだけ」を予測しているだけ。未来の文章全体を頭の中で組み立ててから出力する、なんてことはしていないんです。

だからこそ、このプロセスは強力であると同時に脆弱でもあります。1つ間違った予測をすると、その後の文章全体がおかしくなる可能性があるんですね。

なぜ同じ質問で違う答えが返ってくるの?

ChatGPTに同じ質問を2回して、微妙に違う答えが返ってきた経験、ありませんか?「あれ、さっきと違うこと言ってる…」って。

これは「確率的サンプリング(かくりつてきサンプリング)」という仕組みのせいなんです。

実は、モデルは常に「最も確率が高いトークン」を選ぶわけじゃありません。時々、2番目や3番目に確率が高いものも選びます。これにより、文章にバリエーションが生まれるんです。

人間の作家も同じですよね。「速い」って言いたい時、「素早い」「迅速な」「速やかな」など、状況に応じて言葉を選びます。AIも同じように、ちょっとしたランダム性を持たせることで、より自然で多様な文章を生成できるんです。

これは「Temperature(温度)」「Top-k」「Top-p」などのパラメータで制御されます。この辺りは、後のレッスンで詳しくやるので、今は「AIには意図的なランダム性が組み込まれている」ってことだけ覚えておいてください。

重要な真実:AIは「推論」してない、「パターンマッチング」してる

ここで、多くの人が誤解しがちなポイントを話します。

ChatGPTが論理的な説明をすると、「このAI、賢いな〜、ちゃんと考えてる!」って思いますよね。でも実は…

AIは「考えて」いません。パターンをマッチングしているだけです。

モデルが数学の問題を段階的に解くとき、実際に計算を理解しているわけじゃないんです。「何百万もの数学の解答例」を学習データで見てきて、そのパターンを学んだ結果、「こういう問題にはこういう手順で答える」というパターンを再現しているだけ。

例えば:

問題:「5個のリンゴを持っていて、3個あげました。残りは何個?」

AIの内部プロセス(簡略化):
「『〜を持っていて、〜あげました。残りは?』というパターンを見た。このパターンには『引き算』が続くことが多い。5 – 3 = 2。だから答えは『2個』」

本当に「5個から3個減る」という概念を理解しているわけじゃなく、似たようなテキストのパターンから学んだ結果なんですね。

これがファインチューニングで重要な理由

ファインチューニングは「新しい推論能力を教える」んじゃありません。「どのパターンを再現するか」を形作っているだけ。だから、質の高いデータで正しいパターンを見せることが超大事なんです。

ファインチューニングはこの仕組みの延長線上

ここまで読んで、「じゃあファインチューニングって何が変わるの?」って疑問が湧きますよね。

答えは:学習アルゴリズムは変わらない。学習する「データ」が変わるだけ。

ファインチューニングでも、モデルは「次トークン予測」を続けます。変わるのはこの3つ:

  1. データ形式
    • 事前トレーニング:ネット上のあらゆるテキスト(ニュース、ブログ、論文など)
    • ファインチューニング:構造化されたデータ(命令と回答のペア、対話形式など)
  2. マスキング戦略
    • どの部分を「学習対象」にするか制御します(次のレッスンで詳しく!)
  3. スケール
    • 事前トレーニング:数兆トークン
    • ファインチューニング:数千〜数百万の厳選された例

料理人の例えで考えてみましょう

すでに料理の基本(包丁の使い方、火加減など)を知っているシェフがいます。ファインチューニングは、「包丁の持ち方を再び教える」んじゃなくて、「フレンチからイタリアンへの新しい料理を教える」ようなもの。基本スキルは同じだけど、作る料理が変わるんです。

モデルも同じ。「次トークンを予測する」という基本スキルは変わらないけど、「どんなパターンを学ぶか」が変わるんですね。

まとめ:この基礎がすべての土台

この「次トークン予測」という概念、めちゃくちゃ重要です。なぜなら:

  • すべてのトレーニングステップがこれに基づいている
  • すべてのファインチューニング実行がこれを使っている
  • 後で見る損失曲線(モデルの学習進捗を示すグラフ)もこれを測定している

次のレッスンでは、さらに深く掘り下げていきます:

  • モデルが「予測が正しいか間違っているか」をどう測定するのか(損失関数)
  • 「マスキング」というテクニックで、学習対象を制御する方法
  • これらがファインチューニングでどう活用されるのか

これらを理解すると、ファインチューニングの実践的なビルディングブロックが全部見えてきます。同じ学習アルゴリズムを、よりスマートで焦点を絞った方法で使うだけなんです。

準備はいいですか?次のレッスンで、さらに深いメカニズムに踏み込んでいきましょう!

コメント

タイトルとURLをコピーしました