生成AIの仕組み

top_p・top_kとは次のトークンの候補を絞るサンプリング設定の使い方

top_p(nucleus sampling)とtop_kは、LLMが次のトークンを選ぶときの候補を絞るサンプリング設定です。それぞれの仕組み、temperatureとの違いと併用の考え方、用途別の設定の目安、設定しすぎのリスクを具体例で整理します。

公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて

top_p・top_kとは

LLMは、次のトークンについて確率の分布を計算し、そこから1つを選びます(トークンとは)。確率が極めて低い、不自然な候補を選んでしまうと、出力が崩れます。そこで、選択肢をあらかじめ絞り込むのが、top_kとtop_pです。どちらも、temperatureと合わせて「サンプリング設定」と呼ばれます(temperature(温度)とサンプリング)。

top_k:上位k個に絞る

確率の高い順に上位k個の候補だけを残し、その中から選びます。

設定 動作
top_k = 1 常に最も確率の高い候補だけを選ぶ(決定的に近い)
top_k = 40 上位40個から確率に応じて選ぶ

特徴:シンプルですが、分布の形に関わらず常に同じ個数に絞るため、候補が少なくて済む場面でも多くを残し、逆に候補が多い場面でも切り捨てすぎることがあります。

top_p:累積確率で絞る(nucleus sampling)

確率の高い順に足し合わせ、合計がpに達するまでの候補だけを残します。

例:確率が「晴れ60%、曇り25%、雨10%、雪5%」のとき、

top_p 残る候補
0.5 晴れ(60%で、すでに50%を超える)
0.9 晴れ・曇り・雨(累積95%)
1.0 全候補

特徴:状況に応じて、候補の数が自動的に変わります。確信が高い場面では少数に、迷う場面では多くの候補を残します。この方式は「nucleus sampling」として2019年の論文(Holtzman et al.)で提案されました。

temperatureとの違い

設定 何を変えるか
temperature 確率分布の形(とがり具合)を変える
top_k / top_p 選択肢の範囲を切り詰める

両者は組み合わせて使えます。ただし、同時に大きく変更すると挙動が予測しにくくなります。提供元のドキュメントでは、どちらか一方を調整することが推奨されている場合があります。公式の推奨を確認してください。

用途別の考え方

目的 設定の方向
安定した出力(抽出・分類・コード) temperatureを低く。top_pは既定のままでよいことが多い
自然な文章の生成 temperature・top_pとも中程度
多様な案の生成 temperatureを高めに、top_pを高め(1に近い)に
不自然な単語が混ざる top_pを下げる(0.9前後など)、top_kを設定する

具体的な数値は、モデルや用途によって適切な値が変わるため、自分の課題で試して決めます(プロンプトの評価方法)。

サービスごとの違い

項目 内容
設定できるパラメータ サービス・モデルにより異なる(top_kは提供されないことがある)
既定値 提供元ごとに異なる
推論モデル・新しいモデル 推論に特化したモデルなどでは、サンプリング設定を固定または制限している場合がある。たとえばAnthropicの公式リファレンスでは、Claude Opus 4.6より後に公開されたモデルはtop_kを受け付けず、top_pも0.99以上の値以外は受け付けないと案内されている(執筆時点。最新は公式で確認)(推論モデル(思考するAI))
チャット画面 多くは変更できない

使いたい設定が提供されているかは、APIリファレンスで確認します(Messages APIの使い方)。

設定しすぎのリスク

  • 候補を絞りすぎると、出力が単調になり、繰り返しが増えることがある。
  • 絞らなすぎると、文脈に合わない言葉が混ざる。
  • 設定を変えただけでは、事実の正確さは改善しない(ハルシネーション)。

top_p・top_kの具体例

製品の紹介文を生成する場合、まず既定の設定で試し、文章が単調ならtemperatureを少し上げます。不自然な語が混ざるならtop_pを少し下げます。一度に複数の設定を変えず、1つずつ変更して比較すると、どの設定が効いたのか分かります。

top_p・top_kのFAQ(よくある質問)

Q. top_pとtop_kは、どちらを使えばよいですか?
A. 提供されている設定と、公式の推奨によります。top_pのほうが状況に応じて柔軟に絞れる、とされることが多いです。

Q. 設定を変えないと、どうなりますか?
A. 提供元の既定値で動きます。多くの用途では、既定値で十分です。

Q. 同じ設定で、毎回同じ答えになりますか?
A. 決定的な設定でも、完全に同じとは限りません。

筆者の見解(top_p・top_k)

サンプリング設定は、「使いこなすと便利だが、最初に触る必要はない」項目だと考えます。まずは指示(プロンプト)の工夫で品質を上げ、それでも出力のばらつきが問題になったときに、設定を1つずつ調整する順序が効率的です。設定の知識は、API開発での再現性や安定性の調整で特に役立ちます。

top_p・top_kの関連項目

出典(一次情報)

本記事は一般的な情報の提供を目的としています。AIのサービス・機能・料金・仕様は頻繁に更新されるため、最新の内容は各社の公式ドキュメントでご確認ください。「筆者の見解」は一つの考え方です。