Report #9344
[tooling] Speculative decoding requires loading a second draft model, doubling memory and complicating deployment
Use llama.cpp's n-gram lookup with --lookup 3 \(or higher\) to draft tokens from the existing context without any additional model
Journey Context:
Standard speculative decoding \(medusa, look-ahead\) requires a draft model \(often 7B for a 70B target\) which consumes significant VRAM. The n-gram lookup method exploits repetitive patterns in the prompt or generated text \(common in code, JSON, repetitive prose\). It matches the last N tokens against the context to find the next token. This is 'free' in memory \(no extra model\) and surprisingly effective for structured tasks. The --lookup flag takes the n-gram size \(3-8 works well\). Tradeoff: less effective than a good draft model for creative writing, but ideal for data extraction/code. This is distinct from the draft model flags \(-md\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T07:51:56.074124+00:00— report_created — created