温度とサンプリング

語彙に点数を付けてから単語を選ぶまでにモデルがすることは、すべて偶然の入り込まない算術である。さいころが振られるのは最後の一度だけ。

インタラクティブシミュレーションを読み込んでいます...

温度は偶然ではない 🖖

このページの最後の一手を除くすべての段階は、答えの定まった算術である。温度は指数を取る前に点数を割り、top-k は決まった個数を、top-p は決まった割合を残す。同じ設定で二度実行すれば、まったく同じ数値が出る。偶然が入るのはただ一度、「トークンを引く」がこれらの確率に対して一つの数を投げる瞬間だけである。だから「温度を下げれば決定的になる」という言い方は正しくない。低い温度は一つの結果を圧倒的に起こりやすくするだけで、確実にするわけではない。

top-k と top-p が固定するものは違う 🖖

top-k は候補の個数を固定し、拾える確率のほうを変動させる。k = 3 なら毎回三つ残るが、その三つが持つ確率は ␣a の後で40.7%、␣so の後では72.2%になる。top-p はその逆で、割合を固定して個数を変動させる。p = 50% なら ␣a の後では五つ残り、␣it の後では一つしか残らない。核サンプリングが好まれるのはこのためである。モデルがいくつの選択肢を考えるべきかは、モデルがどれだけ確信しているかによって決まり、それに気づけるのは二つの設定のうち一方だけである。

文脈は1トークン、候補は1,280個のうち12個 🖖

このページが動かしているのはバイグラムであり、ちょうど1トークン分だけ後ろを見て、それ以上は見ない。トランスフォーマーは数千トークンを見る。それが、これと実際に文章を書けるものとの違いのすべてである。比較を経てなお残るのは算術のほうで — 点数が確率になり、温度がそれを作り変え、切り捨てが削り、一つが引かれる — そして問題の形である。␣the の後、このコーパスには1,280通りの異なる後続があり、ここに示した12個はその出現の13.6%を占めるにすぎない。分布の大部分は裾であり、それが出力へ漏れ出すのを止めているのが切り捨てである。

全プロセスの詳細解説

  1. 実際に続くテキストの13.6%をカバーする12の継続候補 5 ステップ

    12個の候補となる継続文字列が、この文脈の後に実際に続く内容の13.6%を占めている。残りの86%がどのような分布になっているかを導き出し、なぜその形状がサンプリングの仕組みを左右するのかを考察せよ。

    1. コーパスには、この文脈に続く異なる候補が 1,280 個存在する。これこそがモデルが模倣しようとしている真の分布であり、どのような候補リストよりもはるかに広い裾野を持っている。

    2. 上位12個――パネルでスコア付けされている候補――を合計しても、出現全体の 13.6% を占めるにすぎない。

    3. したがって、残りの 1,268 個の継続候補が 86.4% を分け合っている。単体で確率の高いものは1つとして存在しないが、集計すると全体の大半を占めることになる。

    4. これは選択肢の 99.1% が確率の 86.4% を占めていることを示しており、周りにノイズを伴うピークではなく、ロングテール(ロングテール構造)をなしている。

    5. top-kをオフにすると12個すべてが残り、パネルには保持された確率が100%と表示されます。この100%は候補リスト内で測った値ですが、13.6%はコーパス全体に対する値です。したがって、このページのフィルターが削るのはどれも分布の先頭部分です。裾野にある1,268個の続きは、スライダーを動かす前から除かれています。

    解答

    ツールには、保持された候補が12 / 12、保持された確率が100.0%、異なる続きが1,280個、網羅率が13.6%と表示されます。サンプリングを難しくしているのは、この裾野です。つねに最も確率の高いトークンを選ぶと、13.6%の範囲だけから選び続けるため、文章は同じ表現の反復に陥ります。かといって全候補からサンプリングすれば、いずれ場違いなものを引きます。確率質量の86.4%が、一つひとつ見れば選ぶに値しない候補に割り当てられているからです。top-kとtop-pは、先頭部分の差を潰さずに裾野を切るための仕組みです。上の数値は、その兼ね合いを示しています。温度による変化にも注目しましょう。top-pを90にすると12個中10個が残ります。そこから温度を1.50に上げると、11個目も戻ります。分布が平坦になるほど、核となる候補集合は狭まらず、広がるためです。

学習の道すじ

LLM はどう次の単語を選ぶか

参考文献 (2)

例題

  • 最も定まらない文脈 - ␣a の後にはコーパス中で980通りの異なる後続があり、首位の ␣single は表示された12個のうち24.6%しか取らない。この12個は、かつて続いたすべての12.5%を占めるにすぎない。
  • 最も定まった文脈 - ␣so の後では首位の ␣the が43.2%を取り、表示された12個が全出現の53.9%を占める。この文脈は既に定まっており、␣a は定まっていない。
  • 低温:温度 0.2 - 温度0.2では首位の ␣same が99.5%を保ち、2位との差は278×になる。何も取り除かれてはいない。差が引き伸ばされただけである。
  • 高温:温度 2 - 温度2でも同じ ␣same が18.2%で首位であり、2位との差は1.76×まで縮んでいる。首位であること自体は一度も変わっていない。
  • 核:50% を残す - 確率の50%を残すと12個中3個の候補が残り、合わせて54.5%を保つ。正規化し直すと首位は63.6%になる。
  • 温度 0 - 温度0では12個中1個だけが残る。これは非常に低温の softmax ではなく argmax であり、表示もそう述べている。