Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-MTPLX-6bit
MLX 6-bit build of HauhauCS's Qwen3.8-27B Uncensored Aggressive fine-tune with a working multi-token-prediction (MTP) head, forged and verified with MTPLX (contract=true).
As far as I know this is the first MLX conversion of this fine-tune — the author publishes GGUF only.
Measured speed (M-series Mac, 48 GB)
| Mode | decode tok/s | vs AR |
|---|---|---|
| Autoregressive | 10.9 | 1.00x |
| MTP depth 1 | 23.9 | 2.20x |
| MTP depth 2 | 30.9 | 2.84x |
| MTP depth 3 | 25.8 | 2.38x |
MTPLX auto-tunes the depth per machine; on the build machine depth 2 was selected. For comparison, the same fine-tune as Q6 GGUF with the FastMTP sidecar in llama.cpp reached ~12.5 tok/s on the same hardware.
Usage
mtplx pull <this-repo>
mtplx tune --model <this-repo> --retune # calibrate MTP depth for your machine
Provenance and deliberate changes
This is a community conversion, not an official HauhauCS release (their releases carry Ed25519-signed manifests; this one does not).
- Quantization lineage: original bf16 → author's Q8_K_P GGUF → dequantized f16 → single MLX 6-bit affine quantization (group size 64). The MTP head is kept in bf16 (
mtp_policy: keep_bf16) and was verified against the trunk by MTPLX Forge. - Conversion pipeline: llama.cpp's qwen35 GGUF applies a tiled V-head reorder to the linear-attention tensors and stores
A_logas-exp(A_log); both transforms were inverted to restore the HF/MLX layout before forging. - Chat template: thinking is disabled by default (the original template defaults to enabled). Pass
enable_thinking: trueto turn it back on. This avoids greedy-decoding degeneration loops and matches how most people run this model for direct tasks. - Tokenizer: rebuilt from the family reference tokenizer to restore
<think>/</think>special-token registration, which the GGUF metadata round-trip loses. Text encoding is byte-identical to the original.
Credits
- Base model: Qwen/Qwen3.8-27B (Apache-2.0)
- Fine-tune: HauhauCS
- MTP runtime and Forge: MTPLX