Views
No views yet
nvidia/GLM-5.2-NVFP4 with
speculative decoding in vLLM. It proposes 15 tokens per step and is accepted
by the GLM-5.2 verifier, giving ~2–4× higher decode throughput vs. the bare model
(acceptance length ≈ 4.6 on average, up to ~7 on math/code).speculator in vLLM's --speculative-config.DSparkDraftModel — a small (5-layer) qwen3-backed draft that attaches to the
verifier at layers [8, 23, 39, 55, 70] and adds two heads on top of
DFlash:mask_token_id 154856, bf16.neuralmagic/vllm@dspark-speculators,
commit 70cf932f7) — DSpark is not yet in upstream vLLM.1vllm serve nvidia/GLM-5.2-NVFP4 \
2 --tensor-parallel-size 4 \
3 --enable-expert-parallel \
4 --all2all-backend flashinfer_nvlink_one_sided \
5 --attention-backend FLASHINFER_MLA_SPARSE \
6 --kv-cache-dtype fp8 \
7 --speculative-config '{
8 "method": "dspark",
9 "model": "siro1/glm-5.2-dspark-spec-v1",
10 "num_speculative_tokens": 15,
11 "draft_sample_method": "greedy",
12 "attention_backend": "FLASH_ATTN"
13 }' \
14 --reasoning-parser glm45 --tool-call-parser glm47 --enable-auto-tool-choice \
15 --trust-remote-codefp8 KV-cache caveat: the draft usesFLASH_ATTN, which does not support fp8 KV cache on Blackwell. When serving the verifier with--kv-cache-dtype fp8, force the tiny (5-layer) draft to bf16 KV cache — either patchvllm/v1/worker/gpu/spec_decode/dspark/utils.pyso the draft config usescache_dtype='auto', or drop--kv-cache-dtype fp8. The draft is so small the cost is negligible.
speculators 0.6.0.dev0 against the GLM-5.2-NVFP4 verifier (vLLM
0.1.dev1+gee53abf1a, transformers 5.12.1, torch 2.11.0+cu129).[8, 23, 39, 55, 70]{"ce": 0.1, "tv": 0.9}, confidence_head_alpha 1.06e-4, cosine schedule, total-seq-len 4096, seed 42val_metrics.json below).| dataset | output tok/s | notes |
|---|---|---|
| math | ~403 | acceptance ~6–7 (highly pred.) |
| qa | ~196 | acceptance ~3 |
| tool_call | ~188 | acceptance ~3.5 |
nvidia/GLM-5.2-NVFP4 (GlmMoeDsaForCausalLM)neuralmagic/vllm@dspark-speculators @70cf932f7, built with
TORCH_CUDA_ARCH_LIST=10.3 (Blackwell sm_103). On other GPUs rebuild the fork
for the relevant arch.speculators >= 0.6.0.dev0 (provides
DSparkSpeculatorConfig via auto_map).