Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Nucleus Sampling

Top-p(核)サンプリングでは、確率の合計がpを超える最小集合から各トークンを選びます。そのため、top-kとは異なり、候補集合はモデルの確信度に応じて変化します。

核サンプリングはtop-pサンプリングとも呼ばれ、確率の合計がしきい値pに達する最小の候補集合から、次のtokenを選んでサンプリングするデコード手法です。ワシントン大学とAllen Institute for AIのAri Holtzman氏らは、2019年の論文The Curious Case of Neural Text Degenerationでこの手法を紹介しました。GPT-2 Largeを使った実験では、貪欲デコードとビームサーチは言語モデルを単調で反復的なループに陥らせる一方、確率分布全体からサンプリングすると一貫性のないテキストに逸脱することを示しました。また、分布の信頼性が低い裾野を切り捨てると、パープレキシティと多様性の両面で、人間の文章に最も近いテキストが生成されました。現在、top-pはほぼすべての大規模言語モデルのテキスト生成 APIで標準的な設定になっています。

Nucleusの選び方#

各ステップで、言語モデルは語彙内のすべてのトークンにスコアを付け、softmaxがそのスコアを確率に変換します。次に核サンプリングは、トークンを確率の高い順に並べ、その順に確率を加算して合計がpに達するまで候補を集めます。集合の外にあるトークンを除外し、残ったトークンの確率の合計が1になるよう再正規化してから、トークンを1つサンプリングします。

確率が0.50、0.25、0.15、0.10の4つの候補があり、pを0.8に設定したとします。最初の2つの合計は0.75でしきい値に届かないため、3つ目も加わり、Nucleusの合計確率は0.90になります。4つ目のトークンは除外され、残った3つのトークンは再正規化後におよそ0.56、0.28、0.17の確率で選ばれます。

Nucleusの特徴は、ステップごとにサイズが変化することです。「フランスの首都は」の後では、ほぼすべての確率を1つのトークンが占めるため、Nucleusは単語1つに縮まります。物語の冒頭では、確率が何百もの妥当な単語に分散するため、Nucleusはそれらを含むように広がります。候補数を固定する方法では、このように適応できません。

6トークンの語彙に対して1回デコードする、同じ処理のPyTorchでの実装例:

import torch

# 6トークンの語彙に対する次トークンの確率
probs = torch.tensor([0.10, 0.40, 0.04, 0.25, 0.06, 0.15])
top_p = 0.75

# 並べ替えた後、累積確率がtop_pに達するまでトークンを保持します
sorted_probs, order = probs.sort(descending=True)
cumulative = sorted_probs.cumsum(dim=0)
keep = cumulative - sorted_probs < top_p  # top_pを超えるトークンも保持します

# Nucleusを再正規化し、次のトークンIDをサンプリングします
nucleus = sorted_probs * keep
next_token = order[torch.multinomial(nucleus / nucleus.sum(), num_samples=1)]
print(order[keep].tolist(), next_token.item())

出力にはNucleus内のトークンID 1、3、5が表示されます。これらの確率の合計は0.80で、その後にサンプリングされたIDが続きます。このステップではトークン0、2、4は選ばれず、スクリプトを再実行すると、残った3つからそれぞれの確率に応じて選択されます。

トップPと貪欲デコード、トップK、温度の比較#

  • 貪欲デコードは、最も確率の高いトークンを常に選択します。決定論的で短い事実回答に適していますが、長い出力ではループに陥りがちです。
  • トップKサンプリングでは候補数を固定します。kを50に設定すると、確信度の高いステップでも無意味なものを含む50個のトークンからサンプリングする一方、不確実なステップでは妥当な候補が切り捨てられる可能性があります。トップPでは、固定の候補数の代わりに、確率の合計に対する割合を固定します。
  • 温度は、softmaxを適用する前にモデルのスコアを調整します。1未満では上位候補に確率が集中し、1を超えると確率分布が平坦になります。トップPは温度の適用後に使われるため、温度を上げるとNucleusも広がります。
  • Min-pサンプリングでは、最も確率の高いトークンの確率に対して、設定した割合以上の確率を持つトークンをすべて残します。そのため、しきい値はモデルの確信度にも連動します。Hugging Face Transformers、vLLM、llama.cppでは、top-pと並んでこの方式を利用できます。

温度とtop-pはいずれもランダム性を制御するため、標準的には両方を同時に変えるのではなく、どちらか一方を調整することが推奨されます。多くの推論エンジンではtop-kとtop-pを併用することもでき、その場合top-kが候補数の上限として機能します。

トップPの値の選び方#

top-pを1.0にするとフィルターが無効になり、一般的なデフォルト値は0.9から1.0の範囲です。top-pはモデル自体の確率を再形成するだけなので、事実の正確性を高めるには、たとえば検索拡張生成を使ってプロンプトに根拠を与える必要があります。検索拡張生成は、必要な事実をモデルに与えることでハルシネーションを減らします。値を高くすると、ブレインストーミング、チャットボットの対話、創作文章で多様性が高まります。0.5など低い値では出力がより予測しやすく反復的になり、データ抽出、分類プロンプト、コードに適しています。制約付きデコードではさらに進んで、必須の形式を壊すトークンをすべてマスクします。

同じ設定は、ビジョンパイプラインにおける言語出力も制御します。Ultralytics YOLO26の検出結果をきっかけにシーンの説明を視覚言語モデルから生成する場合、Ultralytics LLMインターフェースはtop_pなどのリクエスト引数をプロバイダーのAPIにそのまま渡します。そのため、0.5など低い値を設定すると、類似したフレームの説明文を似た表現にそろえられます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう