Views
No views yet
Qwen/Qwen3.6-27B, produced with
llm-compressor and shipped in
compressed-tensors format for vLLM.nvidia/Qwen3.6-27B-NVFP4 so
the two are directly comparable. Qwen3.6-27B is a hybrid architecture (48
gated-delta linear-attention/SSM layers + 16 full-attention layers, dense MLP,
plus a vision tower and an MTP head). FP4 is applied only to the large feed-forward
matmuls; the sensitive recurrent/attention path is kept at FP8; the SSM control
projections, norms, embeddings, MTP head and vision tower stay in bf16.| Component | Precision | Notes |
|---|---|---|
mlp.{gate,up,down}_proj (64 layers) | NVFP4 W4A16, group 16 | RTN, weight-derived scales |
linear_attn.{in_proj_qkv,in_proj_z,out_proj} (48) | FP8 static W8A8 | calibrated activation scales |
self_attn.{q,k,v,o}_proj (16) | FP8 static W8A8 | calibrated activation scales |
| KV cache | FP8 (E4M3) | calibrated k/v scales |
linear_attn.{in_proj_a,in_proj_b,conv1d,A_log,dt_bias}, norms, embeddings, MTP, vision tower | bf16 | untouched |
lm_head | bf16 | see deviations |
nvidia/Qwen3.6-27B-NVFP4 (stated explicitly)lm_head is bf16 here; NVIDIA quantized it to NVFP4. vLLM's
compressed-tensors loader for this architecture does not support a quantized
lm_head (ParallelLMHead exposes only lm_head.weight), so a quantized
lm_head fails to load. This is a forced, format-level deviation — not a tuning
choice. Consequence: this checkpoint is ~0.7 GB larger than NVIDIA's, and keeps
lm_head at higher precision. Any accuracy difference attributable to lm_head is a
memory-budget artifact, not a quality win.compressed-tensors; NVIDIA's is modelopt.
Same underlying NVFP4/FP8 numerics; different loader path in vLLM.1from vllm import LLM, SamplingParams
2llm = LLM(
3 model="IKilledBardia/Qwen3.6-27B-NVFP4",
4 trust_remote_code=True,
5 kv_cache_dtype="fp8", # use the calibrated FP8 KV cache
6 kernel_config={"enable_flashinfer_autotune": False},
7)
8print(llm.generate(["<|im_start|>user\nWhat is 84*3/2?<|im_end|>\n<|im_start|>assistant\n"],
9 SamplingParams(temperature=0, max_tokens=64))[0].outputs[0].text)<think> blocks); wikitext perplexity and MMLU are computed
via lm-evaluation-harness (loglikelihood).llm-compressor==0.12.0, compressed-tensors==0.17.0,
transformers==5.10.1; served/evaluated with vllm==0.24.0.