【とっぷぴー】
Top-p(トップピー) とは?
最終更新:
💡 AIの候補を「累積確率」で絞るフィルター
AIの出力候補を確率の高い順に並べ、累積確率がp以上に達する最小の候補集合を残し、確率を正規化して次のトークンを選ぶ手法。Temperatureと並ぶ重要な生成制御パラメータ。
📌 このページのポイント
- 候補を確率順に並べて、累積がpに達するまでの単語だけを選択肢にする
- pは候補数の割合ではない。p=1.0ならTop-pによる除外を行わない
- Nucleus Sampling(核サンプリング)とも呼ばれる
- Temperatureは確率分布を調整し、Top-pはその分布から残す候補を決める
Top-pってTemperatureとどう違うの?
Temperatureは全候補の確率分布を「なだらか」にしたり「とがらせたり」する調整だけど、Top-pは候補そのものを絞り込む仕組みだよ。たとえば10個の候補があるとき、Temperatureは10個全部の選ばれやすさを変えるけど、Top-pは上位3個だけに絞ってから選ぶイメージだね。
p=0.9ってよく見るけど、どういう意味?
確率の高い順に候補を足していって、合計が初めて90%以上になるところまでの候補だけを使うという意味だよ。たとえば1位が60%、2位が20%、3位が10%なら合計90%でこの3つだけが候補になる。低確率の候補を除く仕組みで、内容の正しさを保証するものではないよ。
TemperatureとTop-p、両方設定しても大丈夫?
両方を使える実装もあるよ。ただ、Temperatureで分布が変わるとTop-pで残る候補も変わるから、効果を比べるときは一方ずつ変えると理解しやすいね。対応するパラメータは使うモデルや実装で確認しよう。
Top-pとTop-kってどう違うの?
Top-kは「確率の高い上位k個の候補だけ使う」という固定数の絞り込み。Top-pは「累積確率がp以上に達するまでの候補を使う」という動的な絞り込みだよ。Top-kだと確率が極端に偏っているときに不要な候補まで含んでしまうけど、Top-pなら状況に応じて候補数が自動調整されるのが利点なんだ。
Top-pを極端に小さくしたらどうなるの?
同じ確率分布なら残る候補は少なくなるけど、必ず1〜2個になるわけではないよ。たとえば100候補が各1%ならp=0.1でも10候補を残す。p=1.0はTop-pでの除外をしない設定で、最適値や初期値はモデル・実装・用途によって違うんだ。
もっと詳しく知りたい人へ
累積確率がpを超える候補も残すの?
はい。たとえば候補の確率が60%、25%、15%でp=0.8なら、2番目までの85%を残します。80%以下だけを残す方式ではありません。残した確率は合計1になるよう正規化して抽選します。この例では約70.6%と29.4%です。
まとめ:ざっくりこれだけ覚えればOK!
「Top-p」って出てきたら「AIが次の単語を選ぶとき、確率上位の候補だけに絞る仕組みのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Top-p」 = 上位p(累積確率)
💬 pは確率(probability)のこと。上位の確率を合計してpに達するまでの候補だけを使うことからこの名前がついたよ