When Does Better Acceptance Pay? A Controlled Study of Speculative Decoding
Organizations: Department of Computer Science, Tianjin University of Technology · Baidu Inc. · School of Information Science and Engineering, Shandong University · School of Intelligence Science and Technology, Peking University ·
Abstract
The throughput gains of speculative decoding depend on the trade-off between acceptance length and execution latency. We ask when additional acceptance is worth the cost of obtaining it. We establish a comparison protocol spanning training, inference, and evaluation, remeasuring released checkpoints and retraining six drafter recipes on shared target-generated data across ten benchmarks and two target models. Alignment changes the picture: gaps that appear large in published comparisons shrink substantially under shared training and inference conditions. This narrowing motivates two deeper questions: how is acceptance improved at different costs, and when do these gains improve throughput? We find that acceptance can be improved through nearly free objective and context changes or more expensive token-to-token conditioning, which pays off most clearly under sampled drafting. DCore illustrates the former route as a strong baseline with little additional measured drafting overhead. The payoff is conditional: task uncertainty and serving conditions affect acceptance returns, execution costs, and the preferred drafter and budget. These findings inform future drafter design and deployment choices.
Figures & tables
| Tgt. | Bgt. | Method | Low-Ent. | High-Ent. | Low-Ent. | High-Ent. | Low-Ent. | High-Ent. |
|---|---|---|---|---|---|---|---|---|
| Qwen3-4B | 8 | Eagle-3 (7/1/8) | ||||||
| Eagle-3 (7/4/8) | — | — | ||||||
| DFlash | ||||||||
| DFlare | ||||||||
| D-PACE | ||||||||
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| BP / Semi-AR | Eagle-3 | |
|---|---|---|
| Epochs | ||
| Learning rate | ||
| Warmup ratio | ||
| Gradient clip | ||
| Optimiser | AdamW | |
| Weight decay | ||
| Drafter | Family | Architectural distinction | Training target |
|---|---|---|---|
| Eagle-3 | AR | Token-conditioned decoder with target-layer fusion and a reduced draft vocabulary | KL to target next-token distributions |
| DFlash | Block Parallel | Shared projection over selected target layers; masked block input | Decayed cross-entropy |
| DFlare | Block Parallel | Per-draft-layer target-state mixing | Decayed cross-entropy |
| D-PACE | Block Parallel | Parallel backbone with acceptance-oriented position weighting | D-PACE weighted cross-entropy |
| Domino | Semi-AR | Parallel backbone plus a correction head and curriculum | Base/final cross-entropy curriculum |
| DSpark | Semi-AR | Parallel backbone with a token-dependent correction path | Decayed CE, distribution matching, and confidence BCE |
| Qwen3-4B target ( ) | Qwen3-8B target ( ) | ||||||||||
| Drafter | Layers | Fusion | Backbone | Corr. | Head | Total | Fusion | Backbone | Corr. | Head | Total |
| Eagle-3 | 1 | 19.7 | 116.7 | — | 81.9 | 218.2 | 50.3 | 218.1 | — | 131.1 | 399.5 |
| DFlash | 5 | 32.8 | 504.7 | — | 389.0 † | 926.4 | 83.9 | 964.7 | — | 622.3 † | 1671.0 |
| DFlare | 5 | 26.2 | 504.7 | — | 389.0 † | 919.8 | 41.9 | 964.7 | — | 622.3 † | 1629.0 |
| D-PACE | 5 | 32.8 | 504.7 | — | 389.0 † | 926.4 | 83.9 | 964.7 | — | 622.3 † | 1671.0 |
| Domino | 5 | 32.8 | 504.7 | 50.8 | 389.0 † | 977.2 | 83.9 | 964.7 | 55.9 | 622.3 † | 1726.9 |
| Seed | Anchors | Low | High | Low | High | Low | High |
|---|---|---|---|---|---|---|---|
| 5.53 | 3.96 | 4.84 | 3.27 | 4.88 | 3.34 | ||
| 5.53 | 3.96 | 4.83 | 3.27 | 4.87 | 3.33 | ||
| 5.53 | 3.96 | 4.82 | 3.29 | 4.89 | 3.34 | ||
| Tab. 1 | 5.57 | 4.05 | 4.91 | 3.33 | 4.97 | 3.42 | |
| Stage | Autoregressive drafter | Block-parallel and semi-AR drafters | Execution |
|---|---|---|---|
| Setup | Allocates the drafter’s key–value slots for the whole rollout and builds its positions and forward metadata in one pass, sized from an upper bound so that no per-step count is read back. | Writes the draft block — the previous step’s bonus token, then mask tokens — with its positions and cache slots, and gathers its input embeddings from the target’s embedding table. | Metadata kernels ahead of the replay. Timed for the autoregressive drafter, part of Resid. for the others. |
| Rollout | Every drafter forward and, between consecutive forwards, the top- expansion that turns one step’s logits into the next step’s input, with the running score and parent bookkeeping. | One forward over the whole block, with the output head and argmax that turn its hidden states into the proposal; Domino’s and DSpark’s correction paths run here as fused kernels. | One replayed graph, holding all of the work in this row. |
| Proposal assembly | One kernel writes the verification mask in the attention backend’s bit-packed layout, the proposal’s positions, and the three retrieval arrays acceptance indexes with. | — The block is contiguous and causal, so verification needs no custom mask and no retrieval arrays. | One kernel launch, writing straight into the verification graph’s buffers. |
| Target forward | The target verifies the entire proposal in one forward using the shared target model and serving framework. | CUDA-graph replay for the target forward. | |
| Acceptance | Constructs the target’s distribution where the protocol needs one, runs the tree or chain acceptance kernel, then extracts the bonus token; above top- one the accepted path is compacted to the front of the cache. | Compares the block against the target’s argmax, or against its distribution at a sampled target; one kernel writes the accepted length, the commit length, the bonus token, the output tokens and the new sequence lengths. | Device-resident kernels writing preallocated buffers. The host’s view of the accepted length is deliberately lagging. |
| Resync | A drafter forward over the tokens verification has just committed, which both refreshes its key–value cache and emits the first candidate of the next rollout. | The target’s hidden states for the committed prefix, projected to the drafter’s width and written into the drafter’s key–value cache. | A third replayed graph for the autoregressive drafter, one fused kernel for the others. |
| Proposal | Verification | Drafter resync | Step | ||||||
| Drafter | Rollout | Total | Target fwd. | Acceptance | KV write | Resync fwd. | Resid. | Device | |
| Qwen3-4B , budget | |||||||||
| Eagle-3 (7/1/8) | — | ||||||||
| Eagle-3 (7/4/8) | — | ||||||||
| DFlash | — | ||||||||
| DFlare | — | ||||||||
| Acceptance rule | Resampling rule | Lossless | Coupling | Dataset | Samples | ||
| Eagle-3 — SafeAILab/EAGLE @ cb7e0841 ; third-party weights Qwen3-4B , Qwen3-8B | |||||||
| — (bonus ) | ✓ | n/r | n/r | ||||
| ; is the constant | ✓ | ||||||
| DFlash , authors’ repository — z-lab/dflash @ 07ebd93d ; weights Qwen3-4B , Qwen3-8B | |||||||
| — (bonus ) | ✓ | NPT2 CA | K | ||||
| ✓ | maximal | ||||||
| Low-Entropy | High-Entropy | |||||||||||||||||||||
| GSM8K | MATH | HE | MBPP | LCB | AIME25 | MT-B | ||||||||||||||||
| Method | ||||||||||||||||||||||
| Qwen3-4B | ||||||||||||||||||||||
| Eagle-3(16) | ||||||||||||||||||||||
| Eagle-3(60) | ||||||||||||||||||||||
| DFlash(16) | ||||||||||||||||||||||
| Dataset | Qwen3-4B | Qwen3-8B |
|---|---|---|
| LCB | ||
| GSM8K | ||
| MATH-500 | ||
| MBPP | ||
| HumanEval | ||
| Alpaca |
| Low-Entropy | High-Entropy | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tgt. | Method | GSM8K | MATH | HE | MBPP | LCB | AIME25 | SWE-B | MT-B | Alpaca | Arena-H | |
| Qwen3-4B | Target only | |||||||||||
| Eagle-3 (7/1/8) | ||||||||||||
| Eagle-3 (7/4/8) | ||||||||||||
| DFlash | ||||||||||||
| DFlare | ||||||||||||
| Low-Entropy | High-Entropy | |||||||||||
| Tgt. | Method | GSM8K | MATH | HE | MBPP | LCB | AIME25 | SWE-B | MT-B | Alpaca | Arena-H | |
| Qwen3-4B | Target only | |||||||||||
| Eagle-3 | ||||||||||||
| Eagle-3(60) | ||||||||||||
| DFlash | ||||||||||||
| DFlare | ||||||||||||
| Committed tokens | Shapley terms | , | (%) | ||||||||||
| Drafter | A | N | gap | gap | KL | ||||||||
| Budget | |||||||||||||
| Eagle-3 | |||||||||||||
| DFlash | |||||||||||||
| DFlare | |||||||||||||
| D-PACE | |||||||||||||
Speculative Decoding
Speculative decoding accelerates generation by drafting multiple tokens and verifying them in parallel with a larger target model.
See all 308 papers