本文へスキップ

Top-P(Nucleus Sampling)とは

この記事は6で読めます

ざっくり言うと

Top-P(別名Nucleus Sampling)とは、AIが次の言葉を選ぶときの候補を、確率の合計で絞る設定です。

確率の高い候補から順に足していき、合計がPを超えたところで打ち切ります。この設定に対応しているAIでは、ふつう0〜1の数値で指定する仕組みです。低いほど候補は狭まり、高いほど広く残ります。

Temperatureも答えのばらつきに関わる設定ですが、しくみも効き方も別ものです。ふだんはどちらか片方だけを動かして使います。

イメージ

別名のNucleus Samplingは、核(Nucleus)になる上位のかたまりだけを残す、という意味合いから来ています。ランキング表の上のほうだけを使う設定だと覚えてください。

正確には

Top-Pは、2019年の論文「The Curious Case of Neural Text Degeneration」(Holtzman他)で提案されたサンプリング手法です。

それまで主流だったのは、上位K件だけを残すTop-Kでした。Top-Pは確率の累積で絞るので、残す候補の数がそのつど変わります。

OpenAI、Anthropic、Googleの一部の対応モデルでは、top_pという名前のパラメータで指定します。値の範囲も既定値も、そもそも変更できるかどうかも、モデルによってさまざまです。

TemperatureとTop-Pは、触る場所が違います

2つは入れ子の関係ではありません。同じランキング表の、別のところを触る設定だと考えてください

パラメータ何を変えるかランキング表でいうと
Temperature候補ごとの確率の差を、平らにしたり尖らせたりする表全体の濃淡
Top-P確率の合計で、残す候補の数を絞る表の足切りライン

Top-Pは、残る候補の数が場面ごとに変わります

top_p = 0.9と指定しても、いつも同じ数の候補が残るわけではありません

数個で90%へ届く場面もあれば、たくさん集めないと届かない場面もあります。上位何個と決め打ちするTop-Kとの、いちばん大きな違いがここです。

設定できるかどうかは、モデルによって変わります

扱いは各社・各モデルで違います。しかも変わりやすい部分なので、使う前に必ず公式ドキュメントを確認してください。

  • OpenAI API
    Chat Completionsの対応モデルではtop_pを指定できます。公式は、TemperatureとTop-Pのどちらか一方だけを変えるよう案内しています。
  • Anthropic
    Claude Sonnet 5など一部の新しいモデルでは、既定値以外のtop_pを指定すると400エラーになります。
  • Google Gemini API
    Gemini 3.6 Flashと3.5 Flash-Lite以降の新しいモデルでは、temperaturetop_ptop_kが非推奨です。2026年7月27日時点では無視され、将来は指定時にエラーになる予定です。

古いモデル向けの設定例を、新しいモデルへそのまま持ち込むのは避けてください。モデル名で提供元のAPIリファレンスを開き、top_pの項目と移行の案内に目を通してから使いましょう。

使う場面

Top-Pを仕事で使うときは、条件をそろえて比べてください

Top-Pを変更できるモデルでは、値を下げるほど候補は絞られ、上げるほど広く残ります。ただし、ある値にすれば内容が正しくなる、という設定ではありません。

調整するときは、次の順に進めてください。

  1. まずは、公式が推奨する既定の設定のまま試す
  2. 正解例を含む評価セット(確認用の入力と、期待する答えの組)を用意する
  3. ほかの設定は固定したまま、top_pだけを変えて複数回試し、結果を見比べる

調整が必要だと分かったときだけ、TemperatureかTop-Pのどちらか片方を動かしてください

注意点

また、ちょうどよい値はモデルごとに違います。OpenAIでうまくいったtop_p = 0.7が、AnthropicやGeminiでも同じ感触になるとは限りません。

モデルを乗り換えたときは、まず設定自体を受け付けるかどうかを確かめてください。受け付けるモデルでだけ、あらためて数値を合わせ直しましょう。

関連用語

  • Temperature — 候補ごとの確率の差を、平らにするか尖らせるかを決める設定です。
  • Top-K — 上位K件だけを残す、個数で絞るシンプルな方式です。
  • パラメータ — 学習で決まるモデル内部の数値も、同じくパラメータと呼びます。
  • トークン — 文章をAIが読み書きするときの、細かい区切りの単位です。

やってみよう

よくある質問

Q. Top-Pとは何ですか?
A. AIが次の言葉を選ぶときの候補を、確率の合計で絞る設定です。確率の高い候補から順に足していき、合計がPを超えたところで打ち切ります。別名をNucleus Samplingといいます。
Q. Top-Pを指定すると、残る候補の数はいつも同じですか?
A. 同じではありません。数個で合計に届く場面もあれば、たくさん集めないと届かない場面もあります。上位何個と決め打ちするTop-Kとの、いちばん大きな違いがここです。
Q. Temperatureと一緒に調整してもいいですか?
A. 片方だけにしてください。OpenAIとAnthropicの公式ドキュメントは、TemperatureとTop-Pを同時に動かすことを推奨していません。両方をいっぺんに触ると、効果が予測しづらくなります。
Q. 別の会社のモデルへ乗り換えたら、同じ値をそのまま使えますか?
A. そのまま持ち込まないでください。ちょうどよい値はモデルごとに違い、新しいモデルでは変更を受け付けない、あるいは指定しても無視される場合があります。まず設定を受け付けるかどうかを公式ドキュメントで確かめてください。

公開: 更新: ✓ 公式情報と照合:

参考ソース

判断クイズ

「top_pを0.7にすれば安定します」を、そのまま持ち込んでよいか判断できますか?

3問です。答えるとその場で解説が出ます。全問終えたら、「回答を記録する」で学習の記録に残せます。

1. 「OpenAIでうまくいったtop_p = 0.7を、Claude Sonnet 5にも同じ値で入れます」と言われました
2. 「ばらつきを消したいので、Temperatureとtop_pを両方下げます」と言われました
3. 「top_p = 0.9にしたので、候補はいつも同じ数だけ残ります」と説明されました

全問に答えると、回答を記録できます。

残るのは「答えたかどうか」だけで、正解数は保存されません。この端末の中だけに残り、別の端末には引き継がれません。

この教科書は無料で全文公開しています。仕事で使えるところまで進みたい方は、実習と資料がそろった生徒プランをどうぞ。

生徒プランを見る(14日間無料)

あわせて読みたい