Literature review · Pluralis · compiled August 2026

Speculative Decoding Atlas

Speculative decoding accelerates LLM inference by guessing several future tokens cheaply, then verifying them with the target model in a single parallel forward pass. Rejection-sampling verification makes the output provably identical to standard decoding, so the speedup is (usually) free. This atlas maps ~45 published methods into five families by where the draft tokens come from, compares their claimed gains, and tracks which are open source and which ship natively in vLLM and SGLang.

45+
methods surveyed (2022 – 2026)
5
families, by draft-token source
2.36×
EAGLE-3 measured on one harness (SGLang, Llama-3.1-8B, H100)
10+
methods native in vLLM; 6 in SGLang
01

Why guessing is free: draft, then verify

Autoregressive decoding is memory-bandwidth-bound: each step moves all the weights (and KV cache) through the GPU to produce one token. But a forward pass over several positions costs nearly the same as one. Speculative decoding exploits that slack: a cheap drafter proposes K tokens, the target model scores all K+1 positions in one pass, and a rejection-sampling rule accepts the longest prefix consistent with the target's own distribution — provably preserving it exactly (Leviathan et al. 2022; Chen et al. 2023). On rejection, the target's own sample replaces the first bad token, so every cycle emits at least one token and never emits a wrong one.

Autoregressive 1 token per full-model pass target target target target t₁ t₂ t₃ t₄ Speculative K drafts + 1 verify pass draft draft draft draft cheap drafter proposes t₁…t₄ target verifies t₁…t₄ + samples t₅ one parallel forward pass t₁ ✓ t₂ ✓ t₃ ✓ t₄ ✗ resample rejected token replaced by the target's own sample 4 tokens emitted for ~1 target pass → speedup ≈ accepted length ÷ draft overhead loop
One speculative cycle. Everything in this atlas varies three levers: who drafts (the five families below), what shape the draft takes (chain vs token tree, SpecInfer-style tree attention now standard), and how strictly it is verified (exact rejection sampling vs relaxed "typical acceptance").

Two consequences frame everything else. First, the speedup is bounded by acceptance length — how many draft tokens the target agrees with per cycle — times the cost ratio between drafter and target. Second, any drafting source works as long as verification stands: a small model, extra heads on the target, a suffix match in the prompt, or the target's own shallow layers. That choice of source is the cleanest way to categorize the field.

02

A taxonomy by draft source

Where do draft tokens come from? verification is (mostly) shared; drafting differs FAMILY 1 A separate small model classic SD SpecInfer DistillSpec Sequoia TriForce·MagicDec PEARL·AMUSD Saguaro draft = small LM FAMILY 2 Heads trained on target features Medusa·Hydra EAGLE 1/2/3 HASS·Falcon MLP speculator DeepSeek MTP ReDrafter DFlash·DSpark draft = trained head FAMILY 3 Retrieval from text already seen Prompt Lookup LLMA·REST SuffixDecoding SAM-Decoding Token Recycling PLD+·Ouroboros Ant Lookahead draft = matched text FAMILY 4 Parallel fixed-point iteration (Jacobi) Jacobi decoding Lookahead (LMSYS) CLLMs Jacobi Forcing draft = own iterates FAMILY 5 A subset of the model itself Draft&Verify LayerSkip Kangaroo SWIFT·CLaSp Spec.Streaming PPSD draft = early exit / sparse self Orthogonal boosters used across families: token-tree drafting + tree attention (SpecInfer → EAGLE-2, Sequoia) · adaptive draft length (SpecDec++, DSpark, SuffixDecoding) · draft–verify parallelism (PEARL, AMUSD, PPSD, Saguaro) · relaxed/typical acceptance (Medusa, ReSpec, FLy — trades exactness for speed)
The five families, keyed by color throughout this page. Hybrids exist (Ouroboros mixes a draft model with retrieval; DeepSeek-MTP is a head that ships from pretraining), but the draft source remains the most predictive axis for cost, quality, and integration effort.
03

The five families, with trade-offs

Family 1 · Independent draft model

A separate small model guesses; the big one checks

