Loading…
Loading…
Model Conversion Contributor: fraQtl. Canonical repo and full receipts: https://huggingface.co/fraQtl/Qwen3.5-4B-NPU-GGUF
37.8% closer to the original model on task text and 28.4% closer on general text than the stock unsloth Q4_0, at 41,024 fewer bytes. Same speed on the Snapdragon 8 Elite Gen 5 NPU, with every operation on the NPU.
Full-vocabulary KL divergence to bf16 Qwen/Qwen3.5-4B over 144 held-out windows. Lower is closer. 95% CI from a paired bootstrap (2,000 resamples).
| File | Bytes | Task KL | General KL | Task vs unsloth | General vs unsloth |
|---|---|---|---|---|---|
unsloth Q4_0 (unsloth/Qwen3.5-4B-GGUF) |
2,583,221,408 | 0.04641 | 0.02874 | ||
| AutoRound 0.16.1 Q4_0 (Intel) | 2,611,782,976 | 0.03634 | 0.02130 | −21.7% [−26.3, −16.8] | −25.9% [−35.6, −16.3] |
| fraQtl Q4_0 (this repo) | 2,583,180,384 | 0.02888 | 0.02058 | −37.8% [−41.8, −33.3] | −28.4% [−35.7, −21.0] |
Task = instruction following + tool calling. General = knowledge + reasoning. Against AutoRound Q4_0 (28.6 MB larger): task −20.5% [−24.3, −16.6], general −3.4% [−10.4, +5.0].
Same 144 windows and scorer. The last two columns compare each file with the fraQtl Q4_0 file; a negative number means that file is closer to the original.
| File | Bytes | Task KL | General KL | Task vs fraQtl Q4_0 | General vs fraQtl Q4_0 |
|---|---|---|---|---|---|
unsloth IQ4_NL (unsloth/Qwen3.5-4B-GGUF) |
2,579,944,608 | 0.03276 | 0.01908 | +13.4% [+7.3, +19.9] | −7.3% [−14.4, −0.0] |
unsloth Q4_K_S (unsloth/Qwen3.5-4B-GGUF) |
2,590,430,368 | 0.02842 | 0.01729 | −1.6% [−8.0, +5.0] | −16.0% [−22.0, −9.7] |
| fraQtl Q4_0 (this repo) | 2,583,180,384 | 0.02888 | 0.02058 |
unsloth Q4_K_S (7.25 MB larger) is 16.0% closer on general text, and within 1.6% on task text with the interval crossing zero. unsloth IQ4_NL (3.2 MB smaller) is 7.3% closer on general text and 13.4% further on task text. Both use only Hexagon-supported types; neither was run on the phone here.
Greedy decoding, thinking off, both files on the same GPU in the same run.
| File | GSM8K /250 | IFEval /250 |
|---|---|---|
| unsloth Q4_0 | 233 | 190 |
| fraQtl Q4_0 | 233 | 194 |
Differences: GSM8K 5 right only on each file (p = 1.00); IFEval 14 vs 10 (p = 0.54). bf16 reference: 232 / 195.
File sha256 verified on the device. pp128 = prompt processing, tg64 = generation, tokens/s, 3 repetitions.
| File | NPU pp128 | NPU tg64 | Operations rejected by the NPU |
|---|---|---|---|
| unsloth Q4_0 | 955.1 ± 10.6 | 17.24 ± 0.01 | 0 of 32,165 |
| fraQtl Q4_0 | 950.1 ± 11.8 | 17.10 ± 0.04 | 0 of 32,165 |
| File | sha256 | Bytes |
|---|---|---|
| Qwen3.5-4B-fraQtl-Q4_0.gguf | dfae49c2f6fbc76aedcf121e22cc71b65d2c862ccdb79b9bc0f7cd1a9eedbffe | 2,583,180,384 |
Receipts: receipts/ (fidelity table, answers, device log, rejected-op count, Q8_0 tensor list).
Qwen/Qwen3.5-4B