hyperhuzaifa/Qwen3.6-27B-Uncensored-MTP-GGUF
Qwen3.6-27B-Uncensored-HauhauCS-Balanced — Q4KP + MTP (GGUF)
This is [HauhauCS/Qwen3.6-27B-Uncensored-HauhauCS-Balanced](https://huggingface.co/HauhauCS/Qwen3.6-27B-Uncensored-HauhauCS-Balanced) (Q4KP) with the Qwen 3.6 MTP "nextn" head grafted in, so it runs speculative decoding on llama.cpp out of the box — roughly 2× faster single-stream decode, with byte-identical output to the original (speculative decoding is lossless; the draft head only proposes tokens, the model verifies every one).
The upstream HauhauCS GGUFs ship without the MTP head, so there was no MTP-accelerated uncensored Qwen-27B available. This fills that gap.
What's different
How it was made
The MTP head is an extra decoder block (blk.64.*, 15 tensors) plus two metadata keys (block_count → 65, nextn_predict_layers = 1). Those tensors were transplanted from [unsloth/Qwen3.6-27B-MTP-GGUF](https://huggingface.co/unsloth) (the only public source of the Qwen-27B MTP head) into the HauhauCS Q4KP file, with all other tensors/metadata copied faithfully. Because HauhauCS is a near-lossless abliteration of the same Qwen/Qwen3.6-27B base the head was trained on, draft acceptance stays high. Mixed per-tensor quant within a single GGUF is fully supported by llama.cpp.
Usage (llama.cpp)
llama-server -m Qwen3.6-27B-Uncensored-HauhauCS-Balanced-Q4_K_P-MTP.gguf \
--mmproj mmproj-Qwen3.6-27B-Uncensored-HauhauCS-Balanced-f16.gguf \
-ngl 99 --flash-attn on -c 65536 \
--spec-type draft-mtp --spec-draft-n-max 3 \
-ctk q8_0 -ctv q8_0 --jinja- MTP:
--spec-type draft-mtp(the head is in the main GGUF — no--model-draftneeded). Requires a build with the merged Qwen MTP path (mainline ≥ b9542). - Context: fits ~65K tokens at q8 KV on a single 24 GB GPU with the vision projector loaded.
- Chat template: the embedded template is stock-official Qwen 3.6. For agentic/tool-use, the unsloth fixed template (
chat_template_unsloth.jinja, included) is recommended — it removes two over-eager exceptions and fixes tool-call argument serialization. Pass it with--chat-template-file chat_template_unsloth.jinja. - Thinking model: pass
enable_thinking: false(template kwarg) for short/structured outputs; inline/no_thinkis not honored.
ik_llama.cpp (alternative)
ik_llama.cpp runs the same baked-in MTP head, but with its own flag dialect — -fa 1 instead of --flash-attn on, and `-mtp --draft-max 3` instead of --spec-type draft-mtp (no --model-draft; the head is in the GGUF):
./build/bin/llama-server \
-m Qwen3.6-27B-Uncensored-HauhauCS-Balanced-Q4_K_P-MTP.gguf \
--mmproj mmproj-Qwen3.6-27B-Uncensored-HauhauCS-Balanced-f16.gguf \
-ngl 99 -fa 1 -c 65536 -ctk q8_0 -ctv q8_0 \
-mtp --draft-max 3 \
--jinja --host 127.0.0.1 --port 8080This is a dense model, so MTP is a clear win on ikllama too (~83 t/s measured on a 4090 for a comparable Qwen-27B-MTP build). Note: some ikllama builds segfault on single-GPU + MTP — if so, run dual-GPU (-sm layer -ts 1,1) or fall back to mainline.
Files
Qwen3.6-27B-Uncensored-HauhauCS-Balanced-Q4_K_P-MTP.gguf— weights + grafted MTP headmmproj-Qwen3.6-27B-Uncensored-HauhauCS-Balanced-f16.gguf— vision projectorchat_template_unsloth.jinja— recommended (bug-fixed) chat template
Credits & license
- [HauhauCS](https://huggingface.co/HauhauCS) — the uncensored (abliterated) base weights.
- [unsloth](https://huggingface.co/unsloth) — the Qwen 3.6 MTP head (donor) and the fixed chat template.
- [Qwen](https://huggingface.co/Qwen) — the
Qwen3.6-27Bbase model.
Apache-2.0, inherited from the upstream models. This is a redistribution with an added (lossless) MTP head — all model behavior and quality is HauhauCS's; only decode speed changes.
