Top-k sampling — トップk
Top-kサンプリングは、テキスト生成のために大規模言語モデル(LLM)で使用される確率的なデコーディング手法です。その主な目的は、次のトークンの選択を最も確率の高い固定数()の候補に限定することで、確率の低い、しばしば不適切な単語の生成を回避することです。この手法は、単純なランダムサンプリングにおける初期の改良の一つであり、生成されるテキストの一貫性を向上させるための一般的な方法として長年用いられてきました。
概念と数学
テキスト生成の各ステップで、標準的な言語モデルは語彙全体 にわたる確率分布 を出力します。Top-kサンプリングは、このプロセスを次のように変更します。
- 候補の選択: 語彙全体から、最も確率の高い 個のトークンからなるサブセット が選択されます。
- 切り捨て: に含まれないすべてのトークンの確率はゼロに設定されます。
- 再分配(正規化): 残りの 個のトークンの確率は、その新しい合計が1になるようにスケーリングされます。
- サンプリング: 次のトークンは、この新しい切り捨てられた分布からランダムに選択されます。
このように、Top-kは候補数に厳格なしきい値を導入します。確率の順位が より低い単語は決して選択されません。
パラメータの影響
- 小さい(例:~): 生成をより保守的で予測可能にします。モデルは、非常に限定された最も確率の高い単語のセットからのみ選択します。これにより一貫性は向上しますが、反復的で退屈なテキストになる可能性があります。
- 大きい(例:~): サンプリング対象により多くの選択肢が含まれるため、テキストの多様性と創造性を高めます。しかし、関連性の低い、または不適切なトークンが含まれるリスクも増大させます。
- 極端なケース:
- : グリーディーデコーディング(greedy decoding)と等価です。モデルは常に最も確率の高いトークンを選択します。
- = 語彙サイズ: 切り捨てを行わない、完全な分布からの標準的なサンプリングと等価です。
歴史的意義
Top-k法は、2018年にAngela Fanとその同僚によって、完全なランダムサンプリングを使用する際のテキスト品質の低下問題に対する効果的な解決策として正式に提案されました。彼らは、サンプリングを少数の候補に限定することが、生成される物語の結束性と意味性を大幅に向上させることを示しました。
例えば、GPT-2の初期バージョンでは`top_k=40`というパラメータが使用され、これによりモデルは、それ以前の手法では達成できなかった長く一貫性のあるテキストを生成することが可能になりました。
他のデコーディング手法との比較
Top-k vs. Top-p - Top-kとTop-pの比較
Top-kは、より高度な手法であるTop-p(nucleus)サンプリングに多くの点で取って代わられました。
- Top-kの主な欠点は、その非適応性です。 固定値は、確率分布の形状を考慮しません。
- 分布が鋭い(モデルが少数のトークンに確信を持っている)場合、Top-kは確率の低い候補を含めることで、人為的にサンプリング対象を広げてしまう可能性があります。
- 分布が平坦(モデルが確信を持てず、多くのトークンが同様の確率を持つ)場合、Top-kは多くの適切な選択肢を時期尚早に切り捨ててしまう可能性があります。
- 対照的に、Top-pは、累積確率に基づいてトークンを選択することで、サンプリングサイズを動的に調整します。これにより、より柔軟で信頼性の高い手法となっています。
Top-k vs. Temperature - Top-kとTemperatureの比較
- Temperature(温度)は、確率分布全体の形状を変更しますが、トークンを切り捨てることはありません。すべての候補の相対的な確率に影響を与えます。
- Top-kは厳格な切り捨てを導入し、トップ外のトークンを完全に除外します。
実際には、Top-kはTemperatureと併用することができます。まずTemperatureが分布を変更し、その後にTop-kが候補を切り捨てます。
実用的な応用
今日ではTop-pサンプリングの方が好ましいとされていますが、Top-kは、特にサンプリングサイズの単純で直感的な制御が求められる場合に、依然として一部のケースで使用されています。
- 典型的な値: 実際には、一貫性と多様性の望ましいバランスに応じて、20から100までのの値が使用されます。
- 推奨事項: ほとんどのタスクではTop-pの使用が推奨されます。もしTop-kを使用する場合は、適度なTemperatureと組み合わせ、特定のタスクに合わせての値を慎重に選択する必要があります。
参考文献
- Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
- Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Holtzman, A. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o.
- Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
- Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
- O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
- Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
- Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
- Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
- Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.
- Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
関連項目
- 大規模言語モデル