Follow me on X @BennyDaBall_OG !
Want to support my work? Buy me a coffee on Ko-fi !
This is a native NVFP4 GGUF of DavidAU/Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored, made for LM Studio and any other llama.cpp runtime on Blackwell GPUs.
The model is DavidAU's work. The training, the Cold Fusion / GAIN tuning, the TWIN-TURBO short-reasoning behavior, the five thinking and five instruct modes, the Heretic de-censoring, and the chat templates are all his. Nothing was trained or edited here. This repo only changes the storage format: a fresh one-pass quantization from his BF16 safetensors, with the MTP head and the vision tower kept.
For everything about how the model behaves and how to drive it, read DavidAU's docs: NEO MTP GGUF repo and usage guide. If you want K-quants or imatrix quants for non-Blackwell hardware, get them there.
nvfp4), NVIDIA's
4-bit floating point format with hardware kernels on Blackwell.blk.64 is the model's own
multi-token-prediction layer, so the runtime can self-speculate with no
external draft model. Output head and token embeddings are BF16 too.mmproj was converted from the same DavidAU
checkpoint, not borrowed from another Qwen3.8 model.4e52a372..., verified
byte-identical after conversion). His {REASON:...} mode switches work as
shipped. His alternate v2 template is included as a separate file.| File | Size | Purpose |
|---|---|---|
Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-NVFP4.gguf |
18.34 GiB | Text model, NVFP4 backbone, embedded MTP head, embedded chat template |
mmproj-Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-BF16.gguf |
0.87 GiB | Matching BF16 vision projector, only needed for image input |
chat_template.jinja |
17 KB | DavidAU's default template, same as the one embedded in the GGUF |
chat_template-tturbo-v2.jinja |
39 KB | DavidAU's alternate v2 template, use it for agent harnesses (see below) |
Qwen3.8-27B-NVFP4-imatrix.dat |
13.01 MiB | Importance matrix used for the NVFP4 rounding |
...-NVFP4-tensor-types.txt |
24 KB | The full 866-line per-tensor precision map given to llama-quantize |
BUILD-MANIFEST.json, SHA256SUMS.txt |
small | Pinned source, tool hashes, tensor inventory, checksums |
f4b663ec672a25e9ca5b62450822ca9b6c8cf0b56f49ce33fc050bd6813f9424 *Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-NVFP4.gguf
dfe15f4cdd7cd6d073182e81b666d7f335890f79aff589666a106b64db32cfec *mmproj-Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-BF16.gguf
4e52a37225304e0fdfbd1e48594c4808f554d6e74ed2e35b954bf85dd72623f5 *chat_template.jinja
ac0b3a1299ea84e92663f0e5e85bc0d6e6d0e94f9a47dc6e48d62d97424c235a *chat_template-tturbo-v2.jinja
sm_120).--spec-type draft-mtp was enabled. If MTP asserts at load, update..gguf into your LM Studio models folder. Put the
mmproj file in the same folder if you want image input. LM Studio pairs
them automatically.lms load qwen3.8-27b-twin-turbo-fable-cold-fusion-709-ultra-heretic-uncensored-nvfp4 \
--gpu max --context-length 32768 \
--speculative-draft-mtp \
--speculative-draft-max-tokens 3 \
--speculative-draft-min-continue-probability 0.2
The model thinks by default. To switch modes from inside the chat, use
DavidAU's tags at the start of a message, for example {REASON:imedium} for a
direct answer with no thinking block or {REASON:low} for brief thinking. The
tag stays in effect until you change it. This was tested in LM Studio and works
through its template engine.
llama-server \
--model Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-NVFP4.gguf \
--no-mmproj \
--ctx-size 131072 \
--flash-attn on \
-ctk q8_0 -ctv q8_0 \
--spec-type draft-mtp \
--spec-draft-n-max 3 \
--spec-draft-p-split 0.2 \
--jinja \
--temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.0 --repeat-penalty 1.0
Replace --no-mmproj with
--mmproj mmproj-Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-BF16.gguf.
Tool calling works on the embedded default template. Like the stock Qwen3.8
template, it rejects a system message that arrives after the first turn, and
some agent harnesses send those. For that case use DavidAU's v2 template, which
accepts them and keeps the same {REASON:...} modes:
--chat-template-file chat_template-tturbo-v2.jinja
Both templates were tested here with a tool call and a tool-result follow-up.
Switch with a tag in your message or with reasoning_effort / enable_thinking
over the API:
| Thinking | Instruct (no thinking block) |
|---|---|
{REASON:xhigh} (default) |
{REASON:ixhigh} |
{REASON:medium} |
{REASON:imedium} |
{REASON:low} |
{REASON:ilow} |
{REASON:einstein} |
{REASON:ieinstein} |
{REASON:spoon} |
{REASON:ispoon} |
DavidAU's suggested settings: thinking mode temp 1.0, top_p 0.95, top_k 20,
instruct mode temp 0.7, top_p 0.8, top_k 20, presence penalty 1.5. For MTP he
recommends temperature at or below 1.0 and repetition penalty 1.0 (off). See his
guide for the full details.
Official llama.cpp b11026, 131,072 allocated context, Q8_0 K/V cache, flash attention, one slot, greedy, two runs per workload. VRAM is total board usage and includes about 3.0 GiB of desktop apps.
| Mode | Prose | Code | Thinking | Mean tok/s | Draft acceptance | Peak VRAM |
|---|---|---|---|---|---|---|
| Speculation off | 76.7 | 76.7 | 76.7 | 76.7 | n/a | 24,342 MiB |
| Embedded MTP, n=3, p-split 0.2 | 119.6 | 156.3 | 155.7 | 143.9 | 74.7% | 26,428 MiB |
Embedded MTP was +87.5% mean decode speed, and the generated text was identical with it on and off.
LM Studio (runtime 2.41.0, 32,768 context, same greedy code prompt, identical output text both ways): 70.8 tok/s with MTP off, 137.4 tok/s with Draft MTP at max 3 / probability 0.2. Load time was about 10 seconds.
These are short generations on one machine, not a benchmark suite. Acceptance depends on the workload and the sampler: one sampled creative-writing prompt with presence penalty 1.5 accepted only 31% of drafts, and MTP gave no gain there. Code and reasoning is where it pays.
Every runtime was also checked by reading the output, not only the counters: generated Python that ran and passed its own asserts, correct arithmetic and word problems, clean prose, a correct read of three values from a test image, and no looping or junk tokens.
Fresh one-pass quantization from DavidAU's BF16 checkpoint at revision
2d28f63aa79cab53e19fb26139d69eb22940d9c2. Not a requant of another GGUF.
mtp.fc.weight lives in DavidAU's separate
model-mtp-restored.safetensors and is picked up through the index.5ecbe1ac), which maps mtp.* to blk.64.llama-quantize, an importance matrix, and a complete
per-tensor type map. The q8_0 argument is only a fallback, the map decides
every tensor.mmproj from the same checkpoint.python convert_hf_to_gguf.py "$SOURCE" --outfile parent-bf16.gguf --outtype bf16
llama-quantize \
--imatrix Qwen3.8-27B-NVFP4-imatrix.dat \
--tensor-type-file Qwen3.8-27B-TWIN-TURBO-Fable-Cold-Fusion-709-ULTRA-HERETIC-Uncensored-NVFP4-tensor-types.txt \
parent-bf16.gguf final-nvfp4.gguf q8_0 32
python convert_hf_to_gguf.py "$SOURCE" --outfile mmproj-bf16.gguf --outtype bf16 --mmproj
Result: 866 tensors, 65 blocks, one NextN layer. 448 NVFP4 (the large backbone matrices), 408 F32 (small state, conv, norm, and scale tensors), 10 BF16 (output head, token embeddings, and the eight large MTP matrices). 18,771.52 MiB at 5.76 bits per weight. The projector is 334 tensors, 110 BF16 and 224 F32.
The importance matrix is architecture-matched Qwen3.8-27B calibration (200 chunks, 496 entries). It was not computed on this fine-tune. It only guides rounding, and both it and the tensor map are included here so the recipe is fully inspectable.
Apache-2.0, matching the upstream model. "Qwen" is a trademark of Alibaba and is used only to identify the upstream model. This repository is not affiliated with or endorsed by Alibaba or DavidAU.
Quantized locally by BennyDaBall.
Follow me on X @BennyDaBall_OG !
Want to support my work? Buy me a coffee on Ko-fi !