Gemma 4 QAT vs non QAT : sur le banc d’essai de l’assistant du Journal des Nuisances, Gemma 4 12B en version QAT obtient 62,2 % de réussite, la version 4 bits standard 61,9 %, en moyenne de trois passages. L’écart est dans le bruit. La différence est ailleurs : 8,4 Go de poids contre 6,3 Go, et 0,7 cas bloquant contre 1,0. Sur un Mac mini de 16 Go, c’est donc le non QAT que j’ai mis en service. Les deux battent la référence de 7 points, mais aucun n’atteint le seuil de zéro cas bloquant.
Le banc : 22 cas pilotes, un juge, trois passages
Je cherche un modèle plus léger que la référence, assistant-gemma4 (dérivé de gemma4:26b, ~18 Go, sur le CPU de pc-llm), pour l’assistant du Journal des Nuisances, une application de suivi de nuisances que j’ai co-fondée. Les candidats tournent sur mac-train, un Mac mini M2 Pro 16 Go, avec mlx-lm 0.32.0.
Le banc d’essai passe 22 cas pilotes : des contrôles déterministes D-…, puis un LLM-juge, qwen3.6:35b-a3b. Un cas bloquant est un contrôle en échec, un échec critique retenu par le juge (fait inventé, affirmation juridique, danger mal traité), un cas non jugé ou une erreur. Le même modèle variant de ±12 points d’un passage à l’autre, chaque chiffre est une moyenne de trois passages.
Les seuils fixés au départ :
| Critère | Seuil |
|---|---|
| Cas bloquants | 0 en moyenne de 3 passages |
| Réussite | ≥ 57 % |
| Mémoire en service | ≤ ~8 Go |
| Premier mot | quelques secondes |
Gemma 4 QAT vs non QAT : les chiffres
Les deux versions sont servies avec le segment de cache dédié au socle, sans lequel Gemma 4 relisait tout son prompt. Mesures des 16 et 17 octobre 2026 :
| Candidat | Réussite (3 passages) | Bloquants | Premier mot | Réponse complète | Poids |
|---|---|---|---|---|---|
Référence assistant-gemma4 | 54,5 % (53,9 / 55,4 / 54,3) | 1,0 | 8,8 s | 14,2 s | ~18 Go |
| 12B QAT, sans cache du socle | 61,7 % (65,2 / 62,1 / 57,8) | 1,0 (0 / 0 / 3) | 20,7 s | 28 s | 8,4 Go |
| 12B QAT, cache du socle | 62,2 % (65,5 / 57,0 / 64,0) | 1,0 (0 / 2 / 1) | 2,2 s | 9,0 s | 8,4 Go |
| 12B non QAT, cache du socle | 61,9 % (56,0 / 66,4 / 63,2) | 0,7 (1 / 1 / 0) | 2,2 s | 7,6 s | 6,3 Go |
La QAT testée est gemma-4-12B-it-qat-OptiQ-4bit, la version standard mlx-community/gemma-4-12B-it-4bit. Leurs passages se recouvrent : 56,0 % pour le pire du non QAT, 57,0 % pour le pire du QAT. Le non QAT répond aussi une seconde plus vite (7,7 / 7,5 / 7,6 s).
Sur Gemma 4 12B en MLX 4 bits, la version QAT ne gagne rien au banc : même réussite, 2 Go de poids en plus.
Ce que j’ai servi, et ce qui manque encore
Le service du Mac est passé de la QAT à mlx-community/gemma-4-12B-it-4bit le 17 octobre. Face à la référence, il fait mieux de 7 points, et quatre fois plus vite au premier mot (2,2 s contre 8,8 s).
Les seuils, honnêtement :
- Réussite : 61,9 % ≥ 57 %, atteint.
- Mémoire : 6,3 Go de poids, ~7 Go en service avec ~1 Go de cache de prompt, sous les ~8 Go. La marge est mince : sur la QAT, le journal du serveur avait relevé 2,85 Go de cache, et ses 8,4 Go de poids dépassaient déjà le critère.
- Cas bloquants : 0,7 en moyenne, pas zéro. Aucun candidat ne tient les deux seuils à la fois : le seul à zéro bloquant sur trois passages, Gemma 4 12B affiné par LoRA, plafonne à 55,8 % de réussite, sous les 57 %.
Une correction de trajectoire, au passage : dans les mesures llama.cpp sur Snapdragon, gemma-4-E4B était la base retenue. Sous MLX, E4B non affiné obtenait 41,4 %, et l’affinage LoRA ne l’a pas porté au-delà de 47 %. C’est le 12B, non affiné, qui a fini par passer devant.
Écarté : Gemma 4 26B en 3 bits
L’autre piste pour tenir sur 16 Go était de garder le 26B de la référence en le quantifiant plus fort. Gemma 4 26B en 3 bits (~10 Go) : 37,8 % (40,9 / 36,9 / 35,5), bloquants 2 / 2 / 6, premier mot 8 s. La quantification 3 bits détruit la qualité : un 12B en 4 bits fait 24 points de mieux.
Lessons learned
- QAT ne veut pas dire meilleur au banc. Sur Gemma 4 12B en MLX 4 bits, 62,2 % contre 61,9 % : une égalité.
- À qualité égale, le poids décide. 6,3 Go au lieu de 8,4 Go laissent la marge du cache de prompt sur un Mac 16 Go.
- Un écart de moins d’un point ne se lit pas sur un passage. Avec ±12 points de bruit, seule la moyenne de trois passages compare deux modèles.
- Descendre en 3 bits coûte plus cher que descendre en taille. Gemma 4 26B 3 bits fait 37,8 %, le 12B en 4 bits 61,9 %.
- Un seuil non atteint se dit. 0,7 cas bloquant reste au-dessus de zéro, et le seul candidat à zéro manque le seuil de réussite.