GLM-5.3-Flash AJ-IQ2_XXS, 87.3G, 2.18 bpw

Hand-mixed --tensor-type-file bake of GLM-5.3-Flash (320.6B total / 17.3B active). Beats Unsloth UD-IQ1_S by 26% PPL at 5.7G smaller. Still costs 2.49× BF16.

Runs on a 24G card with 64G system RAM via -cmoe. Measured, see below. Needs llama.cpp at 1f817ef or later from PR #27752, unmerged. Earlier commits return nan on the CPU expert path.

PPL vs BF16

Corpus: Wikitext-2 wiki.test.raw, 8 chunks, n_ctx=512. Tool: llama-perplexity -ngl 99 -t 64, all weights on GPU. PR #27752 @ 20de49688. One build, one corpus, matched chunk count. Only quantization differs.

model size PPL vs BF16
BF16 642G 5.0739 ± 0.307 base
AJ-IQ2_XXS 87.3G 12.6296 ± 0.845 2.49×
Unsloth UD-IQ1_S 93.1G 17.0427 ± 1.176 3.36×

Per chunk:

chunk 1 2 3 4 5 6 7 8
BF16 1.9119 7.2195 6.2120 4.8322 3.7121 3.9721 4.1087 5.0739
AJ-IQ2_XXS 2.9418 10.9033 15.1379 12.5884 9.6512 10.3919 10.9135 12.6296
UD-IQ1_S 3.3618 14.4338 17.4792 15.6171 12.2137 13.3059 13.7524 17.0427

AJ-IQ2_XXS 565-chunk full run: 17.2454 ± 0.14367.

Consumer hardware: needs 1f817ef or later

Runs on RTX 3090 (24G) + 64G system RAM with experts on CPU. Verified end to end:

llama-perplexity -m GLM-5.3-Flash-AJ-IQ2_XXS-00001-of-00002.gguf \
  -f wiki.test.raw -ngl 99 -cmoe -t 12 --chunks 8
[1]3.0012,[2]11.4442,[3]16.9122,[4]12.9369,[5]9.8740,[6]10.6446,[7]10.8932,[8]13.0209,
Final estimate: PPL = 13.0209 +/- 0.87912

13.0209 on 3090 CPU-offload vs 12.6296 on a 96G card all-GPU. 3.1% apart, error bars overlap. The two backends agree. 2:45 load, 434 s/pass, 8 chunks in ~7 min.

Commits before 1f817ef return nan from chunk 2 on this path. Reproduced on AJ-IQ2_XXS and on unsloth/GLM-5.3-Flash-UD-IQ1_S; BF16 through the same path was clean, so it hit quantized MoE tensors specifically. Chunk 1 matched the GPU path to 4 digits (3.0456 vs 3.0468), then nan. Fixed upstream by 1f817ef "skip foreign-sequence cells when building the glm5next k-pools". Check your build.

Speed

llama-bench, same 87.3G file on every row. Where the routed experts live is the only variable that matters.

Single 3090 + 64GB DDR5 RAM

/build/bin/llama-bench   --model GLM-5.3-Flash-IQ2XXS-00001-of-00002.gguf   --n-gpu-layers 99   --n-cpu-moe 40   -fa on  -t 12  -ctk q8_0 -ctv q8_0  -p 2048 -n 128 -r 2
model size params backend ngl n_cpu_moe type_k type_v fa test t/s
glm5next 312B.A17B IQ2_XXS - 2.0625 bpw 81.34 GiB 313.33 B CUDA 99 40 q8_0 q8_0 1 pp2048 36.69 ± 6.23
glm5next 312B.A17B IQ2_XXS - 2.0625 bpw 81.34 GiB 313.33 B CUDA 99 40 q8_0 q8_0 1 tg128 11.55 ± 0.68

Run

90G+ VRAM, everything on GPU:

llama-cli -m GLM-5.3-Flash-AJ-IQ2_XXS-00001-of-00002.gguf -ngl 99 -c 32768

24G card + 64G system RAM, experts on CPU:

llama-cli -m GLM-5.3-Flash-AJ-IQ2_XXS-00001-of-00002.gguf -ngl 99 -cmoe -c 32768

Point at shard 1, llama.cpp finds shard 2. -ncmoe N offloads only N layers if you have VRAM to spare.

Context is cheap. MLA caches a 512-wide latent over 11 layers, the 34 KDA layers hold constant-size state: 32K = 0.44G, 131K = 1.55G, 300K = 3.45G.

Files

  • model: AJ-IQ2_XXS/GLM-5.3-Flash-AJ-IQ2_XXS-0000{1,2}-of-00002.gguf
  • mix: glm53-flash-iq2xxs.txt
  • base: zai-org/GLM-5.3-Flash, MIT
  • BF16 GGUF + imatrix: unsloth/GLM-5.3-Flash-GGUF. Saved a 328G FP8 download and an imatrix pass that is not practical at this scale.
Downloads last month
-
GGUF
Model size
313B params
Architecture
glm5next
Hardware compatibility
Log In to add your hardware

2-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for aj9o9/GLM-5.3-Flash-GGUF

Quantized
(66)
this model