Gemma 4 31B: Standard Q4_K_M schlägt QAT Q4 in KLD-Benchmark
Der Reddit-Nutzer betreibt Gemma 4 31B vollständig auf zwei Xeon-Platinum-8358-CPUs mit 256 GB DDR4 und erreicht mit Q8_0 etwa 4 Token/s – zu langsam für Echtzeit, aber ausreichend für qualitätssensitive Hintergrundaufgaben. Der Umstieg auf QAT-Q4 war verlockend: Das Modell ist mit 17 GB statt 32 GB etwa halb so groß und auf bandbreitenlimitierter Hardware doppelt so schnell. Der Benchmark lief auf den ersten 5.000 Token des wikitext-2-Testsets mit Stride 5 (ca. 820 Stichprobenpositionen pro Modell), weil ein vollständiger Lauf über alle ~245.000 Token auf CPU rund 13 Stunden gedauert hätte. Jedes Modell wurde dreimal ausgeführt – mit einer Standardabweichung von ±0,00 %, da CPU-Inferenz bei Temperature=0 vollständig deterministisch ist. Als Inferenz-Engine diente mainline llama.cpp (llama-xeon8358-Image) mit erzwungenem f16-KV-Cache für alle Modelle, um KV-Quantisierungsrauschen auszuschließen. Verglichen mit der Q8_0-Referenz landet Googles QAT-Q4_0 bei 50,43 % Top-1-Accuracy und einem Mean-KLD von 3,447 – schlechter als das Standard-Q4_0 (61,54 % / KLD 2,619) und deutlich hinter Q4_K_M (66,06 % / KLD 2,304). Unsloths eigene QAT-Variante UD-Q4_K_XL liegt mit 51,40 % knapp besser als Googles QAT, aber noch weit hinter den klassischen K-Quants. Die Custom-Task-Kategorien (Code, Wissenschaft, Chat) bestätigen das Muster: Q4_K_M und Standard-Q4_0 übertreffen beide QAT-Varianten durchgehend, besonders deutlich bei Code (97,44 % vs. 92,31 %).
- Hardware-Setup: dual Xeon Platinum 8358 (128 Threads), 256 GB DDR4 — Inferenz läuft mit numactl --interleave=all und --mlock für konsistente Messbedingungen.
- Unsloths publizierte 96,67 %-Top-1-Zahl (vs. BF16) steht in starkem Widerspruch zu den hier gemessenen 51,40 % für UD-Q4_K_XL vs. Q8_0-Referenz.
- KV-Cache wurde für alle Modelle auf f16 fixiert, um Gewichtsquantisierung isoliert zu messen — ohne KV-Quantisierungsrauschen als Störvariable.
- Bei der Custom-Task-Kategorie Code erreicht Standard-Q4_0 97,44 % Accuracy (KLD 0,049), während beide QAT-Varianten nur 92,31 % (KLD ~0,46) erzielen.
- Der Autor nutzt im Produktivbetrieb den IK_LLama-Fork (Xeon-optimierte Kernel), wechselte für diesen Benchmark aber auf Mainline llama.cpp wegen eines FA-Assertion-Bugs bei großen Sliding-Window-Kontexten.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
Verwandte Beiträge
Gemma 4 31B: Standard Q4_K_M schlägt QAT Q4 in KLD-Benchmark
Der Reddit-Nutzer betreibt Gemma 4 31B vollständig auf zwei Xeon-Platinum-8358-CPUs mit 256 GB DDR4 und erreicht mit Q8_0 etwa 4 Token/s – zu langsam für Echtzeit, aber ausreichend für qualitätssensitive Hintergrundaufgaben. Der Umstieg auf QAT-Q4 war verlockend: Das Modell ist mit 17 GB statt 32 GB etwa halb so groß und auf bandbreitenlimitierter Hardware doppelt so schnell. Der Benchmark lief auf den ersten 5.000 Token des wikitext-2-Testsets mit Stride 5 (ca. 820 Stichprobenpositionen pro Modell), weil ein vollständiger Lauf über alle ~245.000 Token auf CPU rund 13 Stunden gedauert hätte. Jedes Modell wurde dreimal ausgeführt – mit einer Standardabweichung von ±0,00 %, da CPU-Inferenz bei Temperature=0 vollständig deterministisch ist. Als Inferenz-Engine diente mainline llama.cpp (llama-xeon8358-Image) mit erzwungenem f16-KV-Cache für alle Modelle, um KV-Quantisierungsrauschen auszuschließen. Verglichen mit der Q8_0-Referenz landet Googles QAT-Q4_0 bei 50,43 % Top-1-Accuracy und einem Mean-KLD von 3,447 – schlechter als das Standard-Q4_0 (61,54 % / KLD 2,619) und deutlich hinter Q4_K_M (66,06 % / KLD 2,304). Unsloths eigene QAT-Variante UD-Q4_K_XL liegt mit 51,40 % knapp besser als Googles QAT, aber noch weit hinter den klassischen K-Quants. Die Custom-Task-Kategorien (Code, Wissenschaft, Chat) bestätigen das Muster: Q4_K_M und Standard-Q4_0 übertreffen beide QAT-Varianten durchgehend, besonders deutlich bei Code (97,44 % vs. 92,31 %).
- Hardware-Setup: dual Xeon Platinum 8358 (128 Threads), 256 GB DDR4 — Inferenz läuft mit numactl --interleave=all und --mlock für konsistente Messbedingungen.
- Unsloths publizierte 96,67 %-Top-1-Zahl (vs. BF16) steht in starkem Widerspruch zu den hier gemessenen 51,40 % für UD-Q4_K_XL vs. Q8_0-Referenz.
- KV-Cache wurde für alle Modelle auf f16 fixiert, um Gewichtsquantisierung isoliert zu messen — ohne KV-Quantisierungsrauschen als Störvariable.
- Bei der Custom-Task-Kategorie Code erreicht Standard-Q4_0 97,44 % Accuracy (KLD 0,049), während beide QAT-Varianten nur 92,31 % (KLD ~0,46) erzielen.
- Der Autor nutzt im Produktivbetrieb den IK_LLama-Fork (Xeon-optimierte Kernel), wechselte für diesen Benchmark aber auf Mainline llama.cpp wegen eines FA-Assertion-Bugs bei großen Sliding-Window-Kontexten.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.