Acceptance Rate & Speedup Bounds
Why 2-3× is typical, the speedup formula, when speculation doesn't help (high batch, long context), and how to estimate before deploying.
Speculative decoding isn’t always faster. The actual speedup depends on the acceptance rate, draft cost, verification overhead, and workload characteristics. This chapter provides the formulas to calculate whether speculation helps before deploying.
1. Expected Tokens per Round
With speculation length and per-position acceptance probability :
| Acceptance rate | |||
|---|---|---|---|
| 0.5 | 1.9 tokens | 2.0 tokens | 2.0 tokens |
| 0.7 | 2.5 | 2.9 | 3.2 |
| 0.8 | 3.0 | 3.7 | 4.3 |
| 0.9 | 3.4 | 4.7 | 6.1 |
| 0.95 | 3.7 | 5.3 | 7.4 |
Key observation: Diminishing returns from longer speculation. At : going from to only adds 1.2 tokens, but costs 5 more draft steps and verification positions.
2. The Speedup Formula
Let = baseline decode time per token. Let = time for one speculative round (draft + verify + overhead):
Breaking down :
Worked Example: 70B with 8B Draft
| Component | Time | Notes |
|---|---|---|
| (baseline decode) | 5.2 ms | 70B, TP=8, single request |
| () | 2.5 ms | 8B draft, 5 autoregressive steps |
| 6.0 ms | 70B forward on 5+1=6 tokens (like a mini-prefill) | |
| 0.5 ms | Sampling, KV rollback | |
| 9.0 ms | Total round time |
With , : tokens per round.
2.1× speedup — typical for a well-matched draft. Not the theoretical 4× because the draft and verification aren’t free.
3. Why Verification Isn’t Free
“The target checks tokens in one forward pass” doesn’t mean verification takes the same time as one decode step:
| Factor | Effect on |
|---|---|
| More tokens → more attention compute | grows with (not 1:1, but not free) |
| Candidate KV cache entries | Must be written then potentially rolled back |
| Longer context | Attention over full context for each candidate position |
| Large batch | Less spare compute to absorb extra verification work |
Rule of thumb: for on a single request. At or with large batches, verification overhead grows.
4. When Speculation Doesn’t Help
High Batch Size
At high concurrency, the GPU is already well-utilized by batching. Adding speculative candidates competes for compute rather than utilizing idle resources:
Batch=1: GPU is 3% utilized → plenty of room for speculation ✅
Batch=32: GPU is 30% utilized → some room for speculation ⚠️
Batch=128: GPU is 90% utilized → speculation adds overhead ❌
As batch size increases, baseline throughput rises (batching already helps), and the speedup from speculation shrinks toward 1× or even below 1× (net slowdown).
Long Context
Long sequences increase both draft and verification cost:
- Draft model must attend to full context at each step
- Verification attention grows with context length
- Candidate KV cache memory:
Poor Acceptance Rate
If acceptance rate drops below ~0.5, speculation rarely helps:
- At , : expect only 2.0 tokens per round
- Round takes ~2× baseline time → effective speedup
- Draft compute is wasted on mostly-rejected candidates
Short Output
For outputs of tokens, the overhead of setting up draft model + first round may exceed the savings.
5. The Decision Checklist
Before deploying speculative decoding:
| Question | Check | If no |
|---|---|---|
| Is decode the bottleneck? | TPOT >> TTFT | Don’t bother — optimize prefill instead |
| Is batch size low (<32)? | GPU compute not saturated | At high batch, batching already helps more |
| Is acceptance rate > 0.6? | Test with calibration data | Bad draft → net slowdown |
| Is draft cheap enough? | Consider n-gram or Medusa instead | |
| Is output long enough? | Average output > 20 tokens | Overhead dominates short outputs |
Quick Estimation
Before running benchmarks, estimate:
If this is < 1.3, speculation probably isn’t worth the complexity.
For practical configuration and benchmarking, see Practical Integration.
Self-Check
- Calculate expected tokens per round for ,
- Calculate speedup for a given , , , and acceptance rate
- Explain why high batch size reduces speculation benefit
- Explain why verification isn’t free (attention, KV, compute)
- Use the decision checklist to determine if speculation helps a given workload
- Calculate the break-even acceptance rate for a given draft/verify cost