HOW LLMS GENERATE TEXT

AIは、こうして
言葉を紡ぐ

ChatGPTやClaudeが文章を書くとき、その内部では何が起きているのか。 大規模言語モデル(LLM)の頭の中を、5つのステップに分解して体感します。

はじめる ↓
SCROLL
STEP 01

文章を、部品に分解するTOKENIZATION

モデルは文章を「文字」でも「単語」でもなく、トークンという単位で読みます。 よく使う言葉は1トークン、珍しい言葉は複数トークンに分割され、 それぞれに固有のID番号が割り当てられます。 モデルにとって文章とは、この数字の列にすぎません。

TOKENIZER PLAYGROUND

STEP 02

言葉を、数の座標に変えるEMBEDDINGS

トークンIDはただの背番号。モデルはそれを数千個の数値が並んだベクトルに変換します。 この変換が魔法の入口で、意味が近い言葉は、ベクトル空間でも近くに配置されます。 「言葉の意味」が、計算できる「距離」になるのです。

TOKEN → VECTOR

…実際のモデルでは、この後に 4,080 次元続く(全4,096次元)

SEMANTIC MAP — 4,096次元を2次元に圧縮した意味の地図

STEP 03

文脈を、読み解くSELF-ATTENTION

Transformerの心臓部。各トークンは「文中のどの言葉に注目すべきか」を計算し、 関係の強い言葉から情報を集めます。「眠って」が「猫」や「疲れて」を強く参照する—— この仕組みが何十層も重なって、文脈の理解が生まれます。
トークンにカーソルを合わせてみてください。

ATTENTION MAP — どの言葉が、どの言葉を見ているか

STEP 04

次の一語を、予言するNEXT-TOKEN PREDICTION

何十層もの計算を抜けた先で、モデルが出力するのはたった一つの答えではありません。 語彙にあるすべてのトークンに対する確率分布です。 そしてtemperature(温度)がこの分布の尖り方を変えます—— 低いほど堅実に、高いほど大胆に。スライダーを動かして確かめてください。

NEXT TOKEN PROBABILITIES

昔々、あるところに のつぎは… ?

temperature
堅実大胆
T=1.0

P(token) = softmax( logits / T )

STEP 05

選んでは、繰り返すAUTOREGRESSIVE LOOP

確率分布から1トークンをサンプリングし、文章の末尾に追加。 その文章をもう一度モデルに入れて、また次の1トークンを選ぶ—— この単純なループの繰り返しだけで、文章は生まれます。 右のパネルで候補と確率がリアルタイムに見えます。temperatureを変えて何度も生成してみてください。

GENERATION PLAYGROUND — 擬似LLMによる物語生成

temperature T=0.8

OUTPUT

CANDIDATES — 次トークンの候補

RECAP

5つのステップ、ふりかえり

STEP 01トークン化文章をトークンに分割し、ID番号の列にする。
STEP 02埋め込み各トークンを「意味の座標」= ベクトルへ変換。
STEP 03アテンション各トークンが文中の関連語に注目し、文脈を獲得。
STEP 04確率分布次に来るトークンの確率を全語彙にわたって計算。
STEP 05ループ1つ選んで追記し、再びSTEP 1へ。文章が育つ。
NEXT

画像生成編 — ノイズだけの画像から、拡散モデル(Diffusion)が一歩ずつ絵を彫り出していく過程を体感。

画像生成編へ →