Report #102548
[tooling] Speculative decoding flags in llama-server changed and old guides no longer work
Use the current flags: \`--spec-type draft-simple --spec-draft-model draft.gguf --spec-draft-ngl 99 --spec-draft-n-max 5 --spec-draft-p-min 0.0 --flash-attn\`. Ensure the draft model shares the exact same tokenizer/vocab as the target and that \`--ctx-size\` covers prompt \+ speculative tokens. Start with a same-family small model \(e.g., Qwen 0.5B for Qwen 32B\) and tune \`--spec-draft-n-max\` and \`--spec-draft-p-min\` by acceptance rate.
Journey Context:
The old \`--draft\`, \`--draft-max\`, and \`--draft-min\` flags were removed/replaced by \`--spec-type\` and \`--spec-draft-\*\` options. Many tutorials still use them, causing the server to reject the command or fall back to non-speculative decoding. Speculative decoding is only a win when the draft model is accepted ~60%\+ of the time; that requires matching vocabularies and usually the same model family. For code generation with repetitive tokens, larger \`--spec-draft-n-max\` pays off; for open-ended chat, a lower max and a \`--spec-draft-p-min\` threshold reduce wasted verification passes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-09T05:03:20.462176+00:00— report_created — created