投機的デコードはLLM推論の精度を損なうか?

投機的デコードはLLM推論の精度を損なうか?

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 InstructEAGLE-LLaMA3-Instruct-8B です。統計結果を以下に示します:

  • 青:ベースモデルのロジットのソフトマックス
  • 緑:ドラフトモデルのロジットのソフトマックス
  • オレンジ:投機的サンプリングによるトークン頻度(100万回)

ベースモデルのサンプリング分布の標準偏差は 9.694e-5 でした。これは期待通りです。

結論

投機的デコードは、大規模言語モデルの推論精度を損なうことはありません。厳密な数学的分析と実践的な実験を通じて、標準的な投機的デコードアルゴリズムのロスレス性を実証しました。数学的証明は、投機的サンプリング公式がベースモデルの元の分布を保持することを示しています。また、決定論的グリーディデコーディングと確率的多項サンプリングの両方を含む実験により、これらの理論的発見をさらに検証しました。グリーディデコーディングの実験では、投機的デコードの有無にかかわらず同一の結果が得られ、多項サンプリングの実験では、多数のサンプルにおけるトークン分布の差は無視できる程度でした。

これらの結果は総合的に、投機的デコードが精度を犠牲にすることなくLLM推論を大幅に高速化できることを裏付けており、将来的にはより効率的でアクセスしやすいAIシステムへの道を開くものです。

詳細については、Novita AI をご覧ください!