A DFlash2 draft model fine-tuned for one target:
DavidAU/Qwen3.8-Flash-Next-Abliterated-Uncensored-Turbo-Brilliance-50x-Reasoning-Instruct-GSQ-RCO-GGUF
(IQ3_S). It starts from incoai/Qwen3.8-Flash-Next-DFlash2,
which was trained on the official Qwen3.8-Flash-Next. It is not a standalone language model: it drafts tokens that the
target verifies, so the output is the target's own (greedy output is identical with or without it).
v2 (2026-10-22): trained on 10x more of the target's own data, a wider draft vocabulary, and every llama.cpp
quantization from F32 down to IQ4_XS, each measured. v1 (t3000-q8-dv.gguf) stays in place for existing configs.
| You run | Use | Why |
|---|---|---|
| Strata on a Mac | gguf/DFlash2-v2-Q8_0.gguf |
Lossless next to BF16 on every metric below, and the format Strata's Metal drafter was built around. |
| llama.cpp (any backend) | gguf/DFlash2-v2-Q8_0.gguf or gguf/DFlash2-v2-Q6_K.gguf |
Q6_K: 15% smaller, acceptance unchanged, slightly higher KL. |
| llama.cpp, tight on memory | gguf/DFlash2-v2-Q5_K_M.gguf / Q5_K_S |
Under 1% drop in acceptance. |
| Experimenting | everything at 4 bits (Q4_K_M, Q4_K_S, Q4_1, Q4_0, IQ4_NL, IQ4_XS) and mac/* |
Experimental. About 1% fewer accepted drafts, and no speed gain on a Mac (below). |
| Reference only | F32, F16, BF16 |
Same quality as Q8_0 at 1.6-3x the size. |
The drafter is small next to the target (tens of GB; this is about 1 GB), so the smaller files save little memory, and on Apple Silicon they were not faster: the drafter's time is spent on its many small GPU steps, not on reading weights.
| Path | What it is |
|---|---|
safetensors/model.safetensors, safetensors/config.json |
The v2 drafter, BF16, same layout as the incoai checkpoint. Load it with subfolder="safetensors". |
gguf/DFlash2-v2-<TYPE>.gguf |
Ready for --dflash: the drafter at <TYPE>, plus the target's own token_embd (IQ4_XS) and output-head rows for 40,960 draft-vocabulary ids (from the target's Q6_K head), with a d2t map. llama.cpp's standard recipe per type, with an importance matrix (below). |
mac/DFlash2-v2-mac-<TYPE>.gguf |
Experimental. Every matrix at one format that Strata's native Metal drafter reads (Q5_0, Q4_0, IQ4_NL, IQ4_XS), selector codebooks Q8_0. Needs a Strata build with multi-format drafter support (see Use with Strata). |
draft_vocab_v2.bin |
The 40,960 draft-vocabulary token ids (int32). |
sha256.txt |
sha256 of every file. |
t3000-q8-dv.gguf |
v1, unchanged. |
evidence/ |
v1 evidence; evidence/v2/ holds every v2 table, log and script (local paths replaced by <home>). |
llama-quantize per type.8,192 held-out anchors from 124 held-out requests, context 2,048 rows (what the server uses), drafting only from the draft vocabulary (as on the Mac). Each GGUF is read back through ggml's own dequantization, so these are the weights llama.cpp computes with.
--spec 4 uses.| File | MB | Accepted / 7 | First 3 | P(first k right), k = 1..7 | KL | Top-1 agree | Same draft |
|---|---|---|---|---|---|---|---|
| F32 | 3180 | 3.025 | 1.880 | .801 .608 .471 .375 .305 .254 .213 | 0 | 100% | 100% |
| BF16 | 1765 | 3.025 | 1.880 | .801 .608 .471 .375 .305 .254 .213 | 0 | 100% | 100% |
| F16 | 1765 | 3.022 | 1.877 | .800 .607 .470 .374 .305 .254 .213 | 0.00020 | 99.4% | 98.8% |
| Q8_0 | 1101 | 3.023 | 1.880 | .800 .608 .471 .374 .304 .253 .212 | 0.00088 | 98.2% | 97.0% |
| Q6_K | 930 | 3.028 | 1.880 | .799 .608 .472 .375 .306 .255 .212 | 0.00285 | 97.0% | 94.2% |
| Q5_1 | 887 | 3.018 | 1.881 | .801 .607 .473 .373 .303 .251 .209 | 0.00801 | 95.1% | 90.8% |
| Q5_K_M | 855 | 3.021 | 1.879 | .801 .607 .471 .375 .305 .252 .210 | 0.00818 | 95.0% | 90.9% |
| Q5_K_S | 850 | 3.022 | 1.881 | .802 .607 .473 .375 .305 .251 .210 | 0.00934 | 94.8% | 90.3% |
| Q5_0 | 850 | 3.010 | 1.876 | .801 .607 .469 .372 .301 .251 .210 | 0.01157 | 94.1% | 88.9% |
| Q4_1 (exp.) | 812 | 2.999 | 1.872 | .800 .604 .467 .368 .301 .250 .209 | 0.03269 | 90.2% | 83.0% |
| Q4_K_M (exp.) | 786 | 3.011 | 1.876 | .801 .607 .469 .370 .302 .252 .210 | 0.02639 | 91.4% | 82.9% |
| Q4_K_S (exp.) | 776 | 3.008 | 1.873 | .798 .606 .469 .371 .303 .251 .210 | 0.03120 | 90.6% | 83.3% |
| IQ4_NL (exp.) | 776 | 2.994 | 1.869 | .799 .603 .467 .369 .299 .248 .208 | 0.03969 | 88.8% | 82.4% |
| Q4_0 (exp.) | 774 | 2.985 | 1.864 | .798 .600 .465 .368 .299 .248 .206 | 0.04537 | 88.6% | 80.1% |
| IQ4_XS (exp.) | 757 | 2.990 | 1.866 | .798 .602 .466 .369 .298 .249 .207 | 0.04020 | 88.8% | 83.0% |
| mac-Q5_0 (exp.) | 883 | 3.007 | 1.876 | .800 .607 .469 .370 .300 .251 .210 | 0.01537 | 92.7% | 88.3% |
| mac-Q4_0 (exp.) | 811 | 2.966 | 1.861 | .798 .600 .463 .364 .295 .243 .203 | 0.05938 | 86.5% | 78.7% |
| mac-IQ4_NL (exp.) | 811 | 2.973 | 1.858 | .796 .599 .462 .366 .297 .246 .206 | 0.05513 | 86.3% | 79.9% |
| mac-IQ4_XS (exp.) | 793 | 2.969 | 1.857 | .796 .600 .461 .365 .295 .246 .205 | 0.05679 | 86.2% | 80.4% |
v1 (t3000-q8-dv.gguf weights, BF16) |
2.970 | 1.859 | .796 .600 .464 .366 .295 .244 .205 |
Differences under about 0.01 in "Accepted / 7" are within the noise of 8,192 anchors from 124 requests; the KL and agreement columns separate the files more finely. The v1 row is v1's weights scored with the v2 draft vocabulary. On the 1,024-anchor subset used during training (context 1,024): incoai drafter 2.824 / 1.793, v1 2.948 / 1.849, v2 2.976 / 1.873.
Lossless: with each Mac file (Q8_0, mac-Q5_0, mac-Q4_0, mac-IQ4_NL, mac-IQ4_XS) the target's greedy output was
byte-identical to its output with MTP on 6 of 6 prompts (evidence/v2/greedy/). The drafter changes speed, never text.
Apple M4 Max, 64 GB, macOS 26.5, expert arena 42 GB, greedy, --spec 4 --spec-min-p 0.75 (MTP: --spec 3, min-p 0.7),
one run each, 2026-10-22. Short: decode tok/s over 3 prompts. Long: a ~25K-token code prompt, then a follow-up on the
cached prefix.
| Drafter | Short tok/s | Tokens a window | Long tok/s | Long follow-up tok/s |
|---|---|---|---|---|
| v2 Q8_0 | 48.8 | 2.12 | 51.6 | 49.9 |
| v2 mac-Q5_0 (exp.) | 49.3 | 2.12 | 51.8 | 51.0 |
| v2 mac-IQ4_NL (exp.) | 49.8 | 2.10 | 50.8 | 50.3 |
| v2 mac-IQ4_XS (exp.) | 49.8 | 2.11 | 52.0 | 51.8 |
| v2 mac-Q4_0 (exp.) | 48.4 | 2.08 | 52.5 | 50.7 |
| v1 Q8_0 | 49.4 | 2.11 | 51.1 | 51.9 |
| MTP (see v1 notes below) | 47.4 | 1.71 | 49.8 | 50.0 |
Read this honestly: every drafter row is within about 1.5 tok/s of the others, which is run-to-run noise here
(macOS swap grew from 2.5 to 5.3 GB during the run). v2's higher acceptance shows offline (3.025 vs 2.970) but is
too small to separate from v1 in one serving run at --spec 4, which drafts only 3 tokens a window. The 4-bit files
are not faster. Against Strata's MTP default on this target, both DFlash2 versions were 0-2 tok/s faster in this run
(v1's own runs, below, measured 1.3-3.7). Not measured: sampling
at temperature > 0, other Macs, CUDA, HIP.
The same workloads, Q8_0 only, 3 interleaved rounds (v1, v2, v2, v2 per round), mean ± standard deviation:
| Drafter | Short tok/s | Tokens a window | Long tok/s | Long follow-up tok/s |
|---|---|---|---|---|
v1, --spec 4 |
48.8 ± 0.3 | 2.11 | 51.4 ± 0.5 | 52.0 ± 0.5 |
v2, --spec 4 |
49.4 ± 0.4 | 2.12 | 51.8 ± 0.2 | 49.9 ± 0.2 |
v2, --spec 5 |
49.3 ± 0.6 | 2.22 | 52.2 ± 0.4 | 51.9 ± 0.4 |
v2, --spec 5 --spec-min-p 0.6 |
49.3 ± 0.4 | 2.51 | 52.1 ± 0.6 | 51.6 ± 0.6 |
Use v2 with --spec 5. It is the only setting at least as fast as v1 on all three workloads: about +0.5 tok/s on
short prompts and +0.8 on the long one, and the same on the cached follow-up. At --spec 4, v2 was 2 tok/s slower than
v1 on the follow-up in all three rounds. v2 is better at the later draft positions, so it gains from drafting 4 tokens
a window instead of 3. Raw rows: evidence/v2/mac-speed-repeated.tsv.
dflash_native_parity_test, real target features, 2,200 context rows, 300 drafts of 1-7 tokens: Q8_0, Q5_0, Q4_0,
IQ4_NL and IQ4_XS each drew the same 300 of 300 draft chains as llama.cpp's DFLASH graph. Confidences agreed within
0.0023, except one Q5_0 confidence at 0.045 (--spec-min-p reads it).
Needs the Metal engine built with -DSTRATA_DFLASH=ON (opt-in; Strata PR #3457).
In the config's args, in place of --mtp …:
--spec 5 --dflash DFlash2-v2-Q8_0.gguf --spec-min-p 0.75
The mac/ files and the non-Q8_0 gguf/ files need multi-format support in the native drafter, which PR #3457 does
not have yet: the PR's drafter reads Q8_0 only and refuses the others with a clear error. The K-quant files
(Q6_K, Q5_K_*, Q4_K_*) load in llama.cpp's DFLASH graph, not in Strata's native drafter.
Any gguf/ file loads as a DFLASH draft model in a llama.cpp build with DFlash2 support; all 15 were loaded and
drafted with llama.cpp's DFLASH graph (dflash_drafter_test, no NaN).
DavidAU's GGUF has no MTP (multi-token prediction) tensors: 0 of its 1224 tensors. The MTP layer in the comparisons
comes from a different model: the mtp.* block (31 tensors) of the official
Qwen/Qwen3.8-Flash-Next BF16 checkpoint, revision de4b8e4d,
extracted by Strata's setup and packed by Strata's tools/mtp_pack.py as mtp-q2_0.gguf (experts Q2_0, the rest
BF16/F32). This is what Strata runs for this GGUF by default. It was trained with the official model, not this
abliterated fine-tune, and its experts run at Q2_0, so the comparison favors this drafter. See evidence/mtp-provenance/.
v1: 3,000 steps on 332,946 rows. Apple M4 Max, greedy, against that MTP layer (spec 3, min-p 0.7): short prompts 49.7
vs 48.1 tok/s, 29K prompt 51.7 vs 50.4, 102K prompt 50.5 vs 46.8 (cold). Details in evidence/.
Special thanks to incoai for DFlash2 and the
Qwen3.8-Flash-Next-DFlash2 drafter this one is fine-tuned
from: the architecture, the candidate selector and every starting weight are theirs
(blog, code). This work only adapts their drafter to
one target model. Thanks also to DavidAU for the target model.
Special thanks to ACOTech for providing the machine behind this drafter. Every step ran on it, locally: capturing the target's features, both fine-tunes, the held-out evaluations, the quantizations and every benchmark on this page. The machine is a Mac Studio with an Apple M4 Max, 64 GB of unified memory. Without it this drafter would not exist.
The data capture, fine-tune, quantization, evaluation, benchmarks and this page were done with Claude Code running Claude Opus 5.5, directed and reviewed by hotocooo.
Apache-2.0, like the incoai drafter and the target model.
archive/base/model.safetensors 1.2 GBarchive/v1-tuned/model.safetensors 1.2 GBsafetensors/model.safetensors 1.2 GBdraft_vocab_v2.bin 163.8 kBHave the files? Submit a torrent.
Submit a torrentHave the complete files and permission to share them? Replace the example folder path. The script checks the files, makes a torrent and submits its magnet and checksums. Keep your torrent client seeding. Get your community key from your settings, and read the script before running it.
curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo hotocooo/Qwen3.8-Flash-Next-Abliterated-Uncensored-Turbo-Brilliance-50x-Reasoning-Instruct-GSQ-RCO-DFlash ./model-folderincoai/Qwen3.8-Flash-Next-DFlash2