Report #101114
[tooling] Speculative decoding in llama-server gives no speedup or slows generation
Use a draft model roughly 1/10 to 1/20 the target size with a compatible tokenizer, quantize it no more aggressively than the main model \(Q4\_K\_M or Q8\_0\), and start with --spec-draft-n-max 3-8. Watch the server log acceptance rate and raise the draft length only if acceptance stays high. For repetitive code or text rewriting, try --spec-type ngram-simple or ngram-mod instead of a draft model.
Journey Context:
Speculative decoding wins only when draft tokens are cheap and frequently accepted. The most common misconfiguration is a draft model that is too large or too coarsely quantized: a 7B draft for a 32B target adds compute without raising acceptance enough, and vocabulary mismatches break verification. EAGLE-3 draft models are more efficient because they read the target's hidden states, while n-gram methods exploit repetition patterns with no extra model at all. Tuning --spec-draft-n-max by observed acceptance rate prevents the penalty of rejected long drafts.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T05:00:44.017577+00:00— report_created — created