Top-p / Top-k
とっぷぴー・とっぷけー
Top-p / Top-k
一言でいうと
LLMが次の単語を選ぶ範囲を絞り込むサンプリングパラメータのこと。
詳しい意味
Top-p(nucleus sampling)と Top-k は、LLM が次の単語を選ぶ際、候補となる単語の範囲を絞り込むサンプリングパラメータです。 - **Top-k**: 確率の高い上位 k 個の単語からのみ選ぶ(k=40 なら40候補から)。 - **Top-p**: 確率の合計が p を超えるまでの単語群から選ぶ(p=0.9 なら累積90%まで)。文脈に応じて候補数が動的に変わるのが特徴。 温度(temperature)と組み合わせて出力の発散度を制御します。温度がランダムさの強度を決め、Top-p / Top-k がランダム化される候補の枠を決める、という関係。低い値で出力が固くなり、高い値で発散します。デフォルト値はモデルごとに違いますが、安定運用したい時は temp=0、創造性重視なら top-p=0.9〜1.0 + temp=0.7 が定番です。
何に使うか
出力の安定性と多様性を細かくチューニングしたいとき。温度だけでは制御できない発散具合を調整したいとき。プロダクトのキャラ感を出すクリエイティブ用途。
どんな時に出るか
「top-p 0.9で固める」「top-k絞ったら多様性失った」「temp 0 + top-p 1 で運用」といった場面で登場します。
具体例
- コード生成は top-p=1.0 + temperature=0 で完全決定論的に、雑談ボットは top-p=0.9 + temperature=0.7 で運用している。
- top-k を 1 にすると常に最確の単語を選ぶので、温度を上げても揺れない。
別名・略称
top-p(とっぷぴー)top-k(とっぷけー)nucleus sampling(にゅーくりあすさんぷりんぐ)サンプリング(さんぷりんぐ)
間違えやすい語
初心者向けメモ
雑談相手の「言葉のレパートリーをどれだけ広げるか」のスイッチです。レパートリーをトップ40語だけに絞れば話がブレない、トップ累積90%まで広げれば自然な話し方、という感じ。