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

デコーディング戦略

デコーディングは再学習せず次 token のスコアから結果を選びます。Greedy は最大、Top-k は固定数、Top-p は累積確率が閾値に達する候補から抽出します。温度が集中度を変え、同じスコアでも規則次第で違う token になります。

[0,1) の定規を確率比例の区間へ分け、一様な乱数の印が落ちた token を選ぶと考えてください。フィルタで区間を除き、残りを同比率で全長へ伸ばすと、同じ印でも別 token に入ります。

温度、選別、正規化

固定 prefix の GPT-2 は 50,257 logit を出します。T > 0 で:

p_T(i) = exp((z_i − max(z))/T) / Σ_j exp((z_j − max(z))/T)

最大値を引くと数学上の確率を変えず指数を安定させます。低温は集中、高温は拡散し、正の温度は固定 logit の順位を変えません。

Greedy は最大 logit で乱数不要です。一意の最大は全正温度で同じ。本課の同点は小 token ID を優先します。

Top-k は先頭 k、Top-p は順位順に足し、初めて到達または超過した時点で止め、越えた token も含みます。p は質量で、候補数でも個別確率の閾値でもありません。

保持集合 S の質量 M = Σ_(i in S) p_T(i) に対し:

q(i) = p_T(i)/M(保持項)、それ以外は 0。

全定規を覆い、相対オッズは変えません。残った確率が不均等なら、印が一様でも候補は等確率でなく、広い区間が選ばれやすくなります。両方式は全温度分布から別々に始め、Top-k の後へ Top-p を隠れて適用しません。Transformers 生成パラメータと核サンプリング論文を参照してください。

ステップ実行

prefix は原文 The colors of the rainbow are red, orange, yellow,、T = 1、k = 3、top-p = 0.8、シード 41。実 GPT-2 の値で、· は先頭空白を示します。

順位tokenモデル確率累積
1·blue0.2265760.226576
2·and0.2183360.444912
3·green0.2103560.655268
4·purple0.0599700.715238
5·yellow0.0391740.754412
6·pink0.0326880.787099
7·orange0.0255920.812691
8·black0.0248900.837581

残る 50,249 は約 0.162419 で全計算に参加します。blue の首位は調べるべきモデル出力で、虹の順序の正しさを示しません。

  1. Greedy:首位 ·blue。k、p、シードは使いません。
  2. Top-k:三候補の質量 0.655268、除外 0.344732。正規化前は定規の末尾に合法候補がないため、質量で割り、blue、and、green を約 0.345777、0.333200、0.321023 にします。
  3. 印を置く:最初の u = 0.8510142471641302。順位順区間で green は約 [0.678977,1)、したがって ·green。長さが約 32.10% の確率です。
  4. Top-p:六項は 0.787099 < 0.8、orange を加えて 0.812691 なので七項です。正規化した purple 区間は約 [0.806294,0.880085) で、同じ u が ·purple を選びます。

同スコア、同乱数で blue、green、purple となり、違いはデコーダです。

最後は同じ prefix の独立抽出試験を十二回並べ、十二語の続きではありません。各列の両サンプラは u を共有するため方式間は結合され、方式内の次試験は新しい擬似乱数です。Greedy は常に blue。十二回では経験頻度が理論確率に一致した証拠にはなりません。

固定個数と固定質量

既定 prefix、p=0.8 で温度 0.5、1、1.5、2 の核は 3、7、352、6,340 token。順位は同じでも尾部へ広がり、質量を満たす個数が増えます。

T = 1 で 1, 2, 3, 4, 5, に変えると ·6 は約 0.909493、一項で 0.8 を超え、Top-p も決定的です。The capital of France is は同閾値に 502 項必要。Top-k はどちらも k です。

目的制御固定されるもの
常に最大Greedy固定 prefix の選択は種子に依存しない
候補数を固定Top-k分布が変わっても k 項
集中度で候補数を変えるTop-p累積質量の閾値
選別前のオッズを変える温度固定 logit の順位

k=1 では温度を上げても唯一の候補が全区間を占めます。変化が欲しければ k を増やします。比較は prefix と種子を固定します。どの規則も正しい事実を保証せず、高温は創造性や品質改善の測定でもありません。

計算量

語彙 V の最大探索は O(V)。本課は全順位を O(V log V) で作り、確率、質量、累積区間は時間・空間 O(V)。表ができれば各印は二分探索 O(log |S|) です。

固定 prefix の順位は正温度間で再利用できます。全ソートは本実装の選択で、専用 Top-k は別法もあります。実際の生成は追加 token で prefix が変わり、新しいモデル順伝播が必要ですが、この後処理費用に含みません。

境界ケース

  • k=1:元確率が低くても q=1 で、温度は除外した候補を戻せません。
  • p が首位確率より低い:Top-p も一候補で、Greedy でなくても決定的です。
  • 累積が等しい:直ちに停止し、未満なら次を含めます。
  • p=1、k=V:それぞれ全語彙を保持し、同じ印なら同選択です。並列比較で、直列フィルタではありません。
  • 表示八項の外:実 token、順位、区間を表示し、「その他」という架空 token を抽出しません。
  • 同点:本課は ID 順で、他ライブラリの厳密な境界規約は異なりえます。
  • T=0:この式の除数として無効です。UI は正数にし、決定規則は明示的 Greedy です。

よくある間違い

  • p=0.8 を各項 80% 超と読む。順位 prefix の累積です。
  • 越えた項を捨てる。既定の七位を外すと 78.71% で 80% を満たしません。
  • 選別後に候補を一様抽出する。同比率の正規化であり 1/|S| ではありません。両者が一致するのは、残った確率がすべて等しいとき(k = 1 の単一候補など)だけです。
  • 可視八本だけを正規化して尾部を消す。全 50,257 項を使います。
  • 十二抽出を生成文と読む。実続きは選んだ token を毎回モデルへ戻します。次 token 予測で扱います。

モデルの範囲

三つの実 GPT-2 順伝播からの完全 logit と、revision・書出しメタデータを使います。ブラウザはモデルを読み込まず解読だけを倍精度で再計算し(そのため Top-p の入力は小数第 6 位まで)、八項と視覚上の尾部に分けます。再推論、ビーム探索、反復ペナルティ、他の logit 処理は省き、保持・正規化・選択を別々に検査します。