Qwen3.6-27B DSpark drafter β vLLM rope-config fix
Fork of satgeze/Qwen3.6-27B-DSpark
(revision 0642d218) with one metadata fix and bit-identical weights: config.json's
rope fields are corrected to full-width RoPE (partial_rotary_factor: 1.0,
rope_type: default, mrope fields removed).
Why
The original config inherits partial_rotary_factor: 0.25 and mrope fields from the target
model's text config, but the DeepSpec training code
never reads them β its Qwen3 attention applies RoPE across the full head dim
(Qwen3RotaryEmbedding + rotate_half from dense modeling_qwen3).
Engines that build the drafter's rotary embedding from the config β notably vLLM's
{"method": "dspark"} β honor the field, rotate only 64 of 256 head dims, and produce
position-degenerate drafts:
| Serving setup (target: unsloth/Qwen3.6-27B-NVFP4, block 15) | Draft acceptance |
|---|---|
| vLLM β₯ 0.25 + original config | ~1.4% (net slowdown) |
| vLLM β₯ 0.25 + this config | ~12.6% (β2.9 tokens/step) |
| (sibling 0.8B head, dense bf16 target, same fix) | 6β8% β 25.1% |
llama.cpp (--spec-type draft-dspark) is unaffected β its GGUF conversion already uses
full-width rope. For GGUF files, use the original repo.
Usage (vLLM β₯ 0.25)
vllm serve unsloth/Qwen3.6-27B-NVFP4 \
--max-num-seqs 8 --max-num-batched-tokens 8448 \
--enable-prefix-caching --mamba-block-size 256 \
--speculative-config '{"method":"dspark","model":"stepnivlk/Qwen3.6-27B-DSpark","num_speculative_tokens":15}'
Notes: num_speculative_tokens: 15 is the trained block size (see the original model card β
lower values discard most of the speedup). Raise --max-num-batched-tokens if vLLM reports a
negative max_num_scheduled_tokens (15 draft slots per sequence add up).
Provenance
- Weights: unchanged from
satgeze/Qwen3.6-27B-DSpark@0642d2182fb557ac4efee5c77b22ecb5447137ea(model.safetensors, sha-identical). All training credit to the original author; head trained with DeepSpec against Qwen3.6-27B, warm-started from the z-lab DFlash head. - Root-cause analysis: differential debugging of vLLM's DSpark integration against the DeepSpec reference implementation (2026-07-30). A config fix has been proposed to the upstream repo; this fork exists so vLLM users have a working head in the meantime.
- Downloads last month
- 25