Quantized by sady4850. Previously sady4850/Qwen3.8-27B-4bit-GPTQ, the old id redirects here.
Qwen/Qwen3.8-27B in exactly the layout of mlx-community/Qwen3.8-27B-4bit (MLX affine 4-bit, group size 64), with the round-to-nearest codes, scales and biases of every quantized language-model Linear replaced by GPTQ.
Same tensors, shapes, dtypes and config as the template, so it is a drop-in replacement wherever the template loads (mlx-vlm, mlx-lm, Splash) with the same size (15 GB) and speed. Only the numbers inside the 4-bit tensors differ.
497 Linears requantized (all 64 layers incl. lm_head). The embedding and the vision tower are the template's.
GPTQ fitted to MLX's own affine format: each group's scale and bias are computed from the error-updated weights and rounded to bf16 before coding, so the result dequantizes exactly as written.
Hessians from the bf16 model, one per shared input, damp 0.01, block 128.
Calibration: 119 x 2048 tokens. 64 chunks of UltraChat train conversations (chat template applied) and 55 chunks of calibration_v5 text.
Texts: wiki = wikitext-2 test, chat = first 300 conversations of UltraChat test as plain text. 30 chunks x 2048 tokens per text, scored on the second half of each chunk (like llama-perplexity). KLD = KL(bf16 || quant) of the next-token distribution, flips = top-1 token differs from bf16.
Note that chat is close to the calibration data (UltraChat train vs test split), wiki is out of domain.
torch (A100), both checkpoints dequantized into the same bf16 model:
text
model
KLD mean
KLD median
KLD p99
flips
PPL
wiki
bf16
6.370
wiki
mlx-community/Qwen3.8-27B-4bit (RTN)
0.0562
0.0230
0.440
9.57%
6.486
wiki
this repo (GPTQ)
0.0369
0.0122
0.315
7.37%
6.475
chat
bf16
8.692
chat
mlx-community/Qwen3.8-27B-4bit (RTN)
0.1800
0.0312
3.233
13.13%
8.109
chat
this repo (GPTQ)
0.0975
0.0127
1.743
9.05%
8.752
Splash (teacher-logits, int8 KV, M1 Pro), the engine's own logits against bf16 log-probs for the same rows (every 8th scored row, KL over the bf16 top-512 tokens plus a bound for the rest, within 2% of full-vocab KL):
text
model
KLD mean
KLD median
KLD p99
flips
PPL
wiki
bf16
6.364
wiki
mlx-community/Qwen3.8-27B-4bit (RTN)
0.0562
0.0221
0.469
9.58%
6.479
wiki
this repo (GPTQ)
0.0399
0.0119
0.326
7.49%
6.458
chat
bf16
8.717
chat
mlx-community/Qwen3.8-27B-4bit (RTN)
0.1906
0.0327
2.724
13.13%
8.141
chat
this repo (GPTQ)
0.1002
0.0128
1.577
9.05%
8.706
Speed in Splash is the same as the template: median per 2048-token window 14.10 s prefill for both, 23.00 s vs 23.05 s for 127 verify cycles.
PPL alone is a poor measure of closeness here: the RTN checkpoint has a lower chat PPL than bf16 itself. Lower KLD and fewer flips mean the outputs follow the original model more closely.
Independent run by @ghisguth (splash discussion #34): 78 recorded turns of a real coding-agent session (32K to 124K context), each turn sent with the same recorded prompt, temperature 0, Splash 1.4.0-m1 on M2 Max, compared per turn against Q8_0.
model
same calls
same tools
args similarity
broken calls
mlx-community/Qwen3.8-27B-4bit (RTN)
31%
79%
0.88
0
this repo (GPTQ)
44%
83%
0.92
0
Same calls = same tools with the same arguments as Q8_0. For scale, Q8_0 against itself gives 82%. Speed was the same as RTN (cycles/s within 2%). 78 turns is a small sample, but it agrees with the KLD above.
Same windows and bf16 reference as above, for choosing between formats:
model
size
wiki KLD
chat KLD
chat KLD p99
127 verify cycles
unsloth/Qwen3.8-27B-GGUF:UD-Q4_K_M
16.5 GB
0.0144
0.0831
1.353
25.60 s
this repo (GPTQ)
15 GB
0.0399
0.1002
1.577
23.00 s
unsloth/Qwen3.8-27B-GGUF:Q4_0
16.1 GB
0.0325
0.1412
2.493
24.40 s
mlx-community/Qwen3.8-27B-4bit (RTN)
15 GB
0.0562
0.1906
2.724
23.05 s
ISTA-DASLab/Qwen3.8-27B-GSQ-RCO-GGUF:IQ3_S
11.8 GB
0.0573
0.2121
3.427
29.40 s
If the extra 1.5 GB and ~11% slower decode (short context, less at long context) are fine, UD-Q4_K_M is closer to bf16. At the size and speed of MLX 4-bit, this repo is the closer one.
Vision was not evaluated (all runs are language-only), calibration is English chat and text, KLD windows are 2048 tokens. Task accuracy was not measured.
Raw numbers and logs in eval/.
Files
20 files · 16.1 GBWeights 16.1 GB (safetensors). Sizes and sha256 from the signed manifest.