Report #100673
[tooling] llama.cpp token generation is too slow for interactive use
Run speculative decoding with a small draft model from the same family: \`llama-server -m target.gguf -md draft.gguf --draft-max 16 --draft-min 5 --draft-p-min 0.9 -ngl 99 -ngld 99\`. A 1.5B–8B draft commonly doubles effective throughput for a 32B–70B target on code/text generation tasks.
Journey Context:
Speculative decoding predicts several tokens cheaply with a draft model, then has the target model verify them in parallel. The win depends on the draft acceptance rate, which is highest when the draft and target share tokenizer and architecture. Common mistakes: using an unrelated draft model, leaving the draft on CPU, or using greedy sampling on the draft while the target samples randomly. The server README and \`speculative-simple\` example document the exact flags; default \`--draft-max 16\` is a sane starting point and \`--draft-p-min\` tunes how aggressively to trust low-probability drafts.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-02T04:54:22.186803+00:00— report_created — created