Top-p/Top-kサンプリング

Top-p / Top-k Sampling

Top-p/Top-kサンプリングとは

Top-p(核サンプリング)とTop-kサンプリングは、生成AIがテキストを生成する際に次のトークンを選択する方法を制御するデコーディング手法です。温度パラメータと並んで、出力の多様性と品質のバランスを調整する重要なハイパーパラメータです。

表:Top-p/Top-kサンプリングの要点まとめ
ひとことで言うと次の語の候補をどこまで残すかを決める、2つの絞り込み方法。
どこで使う文章の多様性と安定性のバランス調整。創作寄りか堅実寄りかの制御。
注意点温度パラメータと同時に強くいじると、挙動が読めなくなる。

Top-kとTop-pの仕組み

Top-kサンプリングでは、確率の高い上位k個のトークンのみを候補として残し、その中からランダムに選択します。例えばk=50なら、確率上位50トークンの中から次のトークンが選ばれます。一方、Top-p(Nucleus Sampling)では、累積確率がp(例:0.9)に達するまでのトークンを候補とします。これにより、確率分布の形状に応じて候補数が動的に変化するため、より柔軟な制御が可能です。

図:Top-kとTop-pの絞り込み方
1確率を計算全候補にスコア
▶
2Top-k上位k個だけ残す
▶
3Top-p合計がpになるまで残す
▶
4候補から抽選残った中からランダム
▶
5次の語が決定文章に追加される

※ Top-kは「個数」で、Top-pは「確率の合計」で区切るのが違いです。

実践的な使い分け

Top-pの方がTop-kより一般的に推奨されることが多く、APIのデフォルト設定にもよく採用されています。Top-p=0.9程度に設定すると、品質と多様性のバランスが良好です。Top-pとTop-kを組み合わせることも可能で、その場合は両方の条件を満たすトークンの中から選択されます。温度パラメータとの併用時は相互作用に注意が必要で、通常は温度かTop-pのどちらかを固定してもう一方を調整する方法が実用的です。