# Speculative Decoding ## 定義 Speculative Decoding(投機的復号)とは、通常の自己回帰生成が K トークンの予測に K 回の forward を要しレイテンシが無視できなくなる問題に対し、軽量なドラフトモデルや追加予測モジュールで複数トークンを仮予測させ、それを大きなターゲットモデルで並列検証・棄却サンプリングすることで出力分布を保ったまま生成を高速化する手法である。最も単純な構成(小さいモデルによるドラフト)は小モデル自体の KVCache が膨れ上がり実用性が低いため、Medusa(追加予測ヘッド)や Eagle(直前予測を逐次入力する連鎖的ドラフト)のように、余分なメモリを使わずに数トークン先をドラフトする手法が発展してきた。(Source: [[@2026__SpeakerDeck__LLM高速化(勉強会)]]) ## 横断的知見 - **KVCache 削減という制約が、ドラフト手法の設計を単純な小型モデルから軽量ヘッド方式へ押し出した**: 素朴な Speculative Decoding(小型ドラフトモデル)は KVCache の二重負担という [[KVキャッシュ管理]] 上の問題により実用性が低いとされ、Medusa・Eagle はいずれも「ターゲットモデルの隠れ状態を再利用し追加の KVCache を持たない」設計に収束している。これは KVCache 容量制約がアルゴリズム設計そのものを規定する例であり、[[Grouped-Query Attention]] や [[Multi-Head Latent Attention]] が KVCache 削減をアーキテクチャ側で解決するのと対をなす、生成アルゴリズム側からの対処である。(Source: [[@2026__SpeakerDeck__LLM高速化(勉強会)]]) - **公開 draft モデルによる Speculative Decoding の実運用適用例**: [[Kimi K3]] の Day0 デプロイでは、モデル配布元が同時公開した draft モデル(RadixArk/Kimi-K3-DSpark)を用いた DSPARK アルゴリズムで投機的デコーディングを実装した。ターゲットモデルの開発元が draft モデルを同時配布する形態は、Medusa/Eagle のような「追加ヘッド方式」とも「サードパーティ製小型ドラフトモデル」とも異なる第三の運用パターンであり、大規模 MoE モデル(2.8T)においても KVCache 負担なしに投機的デコーディングを適用できることを示す。(Source: [[@2026__Fixstars Tech Blog__Kimi-K3 を Day0 デプロイ - 2.8T モデルは NVIDIA B300 x8 の 1 ノードで動くのか]]) - **語彙予測の 2 段階クラスタリングは、計算量とメモリロードの両方を削減できる**: 出力層で vocab_size 全体に対する行列積を 1 段階で行う代わりに、クラスタを選択してからクラスタ内トークンを選ぶ 2 段階構成にすると、大雑把な評価で `cluster_size + vocab_size/cluster_size` が `vocab_size` を下回り計算量が削減されるだけでなく、2 段階目のメモリロード量も減る。これは Speculative Decoding のドラフト生成コスト自体をさらに下げる、語彙側からのアプローチである。(Source: [[@2026__SpeakerDeck__LLM高速化(勉強会)]]) - **投機的デコーディングの高速化は「モデル内部状態への高速アクセス」という、より一般的なシステム要求の一事例として位置づけられる**: [[@2026__arXiv__Enabling Performant and Flexible Model-Internal Observability for LLM Inference]] は、EAGLE-3 がターゲットモデルの内部特徴(feature-level)を利用してドラフト受理率を高める設計を、可観測性システム DMI-Lib の動機付けユースケースの一つとして挙げる。さらに vLLM 0.17.0 が EAGLE-3 向けに補助隠れ状態を公開する機能を追加したが、この機能は prefill 段階に限定され投機的デコーディング専用に密結合しているため、汎用的なモデル内部可観測性としては使えないと分析している。これは、投機的デコーディング側の「内部状態を積極活用して高速化する」という設計と、[[モデル内部可観測性]] 側の「内部状態への汎用アクセスを推論ホットパスから分離して提供する」という設計が、同じ内部状態(隠れ状態・特徴量)を対象にしながら異なる最適化目標(高速化 vs 汎用可観測性)を持つ独立した設計軸であることを示す。(Source: [[@2026__arXiv__Enabling Performant and Flexible Model-Internal Observability for LLM Inference]] Section 2.2, Section 8) - **本番グレード推論エンジン上での体系的ベンチマークは、検証(verification)コストの支配とバッチサイズ依存の速度向上減衰を定量化した**: [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]] は [[vLLM]] 上で n-gram・EAGLE/EAGLE-3・Draft-Model・MTP を横断比較し、検証段階が全実行時間の 42〜95% を占め支配的コストであることを示した。バッチサイズが 1→128 と増えるほど速度向上は縮小し(例: Llama3.1-8B・GSM8K で EAGLE が 1.73×→1.21×)、この減衰はモデルサイズが大きいほど顕著になる(70B は 8B の 3 倍超の減衰率)。これは前段の「KVCache 削減という制約がドラフト手法の設計を規定する」知見と並ぶ、もう一つの制約軸——**バッチサイズと検証コストのトレードオフがドラフト手法の実用性を規定する**——を提示する。(Source: [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]]) - **トークン受理率(acceptance rate)はリクエスト内・リクエスト間・データセット間の 3 レベルで大きく変動し、手法ごとに定性的に異なるパターンを示す**: n-gram は局所的な繰り返し(コード編集の識別子再利用等)に依存するため高分散(散発的に 15 トークン超の長い受理スパン、他は 1 トークンのみ)、EAGLE/EAGLE-3 は学習済み補助ヘッドにより中央値付近に集中したコンパクトな分布(典型 2〜4 トークン)を示す。この受理挙動の変動性が、単一の固定戦略(固定提案長・単一手法)では最適化しきれない理論上限とのギャップの根本原因になっている。(Source: [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]]) - **理論上限(oracle)との実測ギャップは、複数 SD 手法の位置適応的な組み合わせにより最大 4.9 倍まで縮小できる可能性を示す**: 受理長が事前に分かっている oracle 設定は固定提案長の最良設定を大きく上回り(InstructCoder・n-gram・バッチサイズ 1 で oracle 2.75× vs 固定 k=5 で 2.1×)、さらに EAGLE と n-gram を生成位置ごとに最良選択する Oracle Combine は単一手法比で最大 2.2× の追加速度向上、標準デコーディング比で最大 4.9× を達成する。ただしこの追加余地はワークロード依存(InstructCoder で最大、GSM8K でほぼゼロ)であり、n-gram の有効性は BLEU-n(プロンプト-出力オーバーラップ)で予測可能というリクエスト適応的手法選択への具体的な足がかりも示された。(Source: [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]]) - **同系列の大小モデル(8B+70B)を用いた最も単純なドラフト構成でも、バッチサイズ1の低遅延シナリオでは実測ベースで有効な高速化が得られる**: 『実践的パフォーマンスエンジニアリングによるAI高速化』第4章は、Llama3-70Bのバッチサイズ1推論(14 tokens/sec)に対し、同系列のLlama3-8BをドラフトモデルとしたAssisted Generating(Transformers実装)により17 tokens/sec(約21%高速化)を達成した実例を示す。ドラフト列20トークンに対し平均8〜9トークンが採用されたと推定されており、これは前段の知見が指摘する「素朴な小型ドラフトモデルはKVCache二重負担で実用性が低い」という制約が、バッチサイズ1(KVCacheの絶対量が小さい)の低遅延シナリオでは相対的に問題化しにくいことを示す一次事例である。Medusa/Eagleのような追加ヘッド方式が高バッチ・高スループット環境でのKVCache制約を主に解決するのに対し、同系列モデルの素朴な組み合わせは低遅延・低バッチ環境でむしろ実装が単純なまま有効に機能する。(Source: [[@2026__SpeakerDeck__LLM高速化(勉強会)]], [[@2026__技術評論社__実践的パフォーマンスエンジニアリングによるAI高速化 - Chapter 4 実践1:LLM推論]]) - **教科書的な「著者報告値」の楽観的な速度向上と、本番グレードベンチマークの検証コスト支配という保守的な実測値の間には系統的なギャップがある**: 『AI Systems Performance Engineering』第15章は、EAGLEが最大約3.5倍、EAGLE-2がEAGLE比20〜40%高速、EAGLE-3がEAGLE-2比最大1.4倍・非最適化ベースライン比最大6.5倍という各手法の原著論文報告値を紹介し、単純な2モデル型投機的デコーディングも実務では1.5〜2.5倍が一般的だとする。これに対し[[@2026__arXiv__Speculative Decoding - Performance or Illusion?]]の[[vLLM]]上の体系的ベンチマークは、検証段階が全実行時間の42〜95%を占め、バッチサイズが1→128と増えるほど速度向上が縮小する(Llama3.1-8B・GSM8Kで1.73×→1.21×)ことを実測する。教科書が各手法の論文報告値をカタログ的に整理するのに対し、実測ベンチマークは「バッチサイズ・検証コストという運用条件次第で報告値から乖離する」という教科書だけでは見えない制約軸を明らかにする。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 15 Multinode Inference, Parallelism, Decoding, and Routing Optimizations]], [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]]) - **自己投機的デコーディング(draft-and-verify)は、外部draftモデルを廃した「モデル自身による層間引き/精度低下ドラフト」という第三の設計として、教科書と学会論文の両方で独立に整理されている**: 第15章はtargetモデル自身が半分の層をスキップ(または低精度で実行)してdraftし、フルパスで検証する自己投機的デコーディングを紹介し、KVCache削減という制約への対処というよりモデル配布・保守の単純化を主眼に置く。これは既存知見が指摘する「KVCache二重負担の回避」という設計原則(Medusa/EAGLEの追加ヘッド方式)とは異なる動機——追加モデルの学習・保守コストの排除——から同じ結論(単一モデルで完結する投機的デコーディング)に至る例である。(Source: [[@2025__OReilly__AI Systems Performance Engineering - Chapter 15 Multinode Inference, Parallelism, Decoding, and Routing Optimizations]]) - [外部ドラフトモデル不要な自己投機的デコーディング] [[@2025__arXiv__Scaling up Test-Time Compute with Latent Reasoning - A Recurrent Depth Approach]] は、再帰深度モデル自身をより少ない反復回数で走らせることでドラフトトークン列を生成し、より多い反復回数で検証する自己投機的デコーディングを提案した。ドラフト時に計算した潜在状態は検証時にも再利用でき、外部ドラフトモデルや Medusa ヘッド、layer skipping ベースの自己投機的デコーディング(Zhang et al. 2024b)を必要としない(Source: [[@2025__arXiv__Scaling up Test-Time Compute with Latent Reasoning - A Recurrent Depth Approach]])。 - DeepSeek-V4.1-Flash の DSpark は、3 つの Transformer ブロックからなる drafter が 1 回の forward pass で 5 つのドラフト位置の base logits を並列生成し、軽量な Markov head でドラフトトークン間の依存関係をモデル化する半自己回帰型の投機的デコーディングである。confidence head が位置ごとの受理確率を予測し、スケジューラがそれとプロファイル済みエンジンスループット曲線を組み合わせて検証長を動的に選ぶ。DeepSeek-V3 の MTP のようにバックボーンと同時学習せず、事前学習後の専用段階でバックボーンを凍結して DSpark のみを学習し、post-training では backbone と同時学習しつつ DSpark への勾配伝播はバックボーンへ流さない(Source: [[@2026__TechReport__DeepSeek-V4.1-Flash - Pushing the Limits of KV Cache Compression]])。 ## 未解決の問い - Medusa・Eagle 以降のドラフト手法(木構造検証を含む)と、GQA/MLA/Linear Attention のような KVCache 削減アーキテクチャを組み合わせた場合の複合効果はどの程度か。 - Linear Attention のように前の hidden_state を使うアーキテクチャは、途中までの KVCache を破棄する Speculative Decoding 的手法に弱いとされる。この弱点はドラフト側・検証側のどちらの設計変更で緩和できるか。 - EAGLE と n-gram のような相補的 SD 手法を、位置ごと・リクエストごとに実運用で切り替える軽量な predictor(BLEU-n のような代理指標を用いた事前判定を含む)はどう設計すべきか。Oracle Combine が示す最大 4.9× の理論上限に対し、実装可能な近似はどこまで近づけるか。 - Tree-style 検証(EAGLE tree k=6/k=21)はバッチサイズ 1 でのみ優位という知見は vLLM の draft-tree パス実装成熟度に依存する可能性がある(評価は SGLang で代替実施)。vLLM 上で最適化された tree 検証ではこの結果は変わるか。 - vLLM 0.17.0 の EAGLE-3 向け補助隠れ状態公開機能が prefill 限定・投機的デコーディング専用結合になっている実装上の理由は何か。汎用的なモデル内部可観測性システム([[モデル内部可観測性]])と統合すれば decode 段階への拡張やユースケースの一般化は可能か(Source: [[@2026__arXiv__Enabling Performant and Flexible Model-Internal Observability for LLM Inference]] Section 8)。 - 『AI Systems Performance Engineering』第15章が紹介する各手法(EAGLE/EAGLE-2/EAGLE-3/Medusa)の原著論文報告値は、「Speculative Decoding: Performance or Illusion?」のような本番グレードベンチマークでバッチサイズ・検証コストを考慮した場合、どこまで再現されるか。EAGLE-3の「非最適化ベースライン比最大6.5倍」という数値は検証コスト支配下でどの程度まで縮退するか。 ## 関連 - 隣接 concept: [[LLM推論]] / [[KVキャッシュ管理]] / [[線形注意]] / [[モデル内部可観測性]] - ソース: [[@2026__SpeakerDeck__LLM高速化(勉強会)]] / [[@2026__Fixstars Tech Blog__Kimi-K3 を Day0 デプロイ - 2.8T モデルは NVIDIA B300 x8 の 1 ノードで動くのか]] / [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]] / [[@2026__arXiv__Enabling Performant and Flexible Model-Internal Observability for LLM Inference]] / [[@2026__技術評論社__実践的パフォーマンスエンジニアリングによるAI高速化 - Chapter 4 実践1:LLM推論]] / [[@2025__OReilly__AI Systems Performance Engineering - Chapter 15 Multinode Inference, Parallelism, Decoding, and Routing Optimizations]] / [[@2025__arXiv__Scaling up Test-Time Compute with Latent Reasoning - A Recurrent Depth Approach]] ## 出典 - [[@2026__SpeakerDeck__LLM高速化(勉強会)]] — Speculative Decoding の基本構成、Medusa/Eagle の比較、2 段階クラスタリングによる語彙予測の計算量見積もり - [[@2026__技術評論社__実践的パフォーマンスエンジニアリングによるAI高速化 - Chapter 4 実践1:LLM推論]] — Llama3-70B+8B・バッチサイズ1でのAssisted Generating実測(14→17 tokens/sec、約21%高速化) - [[@2026__Fixstars Tech Blog__Kimi-K3 を Day0 デプロイ - 2.8T モデルは NVIDIA B300 x8 の 1 ノードで動くのか]] — 公開 draft モデル(DSPARK)を用いた Kimi K3 での実運用適用例 - [[@2026__arXiv__Speculative Decoding - Performance or Illusion?]] — vLLM 上での n-gram/EAGLE/EAGLE-3/Draft-Model/MTP の体系的ベンチマーク、検証コスト支配、受理挙動の 3 レベル変動、理論上限との最大 4.9× ギャップ - [[@2026__arXiv__Enabling Performant and Flexible Model-Internal Observability for LLM Inference]] — EAGLE-3の内部特徴活用を可観測性システムの動機付けユースケースとして分析。vLLM 0.17.0のEAGLE-3向け補助隠れ状態公開機能がprefill限定・投機的デコーディング専用結合である実装上の制約を指摘 - [[@2025__OReilly__AI Systems Performance Engineering - Chapter 15 Multinode Inference, Parallelism, Decoding, and Routing Optimizations]] — EAGLE/EAGLE-2/EAGLE-3・Medusa・自己投機的デコーディングの体系的整理と各手法の原著報告値