AI・機械学習
中級

ニュークリアスサンプリング(ニュークリアスサンプリング)

LLMのテキスト生成において、累積確率が閾値p(例:0.9)に達するまでの上位トークン群から次トークンを確率的にサンプリングする手法。Top-pサンプリングとも呼ばれ、多様性と品質のバランスを調整できる。

0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
テキスト生成
サンプリング
LLM
推論
デコーディング戦略

ニュークリアスサンプリング(Nucleus Sampling)とは

ニュークリアスサンプリングは2020年にAri Holtzmanらがワシントン大学で発表した論文「The Curious Case of Neural Text Degeneration」で提唱されたテキスト生成手法。既存のTop-kサンプリングが語彙数に関わらず固定k個から選ぶ問題点を解決するために設計された。

仕組み

各生成ステップで全語彙のトークンを確率の高い順にソートし、累積確率が閾値pを超えるまでのトークン集合(nucleus=核)を形成する。その集合の中から確率に比例した重み付きランダムサンプリングで次トークンを選択する。

例: p=0.9の場合、確率上位トークンA(0.4)+B(0.3)+C(0.2)=0.9 → nucleus={A,B,C}からサンプリング

Top-kサンプリングとの違い

  • Top-k: 固定k個から選択(高確率が少ない文脈でも余計なトークンを含む)
  • Top-p: 確率累積でp以下まで可変(文脈に応じてnucleusサイズが自動調整される)

パラメータpの使い方

  • p=0.1〜0.5: 高確率トークンのみ→保守的で事実重視(要約・情報提供)
  • p=0.7〜0.9: バランス型(多くのLLMのデフォルト)
  • p=0.95〜1.0: 広い候補から選択→多様で創造的(物語・詩)

Temperatureとの組み合わせ

Temperature(τ)は確率分布のシャープさを調整するスケーリング係数。実際のLLM運用ではTemperatureとTop-pを組み合わせて生成品質を制御することが多い:

  • temperature=0.7, top_p=0.9 → 一般的な会話・Q&A
  • temperature=0.3, top_p=0.5 → 精度重視のコード生成
  • temperature=1.0, top_p=0.95 → 創造的文章生成

実装と商用LLM

ChatGPT(GPT-4)、Anthropic Claude、Google Gemini等の商用LLM APIはほぼすべてtop_pパラメータを公開している。Hugging Face Transformersではgenerate(top_p=0.9, do_sample=True)で有効化。LlamaCPP / Ollamaでも対応済み。

この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/7