Top-p/Top-kサンプリングとは
Top-p(核サンプリング)とTop-kサンプリングは、生成AIがテキストを生成する際に次のトークンを選択する方法を制御するデコーディング手法です。温度パラメータと並んで、出力の多様性と品質のバランスを調整する重要なハイパーパラメータです。
| ひとことで言うと | 次の語の候補をどこまで残すかを決める、2つの絞り込み方法。 |
|---|---|
| どこで使う | 文章の多様性と安定性のバランス調整。創作寄りか堅実寄りかの制御。 |
| 注意点 | 温度パラメータと同時に強くいじると、挙動が読めなくなる。 |
Top-kとTop-pの仕組み
Top-kサンプリングでは、確率の高い上位k個のトークンのみを候補として残し、その中からランダムに選択します。例えばk=50なら、確率上位50トークンの中から次のトークンが選ばれます。一方、Top-p(Nucleus Sampling)では、累積確率がp(例:0.9)に達するまでのトークンを候補とします。これにより、確率分布の形状に応じて候補数が動的に変化するため、より柔軟な制御が可能です。
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のどちらかを固定してもう一方を調整する方法が実用的です。