Measured (TP=4, 32k ctx, KV fp8, RTX PRO 2000 Blackwell ×4, MTP n=3)
Table with columns: concurrency, aggregate t/s| concurrency | aggregate t/s |
|---|
| 1 | 77.3 |
| 4 | 204.8 |
| 8 | 380.9 |
Single-stream prefill: 3,590 tok/s on an 8k prompt (prefix cache disabled, mean of 3). GPU KV cache at this config: 613,655 tokens.
Capability after abliteration + 4-bit: an 8-probe set (Japanese fluency, English code, arithmetic, instruction-following, logic puzzle, domain knowledge, defensive-security explanation, and a trading backtest that punishes look-ahead bias) scores 8/8 — identical to the unmodified Qwen3.8-27B quantized with the same recipe, at 87.2 t/s vs 85.7 t/s. No measurable degradation.
Serve
vllm serve sakamakismile/Huihui-Qwen3.8-27B-abliterated-NVFP4 \
--trust-remote-code --tensor-parallel-size 4 \
--max-model-len 32768 --kv-cache-dtype fp8 --reasoning-parser qwen3 \
--speculative-config '{"method":"qwen3_5_mtp","num_speculative_tokens":3}'
On boards without P2P add NCCL_P2P_DISABLE=1 and --disable-custom-all-reduce.
⚠️ Gotchas
-
Send reasoning_effort: "medium" for long-form work. This is the one that will bite you. reasoning_effort defaults to xhigh, and at that setting the <think> phase sometimes never terminates: it grows past 19,000 characters, degenerates into repeating a single line, and the token budget is gone before any answer is emitted. On a 9-case gate (French/English long-form, temperature 0 and 0.7) this model fails 1 of 9 at xhigh and passes 9 of 9 at medium, where thinking stays near 1k characters. The unmodified Qwen3.8-27B passes the same gate at both settings, so the abliterated fine-tune is more prone to it — but medium is the right default either way.
"chat_template_kwargs": {"reasoning_effort": "medium"}
Worth knowing what these modes actually are: they are not three levels of capability, they are three system prompts. Reading the chat template — xhigh injects "think carefully through the task, validate key assumptions, consider plausible alternatives…", low injects "keep your thinking brief and focused, moving directly to the conclusion", and medium injects nothing at all — it is simply the model with no deliberation instruction. That matches what I measured: runs a few hundred characters at , ~1k at , 5–19k at , while answer quality was indistinguishable across all three on short verifiable tasks (96 runs, no errors at any setting). The risk at is not worse reasoning — it is deliberation outliving the token budget.
Recipe
llm-compressor NVFP4 (W4A4, group 16), targets: [Linear], ignore: [lm_head, re:.*visual.*, re:.*conv1d.*, re:.*mtp.*], 32 calibration samples × 8192 tok from neuralmagic/calibration. MTP tensors grafted back in bf16 after saving and appended to quantization_config.ignore.
🙏 @huihui-ai for the model, Qwen team for the base, vLLM & llm-compressor teams for the tooling.