LLMの特徴量レベルで自己回帰予測を行い、次トークン以降の複数候補をツリー構造で同時検証することで、Medusaを上回る2.5〜3.8倍の推論高速化を実現する並列デコーディング手法。
EAGLE(Extrapolation Algorithm for Greater Language-model Efficiency)は、Peking UniversityのLi et al.が2024年に発表した並列デコーディング手法である。Medusaがトークン確率空間で予測を行うのに対し、EAGLEは特徴量(feature)空間で自己回帰予測を行う点が根本的に異なる。この設計により、予測精度が大幅に向上し、Medusaの2.5倍に対してEAGLEは3.8倍(Llama 3 Chat 70B、temperature=0)の高速化を達成している。
EAGLEの処理フローは以下の3段階で構成される。
| 項目 | EAGLE (v1) | EAGLE-2 |
|---|---|---|
| ツリー構造 | 静的(固定トポロジ) | 動的(信頼度ベース適応) |
| 高速化倍率 | 2.5〜3.5x | 3.0〜3.8x |
| 受理率 | 平均72% | 平均79% |
| ツリーノード数 | 固定60ノード | 適応的(40〜120ノード) |
| コンテキスト依存性 | なし | あり(入力に応じてツリー形状を最適化) |
| 追加メモリ | +3% | +3〜5% |
EAGLE-2は各ステップの信頼度スコア(Confidence Score)に基づいてツリー構造を動的に調整する。高信頼度の予測パスには多くのノードを割り当て、低信頼度のパスは早期に枝刈りすることで、計算効率を維持しながら受理率を向上させている。
| モデル | タスク | EAGLE高速化 | Medusa高速化 | Spec.Dec.高速化 | GPU |
|---|---|---|---|---|---|
| Llama 3 Chat 70B | MT-Bench | 3.5x | 2.5x | 2.8x | A100 80GB |
| Llama 3 Chat 8B | MT-Bench | 2.8x | 2.1x | 2.3x | RTX 4090 |
| Vicuna 33B | コード生成 | 3.2x | 2.3x | 2.6x | A100 40GB |
| Mixtral 8x7B | 要約 | 2.9x | 2.0x |
全ベンチマークにおいてEAGLEはMedusaを上回る高速化を達成しており、特に長文生成タスク(コード生成・要約)で優位性が顕著である。
EAGLEヘッドの学習は以下のスペックで実施可能。
--speculative-model eagle としてネイティブサポート。EAGLE公式リポジトリでもPyTorch実装を提供Q1: EAGLEとMedusaのどちらを選ぶべきですか? A: 高速化倍率を最優先するならEAGLE(3.5x vs 2.5x)。学習コストを最小化したいならMedusa(2時間 vs 4時間)。メモリ増加量はどちらもベースモデルの3〜5%程度で大差ない。
Q2: EAGLEはClaude 4やGPT-4oにも適用できますか? A: EAGLEはモデルの内部特徴量にアクセスする必要があるため、APIのみ提供のクローズドモデルには直接適用できない。オープンウェイトモデル(Llama 3.x、Mistral、Qwen 2.5等)が対象となる。
Q3: EAGLE-2の動的ツリーはどう設定しますか? A: EAGLE-2のデフォルト設定では信頼度閾値0.3でツリーの枝刈りを行う。閾値を下げると探索範囲が広がり受理率が向上するが、計算コストも増加する。一般的には0.2〜0.4の範囲で調整する。
| 2.4x |
| A100 80GB |
| Llama 3.1 405B | 汎用 | 3.8x | N/A | 3.2x | H100 x4 |