CoolFace
Modelpublic

AaryanK/Qwen3.5-9B-GGUF

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
8likes680downloads
Model Card

Qwen3.5-9B - GGUF (AK line)

👋 I built this line solo - the calibration, the per-tensor allocations, and the eval harness behind every number below. I'm looking for internships in AI agent orchestration and model inference. If this work looks relevant to your team: linkedin.com/in/theaaryankapoor

State-of-the-art GGUF quantizations for [`Qwen/Qwen3.5-9B`](https://huggingface.co/Qwen/Qwen3.5-9B). Eight builds (8.95 B params, 32 layers - 24 Gated-DeltaNet + 8 full-attention, GQA 4:1), each with a custom per-tensor bit allocation derived for its size point - plus the stock BF16 vision projector.

Benchmarked head-to-head against every published GGUF of this model within ±3 % of any file below - the Unsloth, bartowski, lmstudio-community, mradermacher, byteshape and AtomicChat lines - every file scored on the same rig against the same BF16 reference: 31 wins, 3 statistical ties, 0 losses across 34 paired comparisons on two held-out evaluation sets. The three ties are the near-lossless Q6/Q8 tiers, where the intervals span zero. Recipe-identical clones (the stock Q8_0 uploads across four publishers - header-verified tensor-for-tensor identical recipes - and static k-quants whose same-size imatrix twin is scored) are cited by class rather than re-scored.

[image]

One line per publisher. Log y; the AK line sits below every published line at every size point.

[image]

Every comparison with its 95 % interval - blue clears zero, grey is a statistical tie. The full numbers are in the table below.

Comparison set: the widest-distribution GGUF lines for this model as published 2026-08-14; the Method section has what is needed to reproduce any number here.

File naming. Every quant in this line carries the AK- prefix: these are custom per-tensor allocations, not llama.cpp's stock recipes, so AK-Q4_K_M and a stock Q4_K_M are different files. mmproj keeps its upstream name. Tensor-set class. These are quants of the standard 32-block model - the same class as Unsloth's main repo. bartowski's repo folds in the optional MTP speculative head (~259 MB at Q8_0); in every bartowski comparison below their size is text-tower bytes with the MTP block subtracted, so neither side is charged for weights the other doesn't carry.

Which file do I want?

filesizebpwmean KLD ↓top-1 ↑tg128 t/s (4090)vs closest rival
AK-Q8_X9.50 GB8.4770.00226598.46 %91-17 % vs unsloth Q8_0 (statistical tie)
AK-Q6_K7.46 GB6.6510.00469897.48 %115+1 % vs unsloth Q6_K (statistical tie)
AK-Q5_K_XL6.69 GB5.9660.00734896.54 %122-59 % KLD vs bartowski Q4KL (text-adj)
`AK-Q4_K_XL`5.94 GB5.2970.01403995.25 %137-43 % KLD vs bartowski Q4_1 (text-adj)
AK-Q4_K_M5.67 GB5.0530.01632094.58 %142-49 % KLD vs unsloth Q4KM
AK-Q3_K_XL5.04 GB4.4910.02578492.96 %156-45 % KLD vs unsloth UD-Q3KXL
AK-IQ3_XL4.00 GB3.5610.08329487.45 %173-25 % KLD vs unsloth UD-IQ3_XXS
`AK-IQ2_M`3.65 GB3.2450.12137284.94 %182-36 % KLD vs unsloth UD-IQ2_M
mmproj BF160.92 GB--vision encoder-stock, unquantized

AK-Q4_K_XL is the strongest file in the crowded 6 GB class - it beats the most-downloaded quant of this model (Unsloth's UD-Q4KXL) by 23 % on mean KLD while being smaller, and the margin holds on all six evaluation domains and at 32k context. At the small end the gap widens: AK-IQ2_M beats UD-IQ2_M by 36 % on KLD at identical bytes, and by ~10 points of HumanEval+ pass@1.

bash
llama-server -m Qwen3.5-9B-AK-Q4_K_XL.gguf \
             --mmproj mmproj-BF16.gguf -c 8192 -ngl 99 --jinja

Usage notes (the three things everyone hits): reasoning is off by default on Qwen3.5 small models - enable with --reasoning on (older builds: --chat-template-kwargs '{"enable_thinking":true}'). Set sampling explicitly (upstream ships no generationconfig): thinking/general `temp 1.0, topp 0.95, topk 20, presencepenalty 1.5; precise coding temp 0.6, topp 0.95, topk 20. Use --jinja - never --chat-template qwen2. Needs a llama.cpp with qwen35 support (LM Studio ≥ 0.4.6, runtime ≥ v2.5.1); ollama does not run this architecture yet. Vision needs the mmproj` file loaded alongside.

Full measurement table

publisherfilebytesbpwPPL ratiomean KLDp99.9 KLDtop-1Δ vs closest rival
mradermacheri1-IQ2_M3,412,436,4803.0361.1898730.2363714.951478.316 %
mradermacheri1-Q2_K3,638,519,2963.2381.1763000.2390465.599478.964 %
AaryanKAK-IQ2_M3,646,645,4403.2451.0836640.1213723.532184.941 %-35.8 % [-38.3, -33.4]
UnslothUD-IQ2_M3,649,365,2163.2471.1460850.1877374.480481.061 %
mradermacheri1-IQ3_XXS3,793,462,7843.3761.0829240.1278813.731984.330 %
AaryanKAK-IQ3_XL4,000,638,1443.5611.0701080.0832942.571187.454 %-25.4 % [-28.3, -22.8]
UnslothUD-IQ3_XXS4,016,235,7443.5751.0825500.1113373.194485.525 %
byteshapeIQ4_XS-3.60bpw4,043,231,0723.5991.0749050.1143482.662783.221 %
bartowskiQ2_K†4,064,274,4643.6181.1514620.1751474.379081.681 %
UnslothUD-Q2KXL4,121,781,4723.6701.1521700.1765234.962882.133 %
bartowskiIQ3_XXS†4,276,021,2803.8071.0759910.1024102.973286.256 %
byteshapeIQ4_XS-4.43bpw4,967,280,4804.4251.0093670.0393751.454791.381 %
AaryanKAK-Q3_K_XL5,040,579,7764.4911.0183010.0257840.894992.959 %-45.2 % [-50.1, -40.8]
UnslothUD-Q3KXL5,053,834,4644.5021.0192960.0468661.432790.958 %
bartowskiQ2KL†5,057,554,4644.5061.1335280.1625874.010282.151 %
mradermacheri1-IQ4_XS5,070,611,9684.5171.0115880.0293100.971492.796 %
bartowskiQ3KL†5,111,031,8404.5531.0253020.0645981.961589.162 %
byteshapeQ5KS-4.60bpw5,155,948,3844.5941.0115170.0344551.060391.283 %
UnslothIQ4_XS5,168,653,5364.6051.0118200.0391381.440992.072 %
byteshapeIQ4_XS-4.98bpw5,581,682,5284.9741.0103920.0224390.550192.754 %
bartowskiQ4KS†5,598,177,3124.9891.0216600.0250020.751393.541 %
lmstudioQ4KM (stock)5,627,044,2565.0151.0049920.0506461.633190.846 %
mradermacheri1-Q4KM5,627,045,3765.0151.0133950.0335151.156392.876 %
AtomicChatQ4KM5,629,109,3125.0161.0101840.0336421.327992.710 %
AaryanKAK-Q4_K_M5,669,987,5205.0531.0100270.0163200.555594.582 %-49.4 % [-57.4, -42.1]
UnslothQ4KM5,680,522,4645.0621.0089380.0326841.169792.940 %
byteshapeQ5KS-5.10bpw5,721,438,0485.0991.0102770.0217170.563693.118 %
bartowskiQ4KM†5,910,784,0325.2681.0169890.0197500.673194.189 %
AaryanKAK-Q4_K_XL5,943,485,6325.2971.0085220.0140390.465895.254 %-42.8 % [-49.9, -36.5]
bartowskiQ4_1†5,944,862,7525.2991.0129930.0238630.805393.587 %
UnslothUD-Q4KXL5,966,095,5845.3181.0135100.0189340.681994.594 %
bartowskiQ3KXL†6,001,010,7205.3491.0211900.0612081.780989.382 %
mradermacheri1-Q5KM6,522,004,9925.8140.9960760.0251320.851594.286 %
UnslothQ5KM6,577,841,3765.8640.9975300.0104920.318496.310 %
bartowskiQ4KL†6,665,676,8325.9431.0066430.0173680.495494.475 %
AaryanKAK-Q5_K_XL6,691,382,4645.9661.0061690.0073480.276796.544 %-59.0 % [-66.9, -52.0]
UnslothUD-Q5KXL6,743,680,2246.0121.0023070.0093310.232596.444 %
bartowskiQ5KM†6,852,929,5686.1101.0089920.0093620.255796.430 %
lmstudioQ6_K (stock)7,359,259,0406.5621.0011050.0067070.164296.923 %
mradermacheri1-Q6_K7,359,260,1606.5620.9986590.0050060.136097.331 %
AaryanKAK-Q6_K7,458,301,1206.6511.0029590.0046980.099597.483 %+0.9 % [-11.4, +17.0] tie
UnslothQ6_K7,458,301,1526.6511.0036750.0045920.108797.476 %
bartowskiQ5KL†7,480,682,5286.6711.0055240.0084840.243696.698 %
AaryanKAK-Q8_X9,501,369,5368.4771.0006760.0022650.053798.456 %-16.5 % [-57.2, +24.7] tie
UnslothQ8_09,527,502,0488.5001.0019400.0027350.058698.372 %

Intervals are a paired per-token cluster bootstrap (100,000 resamples) over the evaluation chunks, computed on held-out text that played no part in building or selecting any file. Δ is against the closest-sized non-AaryanK file (±3 %, same tensor-set class).

Reading the numbers

The Q6/Q8 ties are honest ties. At near-lossless tiers the absolute divergence is tiny (0.003/0.0007) and the intervals span zero; AK-Q8_X trends −16 % against stock Q8_0 at slightly smaller size, but we call it what the interval says.

Raw benchmark scores and fidelity are different claims. Quantization noise flips borderline benchmark answers in both directions; below 4 bpw, multiple-choice accuracy partly measures how quantization perturbs the model's answer-letter prior rather than knowledge. The fidelity metric that tracks actual closeness to BF16 - harmful flip rate on 2,280 MMLU questions - favours or ties the AK file in every size-matched pair (e.g. 4.0 % vs 7.7 % at the IQ3 point, 5.6 % vs 7.2 % at IQ2).

Does the margin generalise?

[image]

The flagship re-measured on six evaluation sets: the lead vs UD-Q4KXL is interval-clear on all six, including code, Chinese, and chat-templated text. At 32k context the lead holds or grows: −26 % (flagship), −28 % (IQ3 pair), −38 % (IQ2 pair), ahead in every 4k-token position bin.

Capability - measured, not implied

Same serving for every arm (greedy, thinking off), paired statistics throughout:

  • —MMLU (2,280 q): flagship ties UD-Q4KXL (p = 0.45) with fewer harmful flips vs BF16 (1.75 % vs 2.02 %); the IQ3/IQ2 files beat their UD size-peers at p < 1e-4.
  • —HumanEval+ / MBPP+: flagship pass@1 87.2 / 84.7 - identical to UD and within noise of BF16 (86.0 / 85.7). At IQ2: 84.8 vs UD's 75.0.
  • —BFCL tool-calling (500-item frozen slice incl. multi-turn agentic): flagship 69.2 % vs UD 69.6 % vs BF16 71.0 % - statistical ties across the board; multi-turn alone: AK matches BF16 (p = 0.85). Zero malformed tool calls in multi-turn on any arm.
  • —Long-generation stability: 15 fixed prompts × 2,048-token greedy budget on every tier: zero degenerate loops anywhere; cap-hit rates equal to BF16's own.

Tail behaviour

[image]

Method

  • —Reference: our own BF16 GGUF, byte-identical to Unsloth's non-MTP BF16 conversion - the comparison measures quantization, not a conversion delta. llama.cpp pinned at 62bf73d2 for every build and every measurement.
  • —Eval: llama-perplexity --kl-divergence, ctx 2048, 81,840 scored tokens per file per slice, identical text and reference for every file.
  • —Statistics: paired per-token cluster bootstrap, 100,000 resamples, per-comparison 95 % intervals, dual-seed stability check; knife-edge results reported as ties.
  • —Selection/verdict separation: allocations were selected on one instrument and verdicts computed on byte-disjoint held-out text that never touched selection.
  • —Reproduced rivals: every competitor file was re-scored on this rig (not transcribed from their cards); the UD flagship reproduction was gated against its historical profile before any verdict ran.
  • —Ship gates: every published artifact rebuilt from scratch with byte-identical tensor payloads; realized per-tensor types audited against intent on every build; inference smoke tests on every tier; capability gates above.
  • —Scope: the language tower is what is measured and quantized; mmproj ships as the stock BF16 projector. KLD values are model-local - compare within this table only.

Per-tensor bit allocation derived separately at each target bit-width using importance data from a diverse in-house calibration set. Base model licence and usage policy unchanged from [`Qwen/Qwen3.5-9B`](https://huggingface.co/Qwen/Qwen3.5-9B) (Apache-2.0).