Qwen3.5-35B-A3B-DFlash

Paper | GitHub | Blog

DFlash is a speculative decoding method that uses a lightweight block diffusion model to draft multiple tokens in parallel, achieving up to 2.8x speedup over autoregressive decoding. This is the drafter model, which must be paired with Qwen/Qwen3.5-35B-A3B.

DFlash Architecture

Quick Start

Installation

uv pip install "git+https://github.com/sgl-project/sglang.git@refs/pull/16818/head#subdirectory=python"

Launch Server

Use --speculative-num-draft-tokens to set the block size (8 or 16).

python -m sglang.launch_server \
    --model-path Qwen/Qwen3.5-35B-A3B \
    --speculative-algorithm DFLASH \
    --speculative-draft-model-path z-lab/Qwen3.5-35B-A3B-DFlash \
    --speculative-num-draft-tokens 16 \
    --tp-size 1 \
    --attention-backend fa3 \
    --mem-fraction-static 0.75 \
    --mamba-scheduler-strategy extra_buffer \
    --trust-remote-code

Tip: For long-context or agentic workloads, add --speculative-dflash-draft-window-size WINDOW_SIZE to enable sliding-window attention for the drafter.

Usage

from openai import OpenAI

client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")

response = client.chat.completions.create(
    model="Qwen/Qwen3.5-35B-A3B",
    messages=[{"role": "user", "content": "Write a quicksort in Python."}],
    max_tokens=4096,
)
print(response.choices[0].message.content)

vLLM

Community-contributed support is available. See PRs #36847 and #36767 for details.

Benchmark Results

Setup: Single NVIDIA B200, SGLang, thinking enabled, max output length 4096. We report end-to-end throughput, including prefill time. See our GitHub repository for reproduction scripts.

Throughput and Speedup

DFlash outperforms MTP across all block sizes and concurrency levels, achieving up to 2.8x speedup at concurrency 1.

Tokens/sec (speedup vs. autoregressive baseline)

Block Size = 16

Task Concurrency AR MTP DFlash
Math500 1 246 420 (1.7x) 681 (2.8x)
8 1283 2165 (1.7x) 3108 (2.4x)
16 1964 3393 (1.7x) 4721 (2.4x)
32 2744 5042 (1.8x) 6637 (2.4x)
GSM8K 1 244 371 (1.5x) 594 (2.4x)
8 1277 1923 (1.5x) 2672 (2.1x)
16 1927 3000 (1.6x) 3965 (2.1x)
32 2678 4368 (1.6x) 5483 (2.0x)
HumanEval 1 237 404 (1.7x) 662 (2.8x)
8 1206 1906 (1.6x) 2721 (2.3x)
16 1796 2958 (1.6x) 3899 (2.2x)
32 2433 4027 (1.7x) 5066 (2.1x)
MBPP 1 240 356 (1.5x) 617 (2.6x)
8 1228 1753 (1.4x) 2547 (2.1x)
16 1854 2608 (1.4x) 3591 (1.9x)
32 2487 3730 (1.5x) 4785 (1.9x)
MT-Bench 1 244 307 (1.3x) 489 (2.0x)
8 1273 1545 (1.2x) 2198 (1.7x)
16 1901 2389 (1.3x) 3213 (1.7x)
32 2657 3513 (1.3x) 4327 (1.6x)
Alpaca 1 245 287 (1.2x) 456 (1.9x)
8 1276 1468 (1.2x) 2067 (1.6x)
16 1917 2276 (1.2x) 3059 (1.6x)
32 2667 3373 (1.3x) 4224 (1.6x)

Block Size = 8

Task Concurrency AR MTP DFlash
Math500 1 246 514 (2.1x) 621 (2.5x)
8 1283 2440 (1.9x) 2811 (2.2x)
16 1964 3848 (2.0x) 4448 (2.3x)
32 2744 5754 (2.1x) 6693 (2.4x)
GSM8K 1 244 469 (1.9x) 572 (2.3x)
8 1277 2245 (1.8x) 2584 (2.0x)
16 1927 3477 (1.8x) 4040 (2.1x)
32 2678 5209 (1.9x) 5885 (2.2x)
HumanEval 1 237 496 (2.1x) 596 (2.5x)
8 1206 2153 (1.8x) 2427 (2.0x)
16 1796 3318 (1.8x) 3664 (2.0x)
32 2433 4678 (1.9x) 5016 (2.1x)
MBPP 1 240 453 (1.9x) 583 (2.4x)
8 1228 2060 (1.7x) 2441 (2.0x)
16 1854 3096 (1.7x) 3605 (1.9x)
32 2487 4403 (1.8x) 4998 (2.0x)
MT-Bench 1 244 406 (1.7x) 486 (2.0x)
8 1273 1942 (1.5x) 2204 (1.7x)
16 1901 2973 (1.6x) 3418 (1.8x)
32 2657 4404 (1.7x) 4977 (1.9x)
Alpaca 1 245 396 (1.6x) 479 (2.0x)
8 1276 1853 (1.5x) 2110 (1.7x)
16 1917 2877 (1.5x) 3315 (1.7x)
32 2667 4297 (1.6x) 4860 (1.8x)

Acceptance Length

Format: MTP / DFlash (average over concurrency 1, 8, 16, 32)

Task B8 B16
Math500 5.59 / 5.51 6.93 / 7.20
GSM8K 5.39 / 5.27 6.58 / 6.78
HumanEval 5.62 / 5.69 7.14 / 7.90
MBPP 4.92 / 5.07 5.71 / 6.45
MT-Bench 4.49 / 4.41 5.20 / 5.35
Alpaca 4.32 / 4.23 4.87 / 5.04

Acknowledgements

Special thanks to David Wang for his outstanding engineering support on this project. We are also grateful to Modal, InnoMatrix, and Yotta Labs for providing the compute resources used to train this draft model.

Citation

If you find DFlash useful, please cite our work. To share feedback on DFlash or request new model support, please fill out this form: DFlash Feedback.

@article{chen2026dflash,
  title   = {{DFlash: Block Diffusion for Flash Speculative Decoding}},
  author  = {Chen, Jian and Liang, Yesheng and Liu, Zhijian},
  journal = {arXiv preprint arXiv:2602.06036},
  year    = {2026}
}
Downloads last month
618
Safetensors
Model size
0.5B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including z-lab/Qwen3.5-35B-A3B-DFlash

Paper for z-lab/Qwen3.5-35B-A3B-DFlash