senn-tech
AI & Development
AI & Development2026-06-23· By Franz Senn

Making Self-Hosted AI Faster: Speculative Decoding and dFlash

Self-hosted LLMs have a quiet performance problem, and it is not the one most people expect. The GPU is rarely the bottleneck. During text generation it spends most of its time waiting: shuffling the key-value cache through memory and emitting one token at a time, strictly in sequence. The compute units sit idle. This is the decode bottleneck, and it is why a card that looks fast on paper can still feel sluggish in a chat window.

Making self-hosted AI faster and more resource-efficient is therefore less about buying a bigger GPU and more about not wasting the one you already have. Speculative decoding is the single most effective lever for that. NVIDIA just released a new open building block for it.

NVIDIA®
NVIDIA® und das NVIDIA-Logo sind eingetragene Marken der NVIDIA Corporation.

Speculative decoding in plain terms

The idea is draft-and-verify. A small, fast drafter model guesses several future tokens. The large target model then checks that entire guess in a single forward pass, instead of generating the tokens one by one. Tokens the target agrees with are kept; the first one it disagrees with is corrected, and drafting resumes from there.

The crucial property: the output is mathematically identical to what the target model would have produced on its own. You trade a little extra compute (running the drafter, plus verifying tokens you might throw away) for far fewer sequential steps. On decode-bound hardware, that is an excellent trade.

Drafterklein · schnellToken-BlockZiel-Modell1 Forward-Passakzeptiertverworfen → neu gezogen
Speculative Decoding: Der Drafter schlägt einen ganzen Token-Block vor, das Ziel-Modell verifiziert ihn in einem Forward-Pass — akzeptierte Token bleiben, verworfene werden neu gezogen.

dFlash: what is actually new

Most speculative decoders draft one token at a time, autoregressively. dFlash, an open block-diffusion model from UC San Diego, drafts an entire block of candidate tokens in a single pass. Three ideas make it work well:

  • Block-diffusion drafting: predicts multiple future tokens in parallel rather than sequentially.
  • Target hidden-state conditioning: the drafter is fed context features extracted from the target model, so its guesses stay aligned.
  • KV injection: target context is injected into the drafter's projections across layers, which keeps the acceptance rate high.

A higher acceptance rate means more drafted tokens survive verification, which means fewer rounds, which means more speed, at unchanged quality.

The numbers

NVIDIA benchmarked dFlash on Blackwell against plain autoregressive decoding:

AutoregressivBasisgpt-oss-120bbis 15×Gemma 4 · vLLM5,8×Qwen3 · SGLang5,1×
Durchsatz ggü. autoregressiver Dekodierung auf NVIDIA Blackwell — Werte aus NVIDIAs dFlash-Benchmarks.

The headline is up to 15× higher throughput on gpt-oss-120b at 500–600 tokens/sec per user. On other stacks: 5.8× on Gemma (vLLM, Math500) and 5.1× on Qwen3 (SGLang, Math500), while Llama 3.1 8B interactivity nearly doubled at batch size 1. Against the previous best speculative method, EAGLE-3, dFlash still delivers about 1.5× more throughput and roughly 2.3× better interactivity on average.

This is not a research-only artifact: dFlash ships in vLLM (via the Speculators library), SGLang, and TensorRT-LLM, with around 20 ready checkpoints on Hugging Face covering the Qwen, Llama, Gemma, and gpt-oss families.

Does it apply to our setup?

Honestly, with a caveat. NVIDIA's figures come from datacenter Blackwell (DGX B200/B300) and Hopper cards. Our standard inference card is the RTX 5090, which is also Blackwell-class, so the architecture lines up, and speculative decoding itself runs on essentially any modern GPU through vLLM or SGLang.

What you should not expect is the 15× headline on a single consumer card — those numbers assume large batch sizes and datacenter memory bandwidth. On a 5090 the realistic win is a meaningful latency drop for interactive, single-user or small-batch workloads. Which is to say: exactly the self-hosting case.

The wider efficiency toolkit

Speculative decoding is one lever, not the whole machine. It stacks cleanly with the techniques we already run:

  • PagedAttention and continuous batching: covered in our vLLM article. This is what lets ten parallel requests cost far less than ten times one request.
  • Quantization: running weights at 4-bit (see our llama.cpp and GGUF notes) shrinks the memory traffic that the decode bottleneck is made of.
  • Right-sizing the model: the cheapest token is the one you never generate. A well-chosen 8B model with speculative decoding often beats a 70B model you can barely fit.

The point is to combine techniques rather than chase a single benchmark number.

A pragmatic recipe

For a mid-sized business running its own inference, the order of operations is roughly:

  1. Pick the smallest model that actually does the job.
  2. Serve it with vLLM or SGLang: you get PagedAttention and continuous batching for free.
  3. Apply 4-bit quantization if VRAM is tight.
  4. Turn on speculative decoding (a dFlash checkpoint where one exists for your model) and measure tokens/sec before and after.

Conclusion

Faster self-hosted AI is mostly an efficiency story, not a hardware story. The decode bottleneck wastes the GPU you already own; speculative decoding reclaims it without compromising output quality, and open drafters like dFlash make the technique easier to adopt across vLLM, SGLang, and TensorRT-LLM. For anyone serving LLMs on their own hardware, it is one of the highest-leverage settings you can turn on this year.

Further Reading

Questions?
Does speculative decoding change the model's output quality?+

No. The output is mathematically identical to what the target model would have produced on its own. A small drafter model guesses future tokens, the large target model checks the entire guess in a single forward pass, and tokens it disagrees with are corrected. You trade a little extra compute for far fewer sequential steps, without touching quality.

Is NVIDIA's up to 15x throughput realistic on a single consumer GPU?+

No. Those figures come from datacenter Blackwell like DGX B200/B300 and assume large batch sizes and high memory bandwidth. On an RTX 5090, which is also Blackwell-class, the realistic win is a meaningful latency drop for interactive, single-user or small-batch workloads – exactly the self-hosting case. Speculative decoding itself runs on essentially any modern GPU via vLLM or SGLang.

Which techniques does speculative decoding combine with?+

It stacks cleanly with PagedAttention and continuous batching from vLLM, 4-bit quantization that shrinks the memory traffic making up the decode bottleneck, and right-sizing the model – the cheapest token is the one never generated. The order for a mid-sized business: smallest capable model, serve via vLLM or SGLang, quantize when VRAM is tight, then turn on speculative decoding and measure tokens/sec.