Qwen3.8-27B Uncensored (HauhauCS Aggressive) + DFlash2 — NInfer artifact
A single-file .ninfer artifact for the NInfer engine
(single-GPU C++/CUDA inference) carrying the community uncensored tune
HauhauCS/Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-MTP-GGUF
as the target model and the official z-lab/Qwen3.8-27B-DFlash2
draft model as the DFlash2 speculative companion (recipe qwen3_8_27b-v2, the first NInfer recipe
with the DFlash2 payload). The native NextN/MTP head of the tune is preserved as well, so both
--spec mtp and --spec dflash2 work.
| Artifact identity | qwen3.8-27b / groupwise-int (registered engine identity, container v2) |
| File | qwen3_8_27b_hauhaucs_aggressive_dflash2.ninfer — 20,437,336,576 bytes |
| SHA-256 | e2f2b0dbd5a23085d21cec99894074f392b51934cd45a282f5c04b08a6fa18a8 |
| Objects | 1190 (1184 tensors, 6 frontend resources; formats BF16 627, FP32 96, I32 1, Q4G64_F16S 183, Q5G64_F16S 246, Q6G64_F16S 1, W8G32_F16S 30) |
| Built with | ninfer tools.convert.qwen3_8_27b.convert, recipe qwen3_8_27b-v2, converter revision 487f89773f07cb18a2fb841fe0971ec9634d409b |
| Target source | HauhauCS Aggressive Q8_K_P GGUF (Q8_0 matrices, BF16 attention q/k/v and lm_head, F32 control tensors) + the release's BF16 mmproj |
| Draft source | z-lab/Qwen3.8-27B-DFlash2 revision 50307d4c4cde6860d4eee73e2547cd786fe8e8a4 (byte-identical to nerkyor/.../BF16/DFlash2-FP8/model.safetensors, sha256 67fc76d6…) |
| Verified | smoke-run on stock NInfer 487f8977 (CUDA 13.1, RTX PRO 4500 Blackwell (32 GB, sm_120)): plain: decode 43.8 tok/s; dflash2: decode 59.8 tok/s, acceptance 27.2% (2.90 tok/round); dflash2_think: decode 112.1 tok/s, acceptance 64.3% (5.50 tok/round) |
Status, September 2026
This file is a NInfer v2 artifact. NInfer v0.11 and later, upstream and the consolidated NInfer-3090 line (RTX 3090, 4090 and 5090) alike, read only v3 artifacts: they refuse this file at load and point to the upgrade tool. Upgrade it once from such a tree; the weights stay byte for byte and the maintained Qwen chat template is installed:
python3 tools/upgrade_ninfer_v2_to_v3.py \
models/qwen3_8_27b_hauhaucs_aggressive_dflash2.ninfer \
models/qwen3_8_27b_hauhaucs_aggressive_dflash2-v3.ninfer
Checked on this file: the tool writes a 20,437,571,568-byte v3 artifact, and NInfer's own
inspector (python3 -m tools.artifact.inspect) reads it back with the text, vision, MTP and DFlash2
components, the 131,072-row proposal head for --lm-head-draft, and the same inventory as the
official Qwen3.8-27B v3 artifact: 1190
objects, 1513 bindings, identical formats and layouts. The speed of that official artifact on each
card is in the NInfer-3090
reference measurements;
this tune itself was not measured there. The smoke numbers above come from the stock engine this
file was converted with.
Download & run
hf download WaveCut/Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-DFlash2-NInfer qwen3_8_27b_hauhaucs_aggressive_dflash2.ninfer --local-dir models
# NInfer v0.11 or later: upgrade to v3 first (see above), then
# DFlash2 speculative decoding (7 drafts, optimized head), CLI:
./build/apps/ninfer models/qwen3_8_27b_hauhaucs_aggressive_dflash2-v3.ninfer --prompt "Summarize the difference between prefill and decode." \
--max-context 16384 --spec dflash2 --draft-tokens 7 --lm-head-draft
# OpenAI/Anthropic-compatible server:
./build/apps/ninfer-serve models/qwen3_8_27b_hauhaucs_aggressive_dflash2-v3.ninfer --max-context 32768 --kv-capacity auto \
--spec dflash2 --draft-tokens 7 --lm-head-draft
--spec mtp --draft-tokens 3 --lm-head-draft selects the tune's own NextN head instead. Vision
(--vision) is the official tower: the release's BF16 projector reproduces it bit-for-bit through the FP16
export path, so the artifact carries the official BF16 vision words.
Hardware. Upstream NInfer targets one RTX 5090-class Blackwell card (sm_120, 32 GB); the smoke
run above used an RTX PRO 4500 Blackwell. The consolidated NInfer-3090 line, the master branch of
iamwavecut/ninfer-3090, serves the same
qwen3.8-27b / groupwise-int identity with DFlash2 on the RTX 3090, 4090 and 5090. On 24 GB cards
the official artifact of the same size fits DFlash2 with five drafts beside 258,048 tokens of
rk4v4 KV on the 3090 and 245,760 on the 4090 (--kv-dtype rk4v4 --gdn-state-fp16 --spec dflash2 --draft-tokens 5).
How it was built
The tune is published only as GGUF quants, so the target weights were rebuilt into the official
Qwen/Qwen3.8-27B safetensors layout first, then converted with the unmodified stock converter:
- GGUF → HF BF16 (
gguf_to_hf.py, included). Every llama.cppqwen35export transform was inverted exactly: the Gated-DeltaNet V-head grouped→tiled reorder (qkv/z/a/b rows,A_log,dt_bias, conv1d channels,out_projcolumns),-exp(A_log), the+1on zero-centered RMSNorm weights, the conv1d squeeze, and themtp.* → blk.64NextN rename; themmprojinverts the Conv3D temporal split and merger names.Q8_0blocks are dequantized exactly like ggml (f16 scale × int8, RNE to BF16). - Exactness against the official checkpoint. This release was exported from an FP16 copy of the
weights, so llama.cpp computed
w+1and-exp(A_log)in FP16 before storing F32 and the BF16/F32 words in the GGUF are lossy relative to the original BF16 checkpoint; where re-applying that forward transform to the officialQwen/Qwen3.8-27Btensor reproduces the GGUF words bit-for-bit, the official BF16 word was used. ForQ8_0matrices the official tensor was re-quantized with ggml's rule and compared byte-for-byte: identical codes ⇒ the tune did not touch that matrix ⇒ exact official BF16 words; any difference ⇒ the dequantized tune values. Result: 49 of 1199 tensors carry the tune (all in text layers 19–53); every other tensor reproduced the GGUF words bit-for-bit from the official checkpoint through the FP16 export path and therefore carries the exact official BF16 words (1150 tensors, 404 of them Q8_0 matrices whose only differences were ±1 rounding flips at quantizer ties with identical block scales). The modified matrices by kind:model.language_model.layers.N.linear_attn.out_proj.weight× 13model.language_model.layers.N.mlp.down_proj.weight× 16model.language_model.layers.N.mlp.gate_proj.weight× 7model.language_model.layers.N.mlp.up_proj.weight× 7model.language_model.layers.N.self_attn.o_proj.weight× 6
| reconstruction status | tensors |
|---|---|
official-exact(f16-path) | 746 |
official-exact(rounding-noise) | 404 |
gguf-dequant(modified) | 49 |
- Vision: the release's BF16
mmprojreproduces the official vision tower bit-for-bit through FP16 (333/333 tensors) — the tune did not touch vision. - Frontend resources (tokenizer, chat template, preprocessor configs,
generation_config.json) are the officialQwen/Qwen3.8-27Bfiles pinned by SHA-256 in the converter. - Converter:
python3 -m tools.convert.qwen3_8_27b.convert --model <hf-bf16> --dflash2-model <z-lab DFlash2> --out qwen3_8_27b_hauhaucs_aggressive_dflash2.ninfer(92 s on the RTX PRO 4500). Its own report isqwen3_8_27b_hauhaucs_aggressive_dflash2.ninfer.conversion.json; the GGUF→HF decisions are ingguf_to_hf.report.json.
Caveats
- Double quantization on the modified tensors. Matrices the tune changed exist only as
Q8_0and are re-quantized into NInfer's groupwise profile (Q4/Q5/Q6/W8 groupwise + BF16). Unmodified matrices carry the exact official BF16 words. - The engine binds this file to the registered
qwen3.8-27b / groupwise-intprofile: architecture, tokenizer and chat template are the official ones; only the weights carry the tune. The tune's own chat template in the GGUF is not embedded. - DFlash2 lossless verification: the target model authorizes every emitted token, so the uncensored behaviour of the tune is unchanged by the draft model; DFlash2 only affects speed/acceptance.
- Set the sampler explicitly (
temperature=1.0, top_p=0.95, top_k=20) if you rely on the tune's intended behaviour. - Greedy decoding with
--spec dflash2is lossless in distribution but not bit-parity with plain greedy: the verify pass runs a batched floating-point route, so long greedy outputs can diverge by a token (in the smoke run: one word of the haiku after ~80 identical tokens).
Lineage
Qwen/Qwen3.8-27B (1d4bf0f2)
├─ HauhauCS/Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-MTP-GGUF (Q8_K_P + BF16 mmproj, Apache-2.0)
│ └─ exact GGUF→HF inversion + official-consistency reconstruction (gguf_to_hf.py)
└─ z-lab/Qwen3.8-27B-DFlash2 (50307d4c, MIT) ── DFlash2 companion
└─ qwen3_8_27b_hauhaucs_aggressive_dflash2.ninfer (this repo, NInfer groupwise-int profile, recipe v2)
Licensed Apache-2.0 for the target weights (both upstreams), MIT for the DFlash2 draft weights.