🚀
@deepseek_ai's DSpark speculative decoding now runs natively in vLLM!
What it is: a semi-autoregressive drafter that proposes several tokens in parallel with non-causal sliding-window attention, then verifies them in a single pass. Output stays identical, decoding takes fewer steps.
How vLLM runs it: it reuses the existing SparseMLA backends instead of custom attention kernels, captures the full draft backbone and sampling loop in one CUDA graph, and works with prefix caching and FP8 KV cache.
Performance on DeepSeek-V4-Pro-DSpark (verified on NVIDIA 8×B300 GPUs):
- ~250 tokens/s at batch size 1
- average acceptance length ~5
- 12-42% higher acceptance than MTP across draft depths
Run with vLLM nightly today:
vllm serve deepseek-ai/DeepSeek-V4-Pro-DSpark -tp 8 --trust-remote-code --kv-cache-dtype fp8 --speculative-config '{"method":"dspark","num_speculative_tokens":7,"draft_sample_method":"greedy"}'
DSpark Core PR:
Thanks
@deepseek_ai for open-sourcing DSpark, and to
@NVIDIAAI and the vLLM community for landing it! 🙏