Skip to content
AI Primer
release

Unsloth releases Qwen3.6 NVFP4 quants with claimed 2.5x GPU speedups

Unsloth released Qwen3.6 NVFP4 quants and claimed 2.5x GPU speedups, including 27B on 24GB VRAM. Follow-up notes warned vLLM users that Marlin or default backends can make W4A4 Qwen inference 2–2.5x slower.

4 min read
Unsloth releases Qwen3.6 NVFP4 quants with claimed 2.5x GPU speedups
Unsloth releases Qwen3.6 NVFP4 quants with claimed 2.5x GPU speedups

TL;DR

  • Unsloth released Qwen3.6 NVFP4 quants with a claimed 2.5× GPU speedup, 27B support on 24GB VRAM, and 35B-A3B throughput up to 17,561 tok/s on B200, according to UnslothAI's launch post.
  • The quantization split is W4A4 versus W4A16: danielhanchen's breakdown says the 35B-A3B NVFP4-Fast build is pure W4A4, while the non-Fast build mixes formats to keep accuracy higher.
  • The serving caveat is sharp: Marlin can be 2.5× slower than CUTLASS, flashinfer_trtllm, or cuteDSL for these W4A4 quants, according to danielhanchen's backend warning.
  • DGX Spark has its own footgun: W4A4 can become W4A16 on the default backend unless flashinfer_b12x is selected, per danielhanchen's DGX Spark command.
  • The release also adds FP8 KV cache calibration for 2× longer contexts and built-in MTP, based on danielhanchen's follow-up and the MTP reply.

UnslothAI's launch sent readers to the guide and the Qwen3.6 NVFP4 model page. The odd bits live in the follow-ups: the MTP reply says MTP is pre-embedded and "on top of MTP," while the DGX Spark command turns backend selection into the difference between W4A4 and W4A16. QuixiAI's B60 run also had nvidia/Qwen3.6-35B-A3B-NVFP4 running on dual B60s with custom SYCL kernels at 128k context.

What shipped

UnslothAI shipped dynamic NVFP4 quants for Qwen3.6 with four concrete launch claims:

  • Qwen3.6-27B-NVFP4 runs on 24GB VRAM.
  • Qwen3.6-27B throughput is 5,637 tok/s on 1× B200 versus 2,259 tok/s for NVIDIA's NVFP4 quant in the launch graphic.
  • Qwen3.6-35B-A3B-NVFP4-Fast reaches 11,628 tok/s on 1× B200 in the launch graphic, with higher-concurrency throughput claimed at 17,561 tok/s.
  • UnslothAI also claimed improvements in accuracy, tool calling, agent use, and looping.

The throughput claim is less useful than the serving caveat: the same model family can behave like a W4A4 speedup or a W4A16 fallback depending on backend selection.

W4A4 versus W4A16

The core implementation claim is that Unsloth applied its dynamic quantization method to NVFP4 using W4A4 instead of W4A16. danielhanchen's FP4 tensor-core reply framed the difference as "true FP4 tensor core matmuls" for W4A4, versus NVIDIA's W4A16 path.

The 35B-A3B release has two variants:

  • Qwen3.6-35B-A3B-NVFP4-Fast: pure W4A4, listed as 1.79× faster than NVIDIA in danielhanchen's breakdown.
  • Qwen3.6-35B-A3B-NVFP4: a mixed approach, listed as 1.56× faster and described as a bit more accurate in the same breakdown.

UnslothAI's launch graphic put the accuracy deltas near parity across MMLU-Pro, AIME 2025, and GPQA, with the Fast 35B-A3B build slightly lower on AIME 2025 and slightly higher on GPQA than NVIDIA's quant.

vLLM backend trap

The backend warning is the most operationally interesting part of the release. danielhanchen's backend warning told benchmarkers not to use Marlin because it is 2.5× slower than CUTLASS, flashinfer_trtllm, and cuteDSL for these W4A4 kernels.

The table in danielhanchen's benchmark reply shows why the claim matters:

  • Unsloth 27B with Marlin: 2,127 output tok/s.
  • Unsloth 27B with auto native cute-DSL: 6,863 output tok/s.
  • Unsloth 35B-A3B with Marlin: 8,619 output tok/s.
  • Unsloth 35B-A3B with auto native cute-DSL plus trtllm: 15,636 output tok/s.

DGX Spark gets a separate caveat. one DGX Spark reply says the default backend can use W4A16, matching the original NVIDIA quant path rather than actual FP4 tensor-core matrix multiplies.

The exact command in danielhanchen's DGX Spark post was:

KV cache and MTP

Unsloth also enabled FP8 KV cache calibration for the 27B and 35B models, which danielhanchen's follow-up described as giving 2× longer contexts. The same post says built-in MTP was added.

The attached decode chart in the follow-up reports smaller per-user decode gains than the throughput chart:

  • 27B: 124.8 versus 120.6 decode, 1.03× faster.
  • 35B-A3B: 274.7 versus 234.3 decode, 1.17× faster.
  • 35B-A3B Fast: 286.6 versus 234.3 decode, 1.22× faster.

The MTP detail got one extra clarification: the MTP reply says MTP is pre-embedded and sits "on top of MTP."

Dual B60 SYCL run

The non-B200 datapoint came from QuixiAI, which reported nvidia/Qwen3.6-35B-A3B-NVFP4 running on dual B60 with custom SYCL kernels. The reported setup used 128k context and reached 65 tok/s without DFlash, according to QuixiAI's B60 run.

QuixiAI added in a SYCL reply that SYCL was the fastest path they found for that setup.

Further reading

Discussion across the web

Where this story is being discussed, in original context.

On X· 1 thread
vLLM backend trap2 posts
Share on X