Views
No views yet
lm_head is left dense BF16, which is a hard requirement for
DFlash 2 speculative decoding. Most ModelOpt NVFP4 exports of this architecture quantize
lm_head and therefore cannot run DFlash 2 at all. Cost of the dense head is ~1.9 GB of
VRAM over a packed one.| component | precision |
|---|---|
MLP gate_proj / up_proj / down_proj | NVFP4 W4A4 |
self_attn q/k/v/o, linear_attn projections | FP8 e4m3 |
| KV cache | FP8 |
lm_head | BF16, dense |
embed_tokens, MTP head, vision tower | BF16 |
MIXED_PRECISION with a per-layer map in hf_quant_config.json.
Calibrated on in-domain ChatML roleplay text rather than a generic news corpus.hf_quant_config.jsonrecordsproducer.version: 0.0.0because it was built from an editable install. That field is not meaningful provenance.
1sglang serve \
2 --trust-remote-code \
3 --model-path /models/Qwen3.8-27B-Dominatrix-abliterated-MTP-NVFP4 \
4 --mem-fraction-static 0.70 \
5 --attention-backend flashinfer \
6 --chunked-prefill-size 2048 \
7 --reasoning-parser qwen3 \
8 --speculative-algorithm DFLASH \
9 --speculative-draft-model-path /models/Qwen3.8-27B-DFlash2-zlab \
10 --speculative-dflash-block-size 8 \
11 --speculative-draft-model-quantization unquant--kv-cache-dtype can be omitted: this checkpoint declares kv_cache_quant_algo: FP8, so
SGLang's auto resolves it.--speculative-* flags. The dense lm_head buys nothing in that configuration
but is otherwise harmless.mtp.* tensors survive the quant in BF16, so MTP speculation remains available as an
alternative drafter. Pick one — MTP or DFlash 2, not both.lm_head dense should help, since the output projection is among the most
quantization-sensitive layers, but that is reasoning, not a measurement.min_p 0.1 or top_p 0.95; some prefer 0.7 and nothing else.