本文へスキップ

Top-K(トップケー)

この記事は6で読めます

ざっくり言うと

Top-K(トップケー)は、AIが次の言葉を選ぶときの候補を、確率の高い上位K個だけに絞る設定です。対応する生成AIなら指定できます。

Kには整数を入れます。K=40と指定すれば、上位40個が候補になる仕組みです。

  • Kが小さいと候補が絞られ、出力のばらつきは小さくなる傾向があります
  • Kが大きいと候補が広がり、表現の幅が増える可能性があります

よく似た設定にTop-P(Nucleus Sampling)があります。Top-Kは個数で候補を絞り、Top-Pは確率の合計で絞る、という違いです。

イメージ

正確には

Top-Kサンプリングは、確率の高い順に上位K個の候補だけを残し、残りをすべて切り捨てるやり方です。

Hugging Faceの解説ブログは、この方式を「次のトークン候補のうち、確率が最も高いK個だけを抽出し、そのK個の間で確率を再分配してサンプリングする方式」だと紹介しています。トークンとは、AIが文章を扱うときの、言葉の細かい単位のことです。

上位K個だけを残して確率を割り振り直し、そこから1個を選ぶのがTop-Kのしくみです

この絞り方は、論文 Hierarchical Neural Story Generation(Fan et al., 2018)で広く知られるようになった、代表的なサンプリング手法のひとつです。

Top-KとTop-Pは、絞り方が違います

よく混同されるのが、もうひとつのサンプリング方式であるTop-Pとの違いです。

パラメータ絞り方値の意味候補数
Top-K個数で絞る整数(例:40常にK個に固定
Top-P累積確率で絞る0〜1の小数(例:0.9状況によって変動

個数で切るか、確率の合計で切るか。Top-KとTop-Pの違いは、この絞り方の基準だけです

TemperatureとTop-Kは、役割が違います

Top-Kは、よく見かけるTemperature(温度)と組み合わせて使われます。Temperatureは確率分布の形を変える設定で、Top-Kは候補の数を絞る設定です。この2つは、別々の角度から出力のランダムさを調整します

  • Temperature
    確率の山を尖らせたり、平らにしたりします
  • Top-K
    候補リストの上からK個だけ残します

組み合わせると、ある程度のバリエーションは出しつつ、明らかにおかしい候補は外す、といった細かい調整ができます。

Top-Kを、検索窓に出る予測候補の表示件数のようなものだと考えると扱いやすくなります。5件だけ出すのか、50件まで出すのか、という違いです。

ただし、AIはその候補からさらに確率で選びます。Kを大きくしても、必ず変な答えになるわけではありません。変な候補が選ばれる可能性が出てくる、という程度に見ておくのがちょうどよいでしょう。

使う場面

使うモデルで設定できるかを、先に確かめてください

関連用語

  • Top-P(Nucleus Sampling) — 候補を個数ではなく、確率の合計で絞る設定です。
  • Temperature(温度) — 候補の確率の差を、はっきりさせるか、なだらかにするかを決める設定です。
  • トークン — 文章をAIが扱うときの、言葉の細かい単位です。
  • パラメータ — 同じ言葉でも、こちらは学習で決まるモデル内部の数値を指します。

やってみよう

よくある質問

Q. Top-Kとは何ですか?
A. AIが次の言葉を選ぶときの候補を、確率の高い上位K個だけに絞る設定です。Kには整数を入れ、残ったK個の中から実際に使う言葉が選ばれます。
Q. Top-Pとは何が違うのですか?
A. 絞り方の基準だけが違います。Top-Kは個数で絞るので候補はいつもK個に固定され、Top-Pは確率の合計で絞るので候補の数は文脈によって変わります。
Q. Temperatureとは役割が違うのですか?
A. 違います。Temperatureは確率の山を尖らせたり平らにしたりする設定で、Top-Kは候補リストの上からK個だけを残す設定です。別々の角度から出力のばらつきを調整します。
Q. ふだん使っているチャット画面でも、Top-Kは変えられますか?
A. 変えられないことが多いです。ChatGPTのWeb版のように設定を公開していないツールもあり、API経由で生成AIを使うときにはじめて自分で触れる設定だと思っておくと混乱しません。

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

参考ソース

判断クイズ

「Top-Kを下げれば安定します」と勧められて、そのまま設定してよいか判断できますか?

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

1. 「Gemini 3.6 Flashで出力がぶれるので、top_kを20に下げましょう」と提案されました
2. 「ChatGPTのWeb版でTop-Kを40にしてください」と頼まれました
3. 「品質を上げたいので、TemperatureとTop-Kを一度に変えて比べます」と言われました

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

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

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

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

あわせて読みたい