Speculative decoding is a technique for producing more than one token per pass of your main model. A small, fast draft model proposes a short run of candidate tokens; the main model then verifies that whole run in a single forward pass instead of generating each token in its own pass. Verification goes left to right: every candidate the main model agrees with is committed, the first disagreement is replaced by the main model's own token, and every candidate after that point is thrown away. The original method was published as an exact-decoding algorithm, meaning it accelerates generation without changing the distribution the model samples from, so this is a latency optimisation and not a quality tradeoff. Whether it actually makes your setup faster is a different question. The gain depends on the size gap between the draft and main models and on how often the draft guesses correctly, which varies by prompt. A formulaic prompt with one obvious continuation accepts almost every draft token; open-ended creative writing rejects most of them. Because running the draft model costs real compute, a draft that is too large or too inaccurate can leave you slower than you started.
What is speculative decoding, and will it make your local LLM faster?
Speculative decoding pairs your main model with a much smaller draft model that proposes several tokens at once, which the main model then verifies in a single pass. Accepted tokens are committed, the first rejected one is replaced by the main model, and the rest are discarded. Because only tokens the main model would have produced anyway are kept, the output distribution is preserved. The speed-up is real but conditional: it depends on how much smaller the draft model is, how often its guesses are accepted, and how predictable your prompts are. On the wrong pairing or the wrong workload it can make generation slower, so it is a setting to measure rather than to assume.
Published · Updated · Evidence-linked, not search-volume ranked.
Why this question is current
Exact query-volume data was unavailable, so RepoRadar uses these as current demand and intent signals rather than a claimed volume ranking.
- what is speculative decoding · Google Suggest (autocomplete) via suggestqueries.google.com · United States, English (gl=us, hl=en) · checked 2026-09-08T23:22:00Z
Live autocomplete returned a full ten-completion cluster: what is speculative decoding, what is speculative decoding in llm, what is speculative decoding in ai, what is speculative decoding in lm studio, what is mtp speculative decoding, what is eagle speculative decoding, what is self speculative decoding, what is eagle3 speculative decoding, what is dflash speculative decoding, and what does speculative decoding do. The presence of tool-specific and method-specific completions indicates practitioners are already configuring it, not only reading about it. A current demand and intent signal, not an exact search-volume figure. - what is mtp llm · Google Suggest (autocomplete) via suggestqueries.google.com · United States, English (gl=us, hl=en) · checked 2026-09-08T23:22:00Z
Nine completions, six of them LLM-specific: what is mtp llm, what is mtp llm model, what is mtp local llm, what is mtp in llm inference, what is mtp in llm context, and what is mtp in the context of llms. Confirms live confusion about the multi-token prediction terminology that ships alongside speculative decoding settings. A current demand signal, not a volume figure. - speculative decoding · Hacker News Algolia search API · global English-language developer community · checked 2026-09-08T23:25:00Z
nbHits 84 across five pages. The most recent high-scoring item is Speculative Decoding in vLLM on AMD GPUs, objectID 49596054, 142 points and 52 comments, created 2026-09-07T09:26:41Z. The highest-scoring item in the set is DSpark: Speculative decoding accelerates LLM inference, objectID 48696585, 797 points. The set also contains a first-hand negative result, Qwen3.6-35B-A3B speculative decoding is net-negative on RTX 3090, objectID 47843553, which corroborates that the outcome is genuinely contested and not uniformly positive. Corroboration of practitioner interest, not a search-volume claim.
Who this helps
- local AI users looking for more tokens per second without buying hardware
- developers serving a model and tuning inter-token latency
- anyone who has seen a draft model or MTP setting and does not know whether to enable it
- builders deciding whether a speed feature is worth the extra memory it consumes
The mechanism, in one pass
Ordinary generation commits one token per forward pass of the model. To produce four tokens the model runs four times, each run seeing everything produced so far. That serial loop is what limits generation speed on most local setups.
Speculative decoding splits the job into proposing and checking. A small draft model proposes a short run of candidate tokens quickly. The main model then evaluates that entire run in one forward pass and decides, position by position, whether it agrees.
Suppose the prompt is a weather sentence and the draft proposes four tokens. The main model accepts the first two, disagrees at the third and substitutes its own token there, and discards the fourth because it came after the first disagreement. Three committed tokens for one pass of the main model instead of three passes. That is the entire idea.
- Draft model proposes several candidate tokens.
- Main model verifies the whole run in one pass.
- Accepted candidates commit; the first rejection is replaced by the main model.
- Everything after the first rejection is discarded.
Why it does not change your output quality
This is the part worth being precise about, because it is the difference between an optimisation and a compromise. The original paper introduces the method as exact: it accelerates sampling without changing the distribution the model samples from, and reports identical outputs alongside a 2x to 3x acceleration on the model it tested.
The reason is structural. A draft token survives only if the main model agrees with it, so nothing enters your output that the main model would not have produced on its own. LM Studio states the same constraint plainly in its documentation, and adds that after the last accepted draft token the main model always produces one additional token itself.
One requirement follows from this design: the draft and main models must share a vocabulary, because they have to be talking about the same tokens. That is why draft models are normally a smaller member of the same family. Some serving stacks now offer an opt-in cross-vocabulary mode, but it is an explicit setting rather than the default.
When it actually speeds things up, and when it does not
The speed-up comes from two multiplied factors: how much cheaper the draft model is than the main model, and how often its proposals are accepted. Both have to hold, and the second one changes prompt by prompt.
LM Studio publishes explicit sizing guidance for the largest draft model likely to help: roughly 1B for a 7B main model, 3B for a 14B main model, and 7B for a 32B main model, with no recommendation at all for a 3B main model because there is nothing meaningfully smaller to pair with it. It also states directly that if the draft model is not fast enough or not effective enough, generation speed will not increase and could decrease.
Acceptance rate is the part you cannot configure. A prompt asking for the quadratic formula has essentially one continuation, so even a very small draft model proposes what the large one would; almost every token is accepted. A prompt asking for a story continuation has hundreds of valid next words, so proposals are rejected constantly and the draft compute is wasted.
Workload shape matters too. vLLM's documentation frames the technique as reducing inter-token latency under medium-to-low request rates on memory-bound workloads, and its own selection table shows model-based methods giving high gain when optimising latency and generally lower gain when optimising throughput under heavy traffic. If your GPU is already saturated serving many concurrent users, the spare capacity that speculation exploits is not there.
Draft models, MTP, EAGLE: the same idea in different packages
The settings menus are more confusing than the concept. Everything in this family follows the same draft-and-verify loop and differs only in where the proposals come from.
A plain draft model is a separate small checkpoint you load alongside the main one. Multi-token prediction, or MTP, is an auxiliary prediction path built into the main model architecture itself, which is why it often costs less extra memory. Target-conditioned draft networks such as EAGLE-3, DFlash and DSpark are purpose-trained speculators that read the main model's internal hidden states rather than only its tokens. Lighter options such as n-gram and suffix decoding skip the extra model entirely and propose from patterns already present in the text.
For a local setup, the practical hierarchy is simple. If your model ships native MTP, that is usually the cheapest thing to try. If not, a smaller sibling model as a draft is the standard path. The purpose-trained speculators mostly matter if you are running a serving stack that supports them.
How to try it without fooling yourself
In LM Studio, switch to Power User mode or higher, load your model, and select a Draft Model in the Speculative Decoding section of the chat sidebar. Pair down a size tier within the same family, for example an 8B main model with a 1B draft.
In vLLM, pass --speculative-config as a JSON object with method, model, and num_speculative_tokens. In llama.cpp, speculative decoding is a documented server feature, so it is available underneath much of the consumer tooling as well.
Then measure properly, because this is a setting that can silently cost you speed. Fix the model, the context length, and the sampling settings, and record tokens per second on the same set of prompts with speculation off and on. Use prompts from your real work, and include at least one open-ended generation alongside your structured ones, because those two cases can move in opposite directions.
Raising the number of speculative tokens is not a free dial either. More candidates per round means more committed tokens when acceptance is high, but also more sequential drafting work that is thrown away when acceptance is low.
- Same family, same vocabulary, much smaller draft.
- Benchmark with speculation off and on, everything else fixed.
- Test a structured prompt and an open-ended prompt separately.
- Watch memory: the draft model occupies space your context could have used.
What this answer does not claim
RepoRadar has not benchmarked speculative decoding on any specific hardware. The vendor and framework figures cited here are reproduced with attribution; the published measurements come with their own disclosed hardware and software configurations, and results on your machine will differ.
Reported speed-ups in this field are typically measured on particular model pairs and particular workloads. The community record includes at least one documented case of a pairing being net-negative on consumer hardware, which is a reason to measure rather than to assume a multiplier.
The exactness property applies to the algorithm as published. It is a property of the draft-and-verify design, not a certificate that every implementation in every framework is bug-free.
A useful next action
Check whether the model you already run locally has a smaller sibling in the same family at roughly one tenth its size. If it does, that is your draft model candidate and the experiment costs one download.
Run ten of your own prompts with speculation off, then the same ten with it on, and compare tokens per second. If the gain is under about 20 percent, the memory the draft model occupies is probably worth more to you as additional context.
Sources checked
- Leviathan, Kalman and Matias - Fast Inference from Transformers via Speculative Decoding (arXiv:2211.17192) ↗ checked · global, peer-reviewed conference paper (ICML 2023 Oral)
Primary source for the method and for the exactness claim. The abstract states the algorithm samples from autoregressive models faster without any changes to the outputs by computing several tokens in parallel, using speculative execution plus a sampling method that makes exact decoding from the large model faster without changing the distribution. It also states the method accelerates off-the-shelf models without retraining or architecture changes, and reports a 2x to 3x acceleration on T5-XXL with identical outputs. Submitted 30 November 2022, last revised 18 May 2023.
- LM Studio documentation - Speculative Decoding ↗ checked · global, product documentation
Primary product documentation and the source of the practical constraints in this article. States that the draft model must share the same vocabulary as the main model, that the main model only accepts tokens matching what it would have generated, and that after the last accepted draft token the main model always generates one additional token. Publishes a maximum draft-model sizing table: no recommendation for a 3B main model, up to 1B draft for a 7B main model, up to 3B for a 14B main model, and up to 7B for a 32B main model. Gives worked pairing examples including Llama 3.1 8B Instruct with Llama 3.2 1B Instruct. States explicitly that running a draft model requires more computation and resources than running the main model alone, and that if the draft model is not fast enough or not effective enough the generation speed will not increase and could decrease. Also documents that speed-up is prompt dependent, contrasting a formulaic mathematical prompt with open-ended story generation.
- vLLM documentation - Speculative Decoding ↗ checked · global, serving-framework documentation
Primary documentation for the method family beyond a plain draft model, and the source of the workload caveat. States the technique reduces inter-token latency under medium-to-low queries-per-second, memory-bound workloads. Lists supported methods including EAGLE, multi-token prediction, draft model, parallel draft model, MLP speculator, n-gram, and suffix decoding, and publishes a qualitative selection table showing model-based methods giving high gain at low QPS and generally lower gain at high QPS, while n-gram and suffix decoding give more modest speed-ups without increasing peak-traffic workload. Documents the --speculative-config JSON schema including method, model, and num_speculative_tokens, and notes that by default draft and target models must share a vocabulary unless heterogeneous-vocabulary support is explicitly enabled.
- vLLM blog - Exploring Speculative Decoding in vLLM on AMD GPUs ↗ checked · global, framework engineering blog with disclosed hardware configuration
Primary source for the draft-and-verify walkthrough and for the honest framing of variability. Opens by stating that the effect on output-token throughput varied across drafting methods and proposal lengths and also depended on the model family, draft checkpoint, workload, and acceptance behavior. Gives a step-by-step accept and reject example and explains that when a draft token is rejected the target model provides the next token and remaining drafts are discarded. Groups methods into native MTP modules built into the target architecture, separate MTP drafters paired with a specific target model, and dedicated target-conditioned draft networks such as EAGLE-3, DFlash and DSpark. Notes that a larger num_speculative_tokens proposes more candidates before verification but introduces more sequential drafting work. Discloses the hardware and software configuration used for its measurements.
- llama.cpp server documentation ↗ checked · global, upstream project documentation
Primary source confirming speculative decoding is a documented feature of the llama.cpp HTTP server, listed among its features alongside OpenAI-compatible chat completions, continuous batching, and function calling. Establishes that this capability is available in the runtime underneath most consumer local-LLM tooling, not only in hosted serving stacks.
- RepoRadar guide - Ollama vs LM Studio vs llama.cpp ↗ checked · RepoRadar internal
RepoRadar companion answer on which local runtime exposes which advanced settings, which determines where the draft-model option is available to you.
RepoRadar separates factual source claims from analysis. Recheck vendor docs before purchase, deployment, or policy decisions.