HOW LLMS GENERATE TEXT
AIは、こうして
言葉を紡ぐ
ChatGPTやClaudeが文章を書くとき、その内部では何が起きているのか。 大規模言語モデル(LLM)の頭の中を、5つのステップに分解して体感します。
はじめる ↓文章を、部品に分解するTOKENIZATION
モデルは文章を「文字」でも「単語」でもなく、トークンという単位で読みます。 よく使う言葉は1トークン、珍しい言葉は複数トークンに分割され、 それぞれに固有のID番号が割り当てられます。 モデルにとって文章とは、この数字の列にすぎません。
TOKENIZER PLAYGROUND
言葉を、数の座標に変えるEMBEDDINGS
トークンIDはただの背番号。モデルはそれを数千個の数値が並んだベクトルに変換します。 この変換が魔法の入口で、意味が近い言葉は、ベクトル空間でも近くに配置されます。 「言葉の意味」が、計算できる「距離」になるのです。
TOKEN → VECTOR
…実際のモデルでは、この後に 4,080 次元続く(全4,096次元)
SEMANTIC MAP — 4,096次元を2次元に圧縮した意味の地図
文脈を、読み解くSELF-ATTENTION
Transformerの心臓部。各トークンは「文中のどの言葉に注目すべきか」を計算し、
関係の強い言葉から情報を集めます。「眠って」が「猫」や「疲れて」を強く参照する——
この仕組みが何十層も重なって、文脈の理解が生まれます。
トークンにカーソルを合わせてみてください。
ATTENTION MAP — どの言葉が、どの言葉を見ているか
次の一語を、予言するNEXT-TOKEN PREDICTION
何十層もの計算を抜けた先で、モデルが出力するのはたった一つの答えではありません。 語彙にあるすべてのトークンに対する確率分布です。 そしてtemperature(温度)がこの分布の尖り方を変えます—— 低いほど堅実に、高いほど大胆に。スライダーを動かして確かめてください。
NEXT TOKEN PROBABILITIES
昔々、あるところに のつぎは… ?
P(token) = softmax( logits / T )
選んでは、繰り返すAUTOREGRESSIVE LOOP
確率分布から1トークンをサンプリングし、文章の末尾に追加。 その文章をもう一度モデルに入れて、また次の1トークンを選ぶ—— この単純なループの繰り返しだけで、文章は生まれます。 右のパネルで候補と確率がリアルタイムに見えます。temperatureを変えて何度も生成してみてください。
GENERATION PLAYGROUND — 擬似LLMによる物語生成
OUTPUT
CANDIDATES — 次トークンの候補