Top-pサンプリングTop-p Sampling
上から切っておいた候補の中だけで選ぶ方式
- Top-pは、次に来る言葉の候補を可能性の高い順に並べて上から切っておく設定です。
- 切る基準は個数ではなく可能性の合計です。上から足していき、決めた取り分を満たしたところで打ち切ります。
- だから**残る候補の数は場面によって変わります。**答えが明らかな場所では一つか二つ、あいまいな場所では数十個残ります。
- 切ったあとに残った候補の中から選ぶのはサンプリングが、候補どうしの間隔を整えるのは温度が担当します。
- 値が1に近ければほとんど切らず、下げるほど安全になりますが表現が繰り返されます。
目次
1たとえで理解する
地下駐車場に入っても、空いている場所全部を候補にして悩んだりはしません。入口に近い順に見ていって「この列までにしよう」と線を引きます。その線の中に入った場所から一つを選んで停め、線の外の奥まった場所は見もしません。
AIが次の言葉を選ぶときも、同じ線を引くことができます。候補を可能性の高い順に並べたあと、上から順に積んでいって決めておいた取り分を満たしたら、そこで打ち切ります。残った候補は候補資格を失います。こうして選ぶ範囲を上から切っておく方式がTop-pです。
同じ線を引いても、その中に入る場所の数は日によって違います。満車に近い日は線の中に一か所だけ、すいている日は十か所以上入ってきます。線の位置ではなく、その日の駐車場の事情が候補の数を決めるのです。
2くわしく
上から積んで打ち切ります
手順は三段階です。まず候補を可能性の大きいものから並べます。次に上から一つずつ積みながら可能性を足していきます。足した値が決めておいた取り分に届いたら、そこで打ち切り、積んだ候補だけを残します。
取り分を0.9に決めていたなら、上から足して90%を満たすまでだけ積むということです。最初の候補一つですでに90%を超えていれば、その一つで終わりです。逆に似たり寄ったりの候補が並んでいれば、二十個積んでも90%に届かないこともあります。
打ち切って残った候補は、それら同士でまた取り分を分け直します。切り落とされた取り分が残った候補に回るわけなので、もとは二位だった候補の機会が少し大きくなります。
候補の数が場面ごとに変わることが要点です
「日本の首都は」まで書いたなら、次の言葉は事実上一つです。このときは線をどこに引いても候補は一つしか残りません。おかしな言葉が入り込む余地がありません。
「週末はたいてい」まで書いたなら事情が変わります。後に来られる言葉が数十通りあり、どれも似たようにもっともらしいのです。こういうときは線の中に複数の候補が入ってきて表現が多様になります。
この性質のおかげで、Top-pは一つの値で両方の場面をこなせます。明らかな場所では自然と狭まり、あいまいな場所では自然と広がります。満車の日とすいている日に同じ基準を使っても無理がないのと同じです。
個数で切る方式とは違います
候補を前から何個かだけ残す方式もあります。無条件に上位40個というように個数を決めておくやり方です。作るのは簡単ですが、場面を見てくれません。
答えが明らかな場所でも40個残すので、下のほうには不自然な候補がたくさん混じります。逆に候補が似たり寄ったりで百個ほど並ぶ場所では、40個でばっさり切られて使える表現がまとめて抜け落ちます。
駐車場でいえば、前から五か所だけ見ると決めておいたようなものです。がらがらの日も五か所だけ見て、満車の日も無理に五か所を埋めようとするわけです。Top-pは個数の代わりに取り分で打ち切って、この問題を避けます。
値をどう置くか
たいていのサービスは0.9から0.95あたりを既定値にしています。かなり低い可能性の言葉だけを取り除きながら、表現の幅は残しておく位置です。特別な理由がなければ、この値は触らないほうがよいでしょう。
値を下げると候補が狭まります。事実関係が大事な仕事や形式が決まった書類には役立ちますが、下げすぎると同じ表現が繰り返され、文章が単調になります。値を1にすると何も切りません。候補全体がそのまま残ります。
温度と一緒に動かすと原因がわかりにくくなります。一方を既定値に置き、もう一方だけを少しずつ動かしながら同じ文を何度も続けて書かせてみるほうが感覚をつかみやすいものです。
温度、サンプリングと並べると
三つは一列に並んだ別々の仕事です。温度は候補どうしの間隔を広げたり狭めたりします。Top-pはその整えられた候補の列から下のほうを切り落とします。サンプリングは残った候補の中から実際に一つを引きます。
駐車場でいえば、温度は場所ごとの点数をどれだけ差をつけて見るかを決める仕事、Top-pはどの列まで見るか線を引く仕事、サンプリングはその中の一か所に車を停める仕事です。
三つとも候補一覧そのものは作りません。一覧はモデルが断片ごとに新しく出し、これらの設定はその一覧をどう使うかだけを決めます。
3もう少し正確に
Top-pサンプリングはニュークリアスサンプリングとも呼ばれます。確率の高い順に候補を並べ、累積確率が基準値以上になる最小の集合だけを残し、残った候補の確率を合計が1になるよう分け直したうえで、その中から選びます。温度が先に適用されて確率分布が決まり、その分布の上で切り落としが起きる順番です。
たとえがずれる点もあります。駐車場は一度場所を決めればその日の選択は終わりますが、この切り落としは文字の断片一つを選ぶたびに毎回新しく起こります。一つの文を書いているあいだにも、候補の数が一つだったり二十だったりと変わり続けます。また駐車場ではどの場所が近いか目で見えますが、候補の可能性はモデルの内部で計算された値なので、人があらかじめ知ることはできません。だから値を少し変えたとき結果がどれだけ揺れるかは、実際に何度も試してみないとわかりません。
4やってみる
5よくある誤解
Top-pが候補の個数を決めると思われがちですが、実際には可能性の合計で打ち切るため、残る個数は場面ごとに変わります。
Top-pを1にすると何でも飛び出してくると見なされがちですが、実際には切らないだけで、可能性どおりに引くという原則はそのままです。
温度とTop-pを一緒に下げればより正確になると信じられがちですが、実際には表現が単調になるだけで、事実が正しくなる保証はありません。
7ひとこと要約
つまりTop-pは駐車場で「この列までにしよう」と線を引くように、可能性の高い順に候補を積んでいって決めた取り分で打ち切り、その中だけから選ばせる方式です。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02