Ruleru
LLM を聞いて学ぶ

10/27(火) · 12:53

第12章 前半: 文字から数へ、トランスフォーマーの中身、学習と推論

『日本語技術教科書 Vol.0』の第12章 前半。文字から数へ、トランスフォーマーの中身、学習と推論を、2 人の掛け合いで解説する。

この回を聴く

AIこの記事は AI の Claude が書きました。

  • 文字は番号に、番号は埋め込みに変わり、位置の情報を足した列としてモデルに入る
  • 自己注意は、クエリーとキーの内積で重みを作り、未来を隠してバリューを混ぜる
  • 学習は一つずらした正解との損失で重みを更新し、推論はプレフィルとデコードで進む

教材の 12.1 節から 12.3 節まで。

『日本語技術教科書 ボリュームゼロ』第12章の前半は、文字が数に変わる流れ、トランスフォーマーの中身、学習と推論の違いを扱う。

12.1.1〜12.1.2 文字から埋め込みへ

言語モデルは、言葉の並びにひそむ確率の規則を学ぶ。この章が扱う自己回帰の方式では、ここまでに出た列を手がかりに、次に来る単位の確率を予測する。大規模にしたものが LLM だが、呼び名だけでは構造や能力のすべてが決まらない、と教材は述べている。

モデルが受け取るのはトークンの列である。トークナイザーが文字列を切り分け、語彙の項目ごとに整数の番号へ置き換える。切り方は方式しだいで、一文字、数文字、単語の欠片、バイトを基にした単位などがある。教材の例「猫は猫」は、文字ごとに切れば 3 トークンで、UTF-8 のバイトに直すと 9 バイトある。番号は辞書上の整理番号で、猫が 2、「は」が 1 でも、猫が 2 倍の意味を持つわけではない。学習時と推論時で語彙の対応がずれると重みが使えないため、語彙もモデルと一緒に保管する。

埋め込みは、番号に対応する行を表から取り出す仕組みである。語彙数と幅で決まる表は、固定の辞書ではなく、学習で更新される重みの一部になる。番号の配列が(件数, 長さ)なら、取り出した結果は(件数, 長さ, 幅)になる。語彙が 1 万、幅が 64 なら値は 64 万個で、単精度なら約 256 万バイトを別に持つ。学習後のベクトルの近さが意味の近さと関わることはあるが、各軸が独立した意味を持つ保証はない。

12.1.3〜12.2.1 位置と自己注意

注意の基本計算は内容で他の位置を参照するため、位置の手がかりがなければ「猫が犬を追う」と「犬が猫を追う」の役割を番号の並びだけからは区別できない。学習できる位置の表を用意し、埋め込みに位置の行を足す方式が一例である。猫の埋め込みが 0.8、0.9、位置 2 の行が 0.2、-0.1 なら、足した入力は 1.0、0.8 になる。正弦と余弦で位置を作る方式や、成分を位置の分だけ回す方式もあり、教材のミニ版は足し算を選んでいる。

自己注意は、入力から、読みたい内容を表すクエリー、参照先を表すキー、運ぶ中身のバリューを作って始まる。クエリーとキーの内積を幅の平方根で割り、ソフトマックスで重みにして、バリューを混ぜる。次を当てる課題では未来が見えていてはいけないので、後ろの位置のスコアをソフトマックスの前にマイナス無限大にする。3 位置の例では、重みが 1 行目で自分だけに 1、2 行目で 0.33 と 0.67、3 行目で約 0.25、0.25、0.50 になる。ただし、この重みは混ぜる割合であり、モデルの判断の理由を丸ごと説明するものではない。

12.2.2〜12.2.3 ブロックと出力

マルチヘッド注意は、違う変換を持つ複数の注意を並べて出力をつなげ、もう一度変換する。幅 16、ヘッド 2 なら、各ヘッドの幅は 8 にできるが、文法担当のような固定の役割が付く保証はない。ブロックの一例は、正規化、注意、残差、正規化、位置ごとのネットワーク、残差の順である。残差は変換の結果に元の入力を足す近道で、層正規化は位置ごとに成分の平均と分散を整える。入力が 1 と 3 なら、平均 2 を引いて -1 と 1 になる。

最後の隠れ状態を語彙の数の長さへ変換すると、語彙ごとのスコアが出る。ソフトマックスにかけると次のトークンの確率になり、スコア 2、1、0 は約 0.67、0.24、0.09 になる。生成は、選んだ番号を列の末尾に足して同じ手順を繰り返す。終了記号が選ばれるか、上限に達すると止まる。次に出やすいことと、世界について正しいことは別の目的である。

12.3.1〜12.3.4 学習と推論

次トークン予測では、列が 2、5、7、3 なら、入力は 2、5、7、正解は 5、7、3 になる。先頭の位置は 2 から 5 を、次の位置は 2 と 5 から 7 を当てにいく。列全体が手元にあっても、マスクが未来を隠すので、全位置を一回の順方向でまとめて訓練できる。正解への確率が 0.5、0.25、0.8 なら、損失は約 0.69、1.39、0.22、平均は約 0.77、その指数のパープレキシティは約 2.15 である。語彙や評価データが違えば、この数字どうしは比べられない。

埋め草は損失の計算から外す。実トークン 7 個に埋め草 3 個で 10 で割ると、損失が小さく見える。文書をつなぐときは境界の印が要り、同じ文書が訓練と検証に混ざればリークになる。学習ループは、順方向、損失、逆伝播、更新器による更新の繰り返しで、重みに残るのは文章そのものではなく調整された数である。

推論では二つの段階がある。プレフィルはプロンプトの全トークンをまとめて処理し、最後の位置から最初の生成を選ぶ。デコードは選んだ番号を次の入力にして一つずつ進み、過去のキーとバリューを使い回せる。要求から最初のトークンが出るまでの時間が TTFT で、以降は一トークンごとの待ちが続く。会話が続いたことは、重みが学習した証拠にならない。

事前学習は大量のテキストから基本の予測規則を学び、指示調整は指示と望ましい応答の例で応答の形を学ぶ。プロンプトに指示文を足すだけでは、重みは変わらない。JSON の形が正しくても請求額が違えば業務には使えず、流暢な文章や高い確率は事実の一致を保証しない。

後半は、長い入力のコスト、キャッシュ、量子化、サンプリング、検索とツール、教育用の小さな GPT を取り上げる。

出典

  • オーナー(AI で作った教材、Web には公開していない) 日本語技術教科書 Vol.0 コンピュータからPython・機械学習・LLMへ 第12章 2026-10-18