vLLM、推測デコードを単一トークン生成の先へ:P-EAGLE・DFlash・DSparkをサポート
導入
推測デコードは、大規模言語モデルの推論サービングを高速化するための重要な技術になっている。小型または専用のドラフトモデルが複数の候補トークンを提案し、メインの検証モデルがそれらを一度の前向き計算で確認することで、メモリ帯域の制約を緩和しやすくなる。今回のvLLM Blogの焦点は、SpeculatorsとvLLMがP-EAGLE、DFlash、DSparkという3つの並列ドラフティング手法をサポートした点にある。
核心ポイント
- 従来手法の制約はドラフト生成に残っていた。 EAGLEやMTPは、検証モデルの豊かな隠れ状態をドラフトモデルに利用させることで、候補トークンの受理率を高めた。しかしEAGLE-3のような発展形でも、複数トークンを提案するには1トークンずつ順番に生成する必要があった。
- 並列ドラフティングはコスト構造を変える。 P-EAGLE、DFlash、DSparkはいずれも、候補ブロック全体を1回のドラフト前向き計算で予測することを目指す。これにより、ドラフト段階の遅延が投機長に線形に縛られにくくなり、より表現力のあるドラフトモデルを使いやすくなる。
- P-EAGLEはEAGLEの発想を並列化する。 検証モデルの隠れ状態を入力特徴として直接取り込み、複数の将来位置に同時に写像する。訓練時にはdraft block sparsificationを用い、lookahead方向の損失計算を間引くことで、近い将来のトークンにより重点を置く。
- DFlashはKV-cacheに状態を注入する。 隠れ状態を入力列に追加するのではなく、投影してスペキュレータのKV-cacheへ組み込む。これにより入力長を増やさずに、注意機構を検証モデルの状態で強く条件付けできる。訓練ではsequence length sparsificationにより、ランダムなアンカー位置でのみブロック損失を計算する。
- DSparkは修正と選別を加える。 DFlash系のバックボーンに軽量な自己回帰補正ヘッドを組み合わせ、将来トークンと過去トークンの整合性を補う。さらに信頼度ヘッドで受理されそうな候補を事前に推定し、検証モデルへ送る無駄な候補を減らす。
意義と影響
並列ドラフティングの意味は、単に「速くなる可能性がある」ことにとどまらない。ドラフトモデルを候補ブロックごとに1回だけ実行できれば、モデルを極端に小さく保つ必要が弱まり、運用側も投機長の細かな調整に悩まされにくくなる。これは、推論サービングの設計上の自由度を広げる変化だ。
vLLM Blogでは、Qwen3-8BとP-EAGLEによる数学推論、Qwen3-30B-A3BとDFlashによるコーディング、gemma-4-31B-itとDSparkによるコーディングの例が示され、EAGLE-3に対する改善が報告されている。ただし、性能はモデル、タスク、ハードウェア構成によって変わるとも明記されている。
LLMサービングに取り組むチームにとって、今回の更新は推測デコードの議論を一段進めるものだ。焦点は「小さなモデルにどう正確に推測させるか」から、「候補生成そのものをどう逐次処理から解放するか」へ移りつつある。実運用で安定した効果が確認されれば、並列ドラフティングは高スループット推論基盤の一般的な部品になり得る。
出典:vLLM Blog
コメント
ログイン状態を確認中…
コメントを読み込み中…