sakamakismile/Qwen3.6-35B-A3B-NVFP4
1447k
Qwen3.6-35B-A3B-NVFP4
NVFP4 quantized version of Qwen/Qwen3.6-35B-A3B — the latest Qwen MoE with 256 experts, 3B active parameters, and state-of-the-art coding/agentic performance.
67 GB → 21.9 GB. Single NVIDIA Blackwell GPU. 168 tok/s.
Why This Model
Qwen3.6-35B-A3B is the new king of the MoE class:
- SWE-bench Verified: 73.4 — surpasses models 10x its active parameter count
- Terminal-Bench 2.0: 51.5 — best-in-class agentic coding
- QwenWebBench: 1397 ELO — real-world web task performance
- 256 experts, 3B active — extreme sparsity = extreme speed
- 262K-1M context — native 262K, extensible to 1 million tokens
- Gated DeltaNet + Attention hybrid — next-gen architecture
At NVFP4, it runs at 168 tok/s on a single Blackwell GPU — faster than Gemma4 MoE (130 tok/s) with dramatically better benchmark scores.
Key Specs
Quickstart
vLLM
vllm serve Lna-Lab/Qwen3.6-35B-A3B-NVFP4 \
--max-model-len 32768 \
--reasoning-parser qwen3 \
--kv-cache-dtype fp8With tool calling (agentic)
vllm serve Lna-Lab/Qwen3.6-35B-A3B-NVFP4 \
--max-model-len 32768 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--kv-cache-dtype fp8Docker
docker run --gpus '"device=0"' -p 8016:8016 \
-v /path/to/model:/models/current:ro \
--shm-size 16gb \
vllm/vllm-openai:cu130-nightly \
vllm serve /models/current --port 8016 --max-model-len 32768 \
--reasoning-parser qwen3 --kv-cache-dtype fp8Benchmark
Single NVIDIA RTX PRO 6000 Blackwell (96 GB VRAM).
Speed Comparison (NVFP4, single GPU)
Quantization Details
Recipe
recipe = QuantizationModifier(
targets="Linear",
scheme="NVFP4",
ignore=["lm_head", "re:.*visual.*", "re:.*mlp.gate$", "re:.*mlp.shared_expert_gate$"],
)Calibration
- Dataset: HuggingFaceH4/ultrachat200k (trainsft split)
- Samples: 512
- Max sequence length: 2048
moe_calibrate_all_experts=True— ensures all 256 experts receive calibration data
Reproduction
from transformers import Qwen3_5MoeForConditionalGeneration, AutoProcessor, AutoTokenizer
from datasets import load_dataset
from llmcompressor import oneshot
from llmcompressor.modifiers.quantization import QuantizationModifier
MODEL_ID = "Qwen/Qwen3.6-35B-A3B"
model = Qwen3_5MoeForConditionalGeneration.from_pretrained(MODEL_ID, dtype="auto", trust_remote_code=True)
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code=True)
recipe = QuantizationModifier(
targets="Linear", scheme="NVFP4",
ignore=["lm_head", "re:.*visual.*", "re:.*mlp.gate$", "re:.*mlp.shared_expert_gate$"],
)
ds = load_dataset("HuggingFaceH4/ultrachat_200k", split="train_sft[:512]")
ds = ds.shuffle(seed=42)
def preprocess(example):
return {"text": tokenizer.apply_chat_template(example["messages"], tokenize=False)}
ds = ds.map(preprocess)
def tokenize(sample):
return tokenizer(sample["text"], padding=False, max_length=2048,
truncation=True, add_special_tokens=False)
ds = ds.map(tokenize, remove_columns=ds.column_names)
oneshot(model=model, dataset=ds, recipe=recipe,
max_seq_length=2048, num_calibration_samples=512,
moe_calibrate_all_experts=True)
model.save_pretrained("Qwen3.6-35B-A3B-NVFP4", save_compressed=True)
processor.save_pretrained("Qwen3.6-35B-A3B-NVFP4")
tokenizer.save_pretrained("Qwen3.6-35B-A3B-NVFP4")Environment
Requirements
- GPU: NVIDIA Blackwell (SM 120)
- VRAM: ~22 GB minimum (model only)
- Software: vLLM nightly (cu130)
Notes
- Multimodal (vision) preserved in BF16.
- Gated DeltaNet layers are a hybrid attention+SSM architecture — unique to Qwen3.5/3.6.
- NVFP4 is Blackwell-specific. Will not work on Ampere/Hopper.
- Use
--kv-cache-dtype fp8for 2x KV capacity at no quality cost.
Credits
- Original model: Qwen
- Quantization tool: llm-compressor
- Quantized by: Lna-Lab