The original formulation (Leviathan et al. 2022 · arXiv:2211.17192; Chen et al. 2023 · arXiv:2302.01318). Successors improved the tree shape (SpecInfer, Sequoia), the draft's alignment (DistillSpec, OSD), the schedule (SpecDec++, PEARL, AMUSD, Saguaro), and the regime (TriForce and MagicDec target long context, where the KV cache — not the weights — is the bottleneck).

  • Classic SD '22
  • SpecInfer '23
  • DistillSpec '23
  • OSD '23
  • BiLD '23
  • CS-Drafting '23
  • SpecDec++ '24
  • Sequoia '24
  • TriForce '24
  • MagicDec '24
  • PEARL '24
  • AMUSD '24
  • Saguaro '26

Advantages

  • Zero modification of the target and often zero training — any aligned smaller checkpoint works.
  • Lossless by construction; the mature, well-understood baseline every engine implements.
  • Draft quality is upgradeable independently (distillation, online adaptation, cascades).
  • Long-context variants (TriForce, MagicDec) give speedups even at large batch, where SD was assumed to hurt throughput.

Disadvantages

  • Needs a well-aligned small model with the same tokenizer — often nonexistent for a given target (HF's Universal Assisted Decoding partially lifts this).
  • Extra GPU memory + KV cache for the second model; serving-side scheduling complexity.
  • Drafting is itself autoregressive → serial overhead; acceptance drops off-distribution.
  • Acceptance per draft parameter is much worse than feature-level heads (Family 2).
Family 2 · Self-drafting heads & modules

Lightweight heads read the target's hidden states

Medusa (arXiv:2401.10774) attached parallel FFN heads; EAGLE (1, 2, 3) made the head autoregressive at the feature level and now defines the production standard. DeepSeek-V3's MTP module showed the head can be trained during pretraining and shipped with the weights — a pattern Qwen3-Next, GLM-4-MoE, and others now follow. The 2026 frontier is DFlash (arXiv:2602.06036): a block-diffusion drafter that emits a whole draft block in one non-autoregressive pass.

  • Medusa '24
  • Hydra '24
  • EAGLE-1/2 '24
  • EAGLE-3 '25
  • HASS '24
  • Falcon '24
  • Clover-2 '24
  • GliDe+CaPE '24
  • Chimera '24
  • ReDrafter '24
  • MLP speculator '24
  • DeepSeek MTP '24
  • DFlash '26
  • DSpark '26

Advantages

  • Highest acceptance per drafted parameter — the head reuses the target's own representations (EAGLE-3 up to ~6.5× claimed; 2.36× measured end-to-end in SGLang).
  • Single-model deployment: ~one extra layer of memory, no second tokenizer or KV cache.
  • Best engine support of any family — EAGLE-3 and MTP are the production defaults in both vLLM and SGLang.
  • MTP-at-pretraining makes speculation free for deployers; training frameworks (SpecForge, Speculators) plus public head zoos remove most of the training burden.

Disadvantages

  • A head must be trained per target model (data + GPUs), and retrained after fine-tuning the target.
  • Feature-level drafting couples the head to internal representations — fragile under quantization or architecture change.
  • Medusa-style "typical acceptance" is not lossless (relaxed verification); exactness requires the rejection-sampling mode.
  • Quality depends heavily on draft-training data matching the serving distribution.
Family 3 · Retrieval / n-gram lookup

Copy the future from text you have already seen

When outputs overlap inputs — summarization, code editing, RAG, multi-turn chat, agentic loops — the next tokens often literally appear in the context. Prompt Lookup Decoding (repo) matches n-grams in the prompt; REST (arXiv:2311.08252) retrieves from an external datastore; SuffixDecoding (arXiv:2411.04975, NeurIPS '25 spotlight) builds suffix trees over all prior outputs and dominates agentic workloads; Token Recycling reuses the model's own discarded top-k logits, so it works even without text overlap.

  • Prompt Lookup '23
  • LLMA '23
  • REST '23
  • Ant Lookahead '23
  • Ouroboros '24
  • ANPD '24
  • Token Recycling '24
  • SuffixDecoding '24
  • SAM-Decoding '24
  • PLD+ '24
  • ReSpec '25

Advantages

  • Zero training, near-zero compute, no extra model — deployable on any checkpoint instantly.
  • First-class serving support: n-gram lookup ships in vLLM, SGLang, TensorRT-LLM, and HF Transformers; suffix decoding is native in vLLM.
  • State of the art on overlap-heavy workloads — SuffixDecoding reports up to 5.3× on agentic pipelines, beating EAGLE-class methods there.
  • Composable: SAM-Decoding + EAGLE-2 beats either alone.

Disadvantages

  • Speedup collapses toward 1× on free-form generation with no input–output overlap (Token Recycling is the exception).
  • Acceptance is bursty and workload-dependent — hard to give latency guarantees.
  • Datastore/suffix-tree variants add memory that grows with history, plus cache-management complexity.
  • Flat text copies carry no model uncertainty — trees are shallow compared to learned drafters.
Family 4 · Jacobi / parallel decoding

Treat decoding as a fixed point and iterate in parallel

Greedy decoding solves a triangular system; Jacobi iteration guesses all positions and refines them in parallel (Santilli et al., ACL '23). Vanilla Jacobi barely helps LLMs, but Lookahead Decoding (arXiv:2402.02057, LMSYS blog) harvests n-grams from the iteration trajectory, and CLLMs / Jacobi Forcing fine-tune the model so trajectories converge in a few steps.

  • Jacobi decoding '23
  • Lookahead Decoding '23
  • CLLMs '24
  • Jacobi Forcing '25

Advantages

  • No draft model, no heads, no datastore; Lookahead is training-free and exact.
  • Content-agnostic — works on free-form text where retrieval fails.
  • Trained variants are strong: CLLMs 2.4–3.4×, Jacobi Forcing 3.8–4.0× on code/math.
  • Tunable FLOPs-for-latency knob (lookahead window size).

Disadvantages

  • Burns extra FLOPs every step — hostile to batched, throughput-oriented serving; no mainstream engine ships it today (TRT-LLM keeps it only in its legacy flow).
  • Training-free speedups are modest (~1.5–2.3×).
  • CLLMs / Jacobi Forcing modify the model — outputs are no longer bit-exact with the original.
  • Gains concentrate on structured domains (code, math).
Family 5 · Self-speculative / layer-skip

The model drafts with a cheaper version of itself

Draft&Verify (arXiv:2309.08168) skips a searched subset of layers to draft, then verifies with the full stack — one model, one KV cache. LayerSkip (arXiv:2404.16710, Meta) bakes early-exit quality in at training time; SWIFT and CLaSp pick skip-sets on the fly with no training at all; 2026 work (SparseSpec-L) drafts with a sparsified KV cache instead of fewer layers.

  • Draft&Verify '23
  • LayerSkip '24
  • Kangaroo '24
  • SWIFT '24
  • EESD '24
  • SPACE '24
  • Spec. Streaming '24
  • CLaSp '25
  • PPSD '25
  • SparseSpec-L '26

Advantages

  • No second model or head to source, train, or host; weights and (often) KV cache are shared.
  • Training-free members (Draft&Verify, SWIFT, CLaSp) work on any off-the-shelf checkpoint.
  • Memory-friendliest family — attractive for on-device and memory-tight deployments.
  • Content-agnostic, lossless verification.

Disadvantages

  • Lowest speedups when training-free (~1.3–2×) — the drafter still runs a large fraction of the full model.
  • High-speedup members (LayerSkip, SPACE, Speculative Streaming) require training and subtly change the base model.
  • Almost no serving-engine integration — only LayerSkip via HF Transformers' assistant_early_exit.
  • Skip-set quality is task-sensitive; static sets transfer poorly.
04

How fast? Claimed vs measured

Every paper reports speedup against its own autoregressive baseline, on its own model, hardware, and workload — so the chart below is a map of claims, not a leaderboard. Bars are colored by family; the workload each number came from is shown on hover and in the master table.

Claimed maximum speedup over standard decoding

Best case reported by each paper · batch-1 latency unless noted · different models/GPUs/tasks — indicative only

EAGLE-36.5× DFlash6×+ (≤15× Blackwell) SuffixDecoding5.3× agentic PLD+5.2× editing Saguaro PEARL4.43× EAGLE-24.26× HASS4.05× Sequoia4.04× (9.96× offload) Jacobi Forcing4.0× ≈ Ouroboros3.9× code Medusa-23.6× ≈ EAGLE-13.5× Classic SD3.4× CLLMs3.4× ≈ SpecInfer2.8× MagicDec2.51× hi-batch Prompt Lookup2.4× summar. REST2.36× TriForce2.31× 128K ctx Lookahead2.3× code LayerSkip2.16× Draft&Verify1.99× DeepSeek MTP1.8× Kangaroo1.68× SWIFT1.6×
≈ marks methods whose headline number uses relaxed acceptance or a fine-tuned model — output is not bit-identical to the base model. All others verify losslessly. Sources: each method's paper or blog, linked in the master table.

Same harness, same model: what actually ships

SGLang official benchmark · Llama-3.1-8B-Instruct · MT-Bench · 1× H100 · output tokens/s

baseline (no spec.)158 tok/s EAGLE-2244 tok/s · 1.54× EAGLE-3373 tok/s · 2.36×
The honest yardstick: identical model, hardware, and workload inside a production engine. Real end-to-end gains are roughly half the papers' best-case claims — still transformative, and still free. Source: SGLang speculative decoding docs.
05

Four years, three regime changes

2023 2024 2025 2026 Spec. SamplingDeepMind · 70B scale Draft&Verifyself-speculation begins Medusa · EAGLE-1the heads era opens EAGLE-2dynamic draft trees DeepSeek-V3 MTPdraft heads ship at pretraining SpecForge · Speculatorshead training industrialized EAGLE-3.1 · DSparkadaptive verification Classic SDLeviathan et al. SpecInfertree attention PLD · REST · Lookaheadtraining-free wave LayerSkip · TriForceearly exit · long context SuffixDecodingagentic workloads EAGLE-3the production default DFlashdiffusion drafts a block at once
Three regime changes: (1) 2023 — tree attention makes verification wide; (2) 2024 — feature-level heads (EAGLE) beat separate draft models, and MTP moves drafting into pretraining; (3) 2025–26 — the ecosystem industrializes (SpecForge, Speculators) and drafting goes non-autoregressive (DFlash).
06

What runs where: vLLM, SGLang, and the other engines

Production engines have converged on two families: retrieval (n-gram / suffix) because it is free, and trained heads (EAGLE-3 / MTP) because they win. In vLLM everything is configured through --speculative-config '{"method": …}'; in SGLang through --speculative-algorithm. No mainstream engine ships Jacobi/Lookahead, and self-speculative methods surface only through HF Transformers.

ApproachvLLM (V1)SGLangTensorRT-LLMHF Transformersllama.cpp
Draft model (classic SD) draft_model
removed in early V1, restored via PR #24322; cross-vocab greedy-only
STANDALONE Draft-Target assisted generation + UAD (cross-tokenizer)
N-gram / prompt lookup ngram · ngram_gpu NGRAM (CUDA-only) NGram prompt_lookup_num_tokens multiple ngram modes
EAGLE-1 / 2 eagle EAGLE
EAGLE-3 eagle3 EAGLE3
Medusa medusa (de-emphasized)◐ legacy flow
MLP speculator (IBM) mlp_speculator
MTP (DeepSeek, Qwen3-Next, GLM-4, …) mtp / deepseek_mtp / qwen3_next_mtp … MTP (via EAGLE machinery) MTP (DeepSeek) use_mtp
Suffix decoding suffix (needs arctic-inference)announced◐ Suffix Automaton
DFlash (block-diffusion draft) dflash DFLASH
DSpark (adaptive verification) dspark
PARD (parallel draft model) draft_model + parallel_drafting
ReDrafter (Apple)◐ legacy flow
Lookahead (Jacobi)◐ legacy flow
LayerSkip early exit assistant_early_exit
Custom drafter hook custom_class (experimental) UserProvided
● native · ◐ legacy / partial / plugin-dependent · — not available. Verified against the vLLM docs, SGLang docs, TensorRT-LLM docs, HF assisted-decoding docs, and llama.cpp docs, August 2026. vLLM extras: dynamic speculation length by batch size, per-request acceptance metrics, hidden-state extraction for draft training. SGLang extras: FR-Spec vocab truncation, torch.compile-optimized EAGLE.
07

Master table

Every surveyed method. Lossless = output distribution provably identical to the target model. Filter by family:

MethodFamilyYear · venueCore ideaClaimed speedupLosslessTrainingOpen sourcevLLMSGLang
Speculative Decoding (Leviathan)draft model'22 · ICML'23Small LM drafts K tokens; rejection sampling preserves target distribution2–3.4× (T5-XXL)none3rd-party impls
Speculative Sampling (Chen)draft model'23 · arXivSame scheme at Chinchilla-70B scale, distributed TPU setting~2–2.5×noneno official code
SpecInferdraft model'23 · ASPLOS'24Token-tree drafting + parallel tree-attention verification (first)1.5–2.8×optional boost-tuneFlexFlow
DistillSpecdraft model'23 · ICLR'24On-policy distillation aligns draft with target, raising acceptance+10–45% over SDdistill draftnotechniquetechnique
Online Spec. Decodingdraft model'23 · ICML'24Continually fine-tunes draft on live traffic with spare FLOPs1.42–2.17×onlineresearch
BiLDdraft model'23 · NeurIPS'23Small model leads; fallback/rollback policies call the big model on demandup to 2.12×noneyes (repo)
Cascade Spec. Draftingdraft model'23 · arXivVertical + horizontal cascades of ever-cheaper draftersup to +81% over SDnoneunverified
SpecDec++draft model'24 · COLM'25Learned acceptance head stops drafting adaptively (MDP view)2.04–2.26×small headresearch
Sequoiadraft model'24 · NeurIPS'24DP-optimal, hardware-aware speculation tree topology4.04×; 9.96× offloadnonerepo
TriForcedraft model'24 · COLM'24Hierarchical: sparse-KV self-draft + tiny drafter for 100K+ contexts2.31×; 7.78× offloadnonerepo
MagicDecdraft model'24 · ICLR'25Sparse-KV drafts make SD win throughput at large batch, long contextup to 2.51× (bs 32–256)nonerepo
PEARLdraft model'24 · ICLR'25Pre/post-verification lets draft and target run in parallel4.43×; 1.5× over SDnonerepoP-EAGLE blogissue open
AMUSDdraft model'24 · IEEEDraft and verify run asynchronously on separate GPUsup to 1.96×nonerepo
Saguaro (Spec.² Decoding)draft model'26 · ICLR'26Draft speculates on the verifier's outcome, so drafting never idlesup to 5×; +30% over SDnoneunverified
Medusaheads'24 · ICML'24Parallel FFN heads on last hidden state + tree attention2.2–3.6×≈ (typical accept.)headsrepo✓ medusa
Hydraheads'24 · COLM'24Sequentially-dependent Medusa headsup to 2.7×headsrepo
EAGLE-1heads'24 · ICML'24Autoregressive head at feature level, conditioned on sampled token2.7–3.5×headrepo · Apache-2.0✓ eagle✓ EAGLE
EAGLE-2heads'24 · EMNLP'24+ context-aware dynamic draft tree ranked by draft confidence3.05–4.26×headrepo✓ EAGLE
EAGLE-3heads'25 · NeurIPS'25Multi-level feature fusion + training-time test; gains scale with dataup to ~6.5×; 2.36× measuredhead (more data)repo✓ eagle3✓ EAGLE3
HASSheads'24 · ICLR'25Harmonized training fixes train/decode feature mismatch of EAGLE heads2.81–4.05×headrepo
Falconheads'24 · AAAI'25Semi-autoregressive block drafting + glancing distillation2.91–3.51×moduleunverified
Clover-2heads'24 · arXiv (Baidu)RNN-flavored regressive heads with attention decoder, production-oriented+91–146% vs ARheadsunverified
GliDe + CaPEheads'24 · ICML'24Draft cross-attends the target's KV cache; confidence-expanded proposalsup to 2.61×draft modulepromised
Chimeraheads'24 · arXivTrigram encoder + one transformer block over target hidden statesavg 2.7×draft moduleunverified
ReDrafter (Apple)heads'24 · arXivRNN draft head with beam-search drafting~2×headyes
MLP Speculator (IBM)heads'24 · PyTorch blogSmall MLP heads conditioned on state + sampled tokens~2–3×headsHF weights✓ mlp_speculator
DeepSeek MTPheads'24 · tech reportMulti-token module trained during pretraining = free self-draft (85–90% acceptance)~1.8× TPSat pretrainingweights incl. MTP✓ mtp family✓ MTP
Mixture of Attentionsheads'24 · ICLR'25Draft mixes self/cross attention over target activations; on-policy training+9.5% over EAGLE-2headunverified
DFlashheads'26 · ICML'26Block-diffusion drafter conditioned on target features — whole block in one pass>6×; ≤15× Blackwelldiffusion draftrepo✓ dflash✓ DFLASH
DSparkheads'26 · arXivConfidence-scheduled, variable-length verification for block drafterson top of DFlashdraftvia engines✓ dspark
Prompt Lookup Decodingretrieval'23 · GitHubN-gram match against the prompt; continuation becomes the draft~2.4× summarizationnonerepo✓ ngram✓ NGRAM
LLMAretrieval'23 · arXivCopies spans from reference documents (RAG, history) and verifies>2× on RAGnoneLMOps
RESTretrieval'23 · NAACL'24Suffix-array datastore retrieval → Trie draft tree → tree attention1.62–2.36×none (datastore)repo
Lookahead (Ant Group)retrieval'23 · arXivTrie retrieval over prompt + generation history; deployed at Alipay~2–5× RAG (prod.)nonerepo
Ouroborosretrieval'24 · EMNLP'24Draft model + phrase pool from lookahead candidates and leftoversup to 3.9× vs ARnone (needs draft LM)repo · Apache-2.0
ANPDretrieval'24 · NAACL'24Adaptive multi-level n-gram stats built from live contextup to 3.67×noneno repo found
Token Recyclingretrieval'24 · ACL'25Reuses discarded top-k logits as a BFS draft tree (<2 MB state)~2× (incl. free-form)noneunofficial impl
SuffixDecodingretrieval'24 · NeurIPS'25Suffix trees over prompts + all prior outputs; adaptive speculation lengthup to 5.3× agenticnoneArcticInference✓ suffixannounced
SAM-Decodingretrieval'24 · ACL'25Suffix automaton gives exact longest-match retrieval in O(1)/step+18% over retrieval SDnonerepoSA in TRT-LLM
PLD+retrieval'24 · arXiv (IBM)PLD + candidate ranking via attention/hidden-state signals3.4–5.2× input-guidednoneunverified
ReSpecretrieval'25 · arXivEntropy-triggered retrieval + relaxed source-aware verification+33% over EAGLE-2≈ (relaxed mode)noneunverified
Jacobi Decodingjacobi'23 · ACL'23Guess all positions, refine in parallel to the greedy fixed point~1× on LLMs✓ greedynoneyes
Lookahead Decoding (LMSYS)jacobi'23 · ICML'24Harvests n-grams from Jacobi trajectories; verifies in a parallel branch1.5–2.3× (code best)nonerepo
CLLMsjacobi'24 · ICML'24Consistency-trains the model to jump Jacobi trajectories to the fixed point2.4–3.4×≈ (fine-tuned)full fine-tunerepo
Jacobi Forcingjacobi'25 · arXivProgressive distillation on the model's own parallel trajectories3.8–4.0× code/mathdistillationunverified
Draft & Verifyself-spec'23 · ACL'24Skips a searched subset of layers to draft; full stack verifiesup to 1.99×none (offline search)repo
LayerSkip (Meta)self-spec'24 · ACL'24Layer-dropout + early-exit training; early layers draft, rest verify, shared KV1.8–2.16×✓ vs own ckpttraining reciperepo + checkpoints
Kangarooself-spec'24 · NeurIPS'24Fixed shallow subnet + 67M adapter; confidence-based early exitup to 1.68×adapterrepo
SWIFTself-spec'24 · ICLR'25Input-adaptive layer-skip set optimized during inference itself1.3–1.6×nonerepo
EESDself-spec'24 · arXivEarly-exit head drafts; Thompson sampling sets draft lengthstrong on 13B/70Bhead (self-distill)not found
SPACEself-spec'24 · arXivSemi-autoregressive SFT + auto-correct decoding in one pass2.7–4.0× code≈ (SFT)full SFTnot found
Speculative Streaming (Apple)self-spec'24 · EMNLP'25Multi-stream attention; n-gram objective fuses drafting into the model1.8–3.1×≈ (fine-tuned)fine-tuneunofficial
CLaSpself-spec'25 · ACL'25DP re-picks the layer-skip set each step from last verification's states1.3–1.7×noneunverified
PPSDself-spec'25 · arXivPipelines early-exit drafting against deep-layer verification per token2.01–3.81×early-exit trainingresearch
SparseSpec-Lself-spec'26 · arXivDrafts with a dynamically sparsified KV cache; entropy-controlled lengthlong-context gainsnoneresearch

✓ = provably exact · ≈ = approximate (relaxed acceptance or a modified model) · "unverified" = paper promises code but no repo was confirmed during this review. vLLM/SGLang columns show native support only; anything can run via each engine's custom-drafter hook.

08

The ecosystem around the papers

Training frameworks — the missing piece, now industrialized

The main tax on Family 2 (a head per target model) has been largely paid down by two open frameworks. SpecForge (LMSYS/SGLang, blog) trains EAGLE-3-style drafts with training-time test built in, online or offline, FSDP/TP-parallel, MoE targets included — outputs plug straight into SGLang. Speculators (Red Hat / vLLM project, docs) standardizes draft checkpoints in an HF-compatible format, converts research-repo heads, and deploys directly in vLLM; v0.5 added DFlash support and online training. vLLM also ships hidden-state extraction to generate draft-training data from a serving deployment. Arctic Inference (Snowflake) is the vLLM plugin that contributed suffix decoding upstream and combines it with trained speculators.

Ready-made draft heads (no training needed)

Pre-trained heads now cover most popular open models: the EAGLE authors' originals (yuhuili on HF — LLaMA-2/3, Vicuna, Qwen); the LMSYS SpecBundle (Llama 3.1/3.3, Llama-4 Scout & Maverick, Qwen3 dense/MoE up to Coder-480B, GPT-OSS — several contributed by Meituan, Nex, EigenAI); RedHatAI speculators in vLLM-native format (Llama, Qwen3, gpt-oss, Gemma-4); IBM's ibm-ai-platform MLP accelerators (Llama, Granite, CodeLlama); and AMD's PARD collection. Models with built-in MTP heads (DeepSeek-V3/R1, Qwen3-Next, GLM-4-MoE, Ernie, Nemotron-3) need nothing at all.

Reading list — engineering blogs worth the time

Google Research — a retrospective from the original authors · vLLM — spec decode boosts performance up to 2.8× · LMSYS — Lookahead Decoding · LMSYS — SpecForge · LMSYS — DFlash & Spec V2 · Snowflake — SuffixDecoding at production scale · PyTorch/IBM — a hitchhiker's guide to speculative decoding · Together — ATLAS, speculators that keep learning from live traffic · Together — workload-customized drafts for DeepSeek-R1 · NVIDIA — TRT-LLM spec decode up to 3.6× · NVIDIA — DFlash on Blackwell, up to 15× · Baseten — production pitfalls of draft-target SD · Red Hat — the speculators format · HF — LayerSkip in Transformers. Surveys: Xia et al. 2024, Spec. Decoding and Beyond 2025; benchmark harness: Spec-Bench; curated list: Awesome-Speculative-Decoding.

09

Takeaways

EAGLE-3 is the de-facto production baseline. Native in vLLM, SGLang, and TensorRT-LLM, with pre-trained heads for most open models and two open training frameworks (SpecForge, Speculators). Any new method should be compared against it, not against vanilla SD.

Match the family to the workload. Overlap-heavy traffic (agents, RAG, editing) → retrieval methods, free and often ahead of EAGLE there (SuffixDecoding 5.3×). Open-ended chat/reasoning → trained heads. No training budget and no overlap → n-gram still costs nothing; self-speculative gives a modest bump on any checkpoint.

Papers report best cases; engines report reality. The one same-harness comparison here (SGLang, Llama-3.1-8B) shows EAGLE-3 at 2.36× where its paper headline is ~6.5×. Batch size matters too: speculation competes with batching for the same idle FLOPs, though MagicDec shows long-context large-batch wins are real.

Losslessness is a spectrum you choose. Rejection-sampling methods are provably exact; Medusa's typical acceptance, CLLMs/Jacobi-Forcing fine-tuning, and 2025's relaxed-verification wave (ReSpec, FLy) trade exactness for speed — fine for some products, unacceptable for evals.

The frontier is structural, not incremental. 2026's biggest gains change the drafting computation itself: non-autoregressive block-diffusion drafts (DFlash, >6×), draft/verify parallelism (PEARL, Saguaro, P-EAGLE), confidence-scheduled verification (DSpark), and MTP heads shipped from pretraining — which may eventually make bolt-on speculation unnecessary for new models.