Mitchell Sternら(2018)は、投機的デコードのプロトタイプ概念を導入しました。この手法はその後、Lookahead Decoding、REST、Medusa、EAGLEなど、さまざまなアプローチによってさらに開発・洗練され、大規模言語モデル(LLM)の推論プロセスを大幅に高速化しています。
「LLMにおける投機的デコードは、元のモデルの精度を損なうのではないか?」と疑問に思うかもしれません。簡単な答えは 「いいえ」 です。
正統派の投機的デコードアルゴリズムはロスレス(無損失)であり、数学的分析と実験の両方でこれを証明します。
数学的証明
投機的サンプリングの公式は次のように定義できます:

ただし:


以下は、DeepMindの論文によるこの公式のロスレス性の証明です:

数式を読むのが退屈だと感じる方のために、次に直感的な図を使って証明を説明します。




実験
投機的デコードが原理的にロスレスであることは数学的に証明しましたが、実装上のエラーは依然として発生し得ます。そのため、実験による検証も必要です。私たちは、決定論的手法であるグリーディデコーディングと、ランダム手法である多項サンプリングの2つのケースで実験を行いました。
グリーディデコーディング
LLMに短いストーリーを2回生成させました。1回目は通常の推論、2回目は投機的デコードを用いました。Medusaの投機的デコード実装を使用し、モデル重みは medusa-1.0-vicuna-7b-v1.5 、ベースモデルは vicuna-7b-v1.5 です。テスト実行後、2つの同一の結果が得られました。生成されたテキストは以下の通りです:

多項サンプリング
ランダムサンプリングの場合、状況はより複雑です。ランダムプログラムで結果を再現するほとんどの方法は、固定乱数シードを使用して疑似乱数生成器の決定性を活用します。しかし、このアプローチは私たちのシナリオには適しません。私たちの実験は大数の法則に依存しています。十分なサンプル数があれば、実際の分布と理論上の分布の誤差はゼロに収束します。
4つのプロンプトそれぞれについて、最初に生成されるトークンのサンプリングを100万回繰り返しました。使用したモデル重みは Llama3 8B Instruct と EAGLE-LLaMA3-Instruct-8B です。統計結果を以下に示します:


- 青:ベースモデルのロジットのソフトマックス
- 緑:ドラフトモデルのロジットのソフトマックス
- オレンジ:投機的サンプリングによるトークン頻度(100万回)
ベースモデルのサンプリング分布の標準偏差は 9.694e-5 でした。これは期待通りです。
結論
投機的デコードは、大規模言語モデルの推論精度を損なうことはありません。厳密な数学的分析と実践的な実験を通じて、標準的な投機的デコードアルゴリズムのロスレス性を実証しました。数学的証明は、投機的サンプリング公式がベースモデルの元の分布を保持することを示しています。また、決定論的グリーディデコーディングと確率的多項サンプリングの両方を含む実験により、これらの理論的発見をさらに検証しました。グリーディデコーディングの実験では、投機的デコードの有無にかかわらず同一の結果が得られ、多項サンプリングの実験では、多数のサンプルにおけるトークン分布の差は無視できる程度でした。
これらの結果は総合的に、投機的デコードが精度を犠牲にすることなくLLM推論を大幅に高速化できることを裏付けており、将来的にはより効率的でアクセスしやすいAIシステムへの道を開くものです。
詳細については、Novita AI をご覧ください!
