Skip to main content
The DFlash2 drafter speeds up Beam’s generation with speculative decoding. The drafter proposes a block of tokens, and Beam verifies them all in one forward pass. With rejection sampling, the output distribution matches Beam’s exactly. The drafter isn’t a standalone language model: it only runs beside Beam. It works with Beam’s BF16, FP8, and NVFP4 weights.

How it works

DFlash2 builds on DFlash. It drafts a whole block of tokens in one forward pass, conditioned on hidden states from five of Beam’s layers. It keeps the top candidates at each position in the block, and a small selector picks one path through them. The drafter has 1.93B parameters, reuses Beam’s embedding and LM head, and attends over a 4,096-token sliding window, so drafting cost doesn’t grow with context length. The drafter was trained with blocks of 16 tokens. Blocks of 8 are recommended for serving.

Serve with the drafter

Model card

Architecture, training, and full evaluation.

SGLang recipe

Serve Beam with DFlash2 in SGLang.

vLLM recipe

Serve Beam with DFlash2 in vLLM.

TokenSpeed recipe

Serve Beam with DFlash2 in TokenSpeed.

Performance

Measured with Beam NVFP4 on four B300 GPUs, drafting 8 tokens at a time with greedy decoding. Acceptance length is the mean number of tokens generated per verification step, out of a maximum of 8. The other columns are the decode speedup over Beam without the drafter.
Speedups are largest on math and code, where Beam’s output is most predictable. See the model card for more benchmarks, acceptance with sampling, and long-context results.
Last modified on October 16, 2026