Top-pサンプリングは、核サンプリングとしても知られ、自己回帰確率モデルからシーケンスを生成するために使用される確率的デコード戦略であり、特に自然言語生成において用いられます。これは2019年にAri Holtzman、Yejin Choi、およびその同僚らによって、ビームサーチなどの決定的デコード手法が生成する反復的で無意味なテキストの問題に対処するために最初に提案されました。この技術はその後、タンパク質工学や地球物理学などの分野にも応用されています。
Top-pサンプリングでは、確率閾値pが設定され、シーケンス内の次の項目は、累積確率がpを超える最小の高確率候補セットからのみサンプリングされます。この方法は、モデルの確信度に基づいて候補プールのサイズを適応させ、固定数の候補からサンプリングするtop-kサンプリングよりも柔軟です。その有効性から、top-pサンプリングは多くのLarge language modelアプリケーションで広く使用されています。
技術
テキスト生成の各ステップで、言語モデルは語彙全体に対する次のトークンの確率分布を計算します。最も高い確率のトークンを単純に選択する(貪欲探索)か、限られた高確率シーケンスのセット(ビームサーチ)を使用することは可能ですが、これらの決定的手法はしばしば退屈で反復的、または無意味なテキストを生成します。Top-pサンプリングは、品質を維持しながらこれらの問題を回避するためにランダム性を導入します。
核となるアイデアは、各ステップでより小さく信頼性の高いトークンセット、つまり核からサンプリングすることです。この核には、累積確率が閾値pをちょうど超える最も可能性の高い次のトークンが含まれます。この動的にサイズが変わるグループからのみサンプリングすることで、モデルは異なる状況に適応できます。モデルが次のトークンについて確信している場合(例えば、1つのトークンが非常に高い確率を持つ場合)、核は小さくなります。モデルが不確かな場合(確率がより均等に分布している場合)、核は大きくなり、より多様性が可能になります。
各ステップでのプロセスは次のとおりです:
- モデルは可能なすべての次のトークンの確率を計算します。
- トークンはその確率に基づいて降順にソートされます。
- 累積確率が事前定義された閾値pを超えるまで、リストの先頭からトークンを選択して核が形成されます。
- 核内のトークンの確率は、合計が1になるように再スケーリングされます。核外のすべてのトークンは破棄されます(確率は0とされます)。
- 最終的な次のトークンは、この新しいより小さな分布からランダムにサンプリングされます。
形式的には、核V^(p) ⊆ Vは、V^(p)内のすべてのxに対するP(x | x_1, ..., x_{t-1})の合計がp以上となる最小のトークンセットとして定義されます。ここで、P(x | x_1, ..., x_{t-1})は、先行するトークンx_1, ..., x_{t-1}が与えられたときのトークンxの確率を表します。
例
あるステップで、言語モデルが5つの単語の語彙[the, a, cat, dog, eats]を持ち、次の確率を生成すると想像します:
- the: 0.5
- a: 0.2
- cat: 0.1
- dog: 0.1
- eats: 0.1
p = 0.8を設定した場合:
- トークンは確率順にソートされます:[the, a, cat, dog, eats]。
- 累積確率が計算されます:
- the: 0.5
- the + a: 0.5 + 0.2 = 0.7
- the + a + cat: 0.7 + 0.1 = 0.8
- 核は累積確率が0.8以上となる最小のセットであり、V^(0.8) = {the, a, cat}です。
- このセットの確率は合計が1になるように再スケールされます:
- P(the) = 0.5 / 0.8 = 0.625
- P(a) = 0.2 / 0.8 = 0.25
- P(cat) = 0.1 / 0.8 = 0.125
- 次のトークンはこの新しい分布からサンプリングされ、dogとeatsは選択される確率が0%となります。
Top-kサンプリング
Top-kサンプリングは、候補トークンのプールを最も可能性の高いk個のトークンに制限する類似の技術です。top-pの主な利点はその適応性です。モデルが次のトークンについて非常に確信している場合(ピークのある分布)、核V^(p)は非常に小さくなります。モデルが不確かな場合(平坦な分布)、核ははるかに大きくなり、より多様性が可能になります。対照的に、top-kは常に固定数のトークンからサンプリングするため、文脈によっては制限が強すぎるか、広すぎる可能性があります。
応用
Top-pサンプリングは大規模言語モデルのデコード戦略として最も有名ですが、この技術は、逐次データの生成や分析を伴う他の科学分野でも適応されています。
自然言語生成
元々の分野である自然言語生成では、top-pサンプリングは決定論的手法と比較してより多様で一貫性のあるテキストを生成できることが示されています。タスクでは、質問応答モデルの効果的なトレーニングデータを作成するためにサンプルの多様性が重要である自動質問生成などで有益です。
薬物およびタンパク質工学
Top-pサンプリングは、計算生物学において、特殊な言語モデルを使用して新規の分子配列やタンパク質配列を生成するために使用されます。新薬設計では、分子構造で訓練された化学言語モデルが核サンプリングを使用して、有効な新薬候補の焦点を絞ったライブラリを生成します。同様に、タンパク質工学では、タンパク質配列で訓練された言語モデルがtop-pサンプリングを使用して、望ましい特性を持つ新規配列を提案し、自然変異を超えた探索空間を広げます。
地球物理学
地球物理学では、top-pサンプリングは合成地震データや地下構造のモデル化に応用されています。確率モデルからサンプリングすることで、研究者は不確実性の定量化や地震調査の解析に役立つ多様で妥当なシナリオを作成できます。
他のデコード手法との関係
Top-pサンプリングは、自己回帰モデルで使用されるいくつかの確率的デコード戦略の1つです。これには、サンプリング前の確率分布の尖りを調整する温度スケーリングや、トークンの繰り返しを防ぐ繰り返しペナルティなどがあります。Top-pはしばしば温度スケーリングと組み合わせて使用され、生成テキストの多様性と一貫性を微調整します。例えば、より低い温度は分布をより尖らせ、top-pはより小さな核を選択し、より保守的な出力をもたらします。
実装上の考慮事項
実際には、top-pサンプリングは各ステップでトークンのソートを必要とし、計算オーバーヘッドが追加されますが、これは貪欲デコードに比べた場合のコストです。ただし、多くのアプリケーションでは、出力品質の利点がこのコストを上回ります。主要な深層学習フレームワークであるPyTorchやTensorFlowでは、累積和演算とマスキングを使用してこのプロセスを最適化しています。閾値pはハイパーパラメータであり、多くの言語生成タスクでは0.9から0.9の範囲の値が一般的ですが、最適な値は特定のモデルとアプリケーションに依存します。
影響と採用
2019年の導入以来、top-pサンプリングは、OpenAI、Anthropic、Google DeepMindなどによって開発された多くの大規模言語モデルを含む、様々なデコード戦略の標準的なコンポーネントとなっています。これはしばしばテキスト生成APIやオープンソースライブラリのデフォルトのサンプリング方法です。この技術の適応性により、生成AIシステムにおける創造性と一貫性のバランスを取るための重要なツールとなり、チャットボットやコンテンツ生成などのアプリケーションで人間らしいテキストを生成する方法に影響を与えています。