大きな画面での利用をおすすめします — アニメーションと操作がより快適になります。
入力

次の token の予測

自己回帰言語モデルは、入力 token 列から語彙全体の確率分布を出します。デコード規則が一つを選んで接頭辞に追加し、また予測します。GPT-2 の分布は 50,257 項目です。本課では毎回最大確率を選ぶ貪欲デコードを使います。

The capital of France is を渡しても、GPT-2 が直接「Paris」と答えるわけではありません。首位は the、確率は 0.0846。 Paris は 0.0322 で五位、 now、 a、 France より下です。先頭空白も token の一部で、画面では ·the と示します。確率質量の約三分の二は表示する八候補の外にあります。流暢な文と予測の確信度は別です。

仕組み

Transformer は接頭辞の各位置の表現を作ります。次の token を予測する際は、最後の位置のベクトル h を選びます。GPT-2 small では 768 次元です。50,257 × 768 の出力行列 W_u を使い、

logits = h · W_uᵀ

で全 token の logit を求めます。Softmax が和 1 の確率へ変換します。数値安定化では最大 logit を引いてから指数を計算できます。

モデルは埋め込みの参照を行いますが、この例に外部検索や「地理の質問」と判定する専用分岐はありません。行列積で全候補を採点します。今回の上位には文法上続けられる語が多くあります。ただし、この順位だけから学習上の原因は特定できません。

同じ分布を二通りに使えます。

  • 既存の文章を採点する。 各位置で実際の次 token の確率を読み、−log₂(p) を平均します。学習ではこの負の対数尤度を目的として重みを更新します。本課は固定されたスコアを表示するだけで、ブラウザ内で学習しません。因果モデルの一回の全系列 forward pass で複数位置をまとめて採点することもできます。
  • 文章を生成する。 argmax(p) を接頭辞に追加して次へ進みます。モデルは自分の出力を読み始めます。

Teacher forcing は実際の系列 ids から次 token を受け取り、貪欲生成は argmax(p) に置き換えます。モデル、行列、softmax は同じで、次の入力を誰が選ぶかが異なります。

ステップごとの例

初期文は The capital of France is Paris.。五つの token の後で生成へ切り替えます。分割結果は七つです:The、 capital、 of、 France、 is、 Paris、.。

第 1 幕:一回の予測を分解する

先頭五つから 768 次元の h を取り、50,257 個の logits と確率を計算します。画面は八候補、表はそのうち上位五つです。logit は首位が +0.00 になるよう共通の定数を引いています。確率は変わりません。

順位token確率平行移動後の logit
1 the0.0846+0.00
2 now0.0479−0.57
3 a0.0462−0.61
4 France0.0324−0.96
5 Paris0.0322−0.96

八候補の合計は 32.02%、残る 50,249 候補は 67.98% です。裾のメーターは合計質量を示し、九番目の token を表すものではありません。全分布のエントロピーは 8.65 bit。約 2^8.65 ≈ 402 個の等確率候補と同じエントロピーですが、実際の分布は一様ではありません。

第 2 幕:実際の文章を採点する

位置接頭辞の末尾実際の次 token確率順位情報量(bit)
0The capital0.00011,41213.08
1 capital of0.164212.61
2 of France0.0065147.26
3 France is0.121623.04
4 is Paris0.032254.95
5 Paris.0.261221.94

確率は丸めた表示で、情報量は丸め前の値から求めます。The しかない位置では capital が 1,412 位、13.08 bit です。学習目標は上位の予測ではなく実際の token を採点し、最適化ではその確率を上げるための勾配を使います。

六位置の平均は 5.4797 bit/token、パープレキシティは 2^5.4797 = 44.62。対象文の平均情報量に対応する等価な選択肢数であり、各位置に等確率の 45 候補があるという意味ではありません。

第 3 幕:生成ループ

先頭五つを残し、argmax を十二回追加します。

the capital of the French Republic, and the capital of the

十二 token で文は終わらず、名詞句を繰り返しています。平均は 1.9445 bit/token。ステップ 2 と 10 では the capital の後の of が 0.11、0.09 bit です。高確率という意味であり、他の続きが不可能なわけではありません。

第 4 幕:何を比較できるか

二つの平均 5.48 と 1.94 は開始位置、長さ、続きが違います。比率 2.82× を貪欲デコードの効果量とは呼べません。実文側には冒頭の 13.08 bit が含まれます。切替後だけを採点すると 3.45 対 1.94 になりますが、それでも異なる系列です。

直接比較できるのは切替点です。同じ接頭辞、同じ forward pass、同じ確率分布で、実際の Paris は 4.95 bit、貪欲な the は 3.56 bit。argmax は最大確率なので −log₂(p) が最小です。この一歩ごとの関係は常に成立します。異なる軌跡の平均差や方向は保証されません。

ステップ 0–3 と 8–11 はどちらも the capital of the です。十二ステップ内の句の反復は示せますが、状態の循環や無限ループは証明できません。接頭辞全体は伸び続けています。

局所的な最小情報量と文章の質

作者は名前、事実、同義語などを選びます。モデルは接頭辞からその選択を予知できるとは限りません。 France が 14 位、 capital が 1,412 位という結果は、このモデルにとって実際の選択の情報量が大きいことを示します。

貪欲法は各分布で情報量が最小の項を選びます。それでも高エントロピーの領域に進む場合があり、別の実文より系列平均が低い保証はありません。自己生成文のパープレキシティはモデル、デコーダ、接頭辞の組合せを表し、文章の質そのものではありません。

counting プリセットは 1, 2, 3, 4, 5, 6 を三 token 後で切り替えます。実際の次 token と argmax は同じ ,、どちらも 1.45 bit です。切替点の差はゼロでも、系列平均では 2.77× の差が出ます。主に冒頭と後半の難しさ、集計範囲の違いによるものです。同じ分布での一歩の比較と、異なる区間の平均比を分けて読みます。

貪欲法は同じような句を繰り返し選ぶことがあります。温度、Top-k、Top-p は選択を変えますが、反復を必ずなくすわけではありません。句が二回現れても接頭辞全体が同じ状態に戻ったとはいえません。

境界ケース

  • 実際の token が図の外にある。 六位置のうち二つは上位八候補の外、一つは 1,412 位です。専用カードで残します。上位八つは分布の一部にすぎません。
  • 確率が集中する場合。 計数プリセットの Position 9(実際の token は 6)では確率が 0.9096、エントロピーは 0.98 bit です。この記録は数え続けますが、あらゆる長さの実行を保証しません。確信度は接頭辞に依存します。
  • 文末で切り替える。 全文を接頭辞にしたら、比較対象の実際の次 token はありません。モデルはピリオドの後も続けます。一部の記録では既読内容を約 1.00 の確率で繰り返しますが、全ての文末に共通する挙動ではありません。
  • 流暢でも誤る。 Water boils at 100 degrees Celsius at sea level. を三 token 後で切り替えると about 1,000 degrees Fahrenheit と出します。海面付近での正しい値は約 212 °F = 100 °C です。低い情報量は真実を保証しません。華氏や摂氏の目盛りの比で誤差の倍率を述べるのも不適切です。

よくある間違い

  • モデルが一単語を出すと思う。まず 50,257 項のスコアと確率を出し、規則が token を選びます。
  • 八本の棒を全分布と読む。今回は裾が 67.98%。エントロピーは全語彙で計算します。
  • 順位だけを読む。 Paris と the の確率差は約 0.05 です。順位だけでは差の大きさが分からず、別の接頭辞は確率と順序の両方を変え得ます。
  • 低パープレキシティを良文とみなす。反復文が低い値を取る場合はありますが、全反復で保証されず、有用性や真実性も示しません。
  • 呼出し間に独立した記憶があると思う。この例は入力文脈と整合するキャッシュに依存します。token の削除は文脈を変えますが、その情報が後続文に残る場合もあります。

簡略化の範囲

表示は GPT-2 small(124M パラメータ、2019 年の基盤モデル)の実際の forward pass をオフラインで書き出したものです。ブラウザ内で推論や学習はしません。指示チューニングはなく、学習方式とデコードの両方が反復に影響します。サイズだけで反復の有無は決まりません。

純粋な貪欲 argmax を使い、温度、Top-k、Top-p、反復ペナルティは省略します。これらはデコード戦略の課で扱います。十二 Transformer ブロックを一枚にまとめ、50,257 項中八項を描きます。KV キャッシュも省略しています。実装では過去の key/value を再利用して接頭辞の再計算を避けますが、token ごとの計算と利用可能な文脈への注意参照は残ります。

情報量は bit(底 2)なのでパープレキシティは 2^(bit/token)。Softmax と交差エントロピーの課は nat(自然対数)を使います。同じ種類の量で、1 nat = 1.4427 bit です。