🦥GGUF Dynamiques 2.0 d'Unsloth
Une grosse mise à jour de nos quantifications dynamiques !
Nous sommes ravis de présenter Unsloth La quantification dynamique v2.0 - une mise à niveau majeure de nos quants précédents. Cette nouvelle méthode surpasse les principales méthodes de quantification et fixe de nouveaux benchmarks pour Aider Polglot, MMLU 5-shot et divergence KL.
Cela signifie que vous pouvez désormais exécuter + affiner des LLM quantifiés tout en préservant autant de précision que possible ! Vous pouvez exécuter les GGUF 2.0 sur la plupart des moteurs d'inférence comme llama.cpp, LM Studio, etc.
Mise à jour du 27 février 2026 : Qwen3.5 est sorti et nous avons corrigé quelques problèmes de modèles de chat appelant des outils et évalué chaque GGUF sur la perplexité et la divergence KL. Voir les benchmarks !
Le principal avantage d'utiliser le package Unsloth et les quants est notre rôle actif dans la correction de bugs dans les modèles majeurs. Nous avons collaboré directement avec les équipes derrière Qwen3, Meta (Llama 4), Mistral (Devstral), Google (Gemma 1–3) et Microsoft (Phi-3/4), contribuant des correctifs qui augmentent la précision.

Mise à jour du 10 septembre 2025 : Vous avez demandé des benchmarks plus exigeants, voici donc les résultats Aider Polyglot ! Notre GGUF Dynamic 3-bit DeepSeek V3.1 obtient 75.6%, surpassant de nombreux LLM SOTA en précision pleine. En savoir plus.


Vous pouvez également consulter des benchmarks de cas d'utilisation réels réalisés par Benjamin Marie pour LiveCodeBench v6, MMLU Pro, etc. :


Vous pouvez voir comment les GGUF d'Unsloth performent mieux que les quants non-Unsloth malgré une taille d'environ 8 Go inférieure.
Analyse détaillée de nos benchmarks et de notre évaluation plus bas.
💡 Quoi de neuf dans Dynamic v2.0 ?
Sélection de couches repensée pour GGUFs + safetensors : Unsloth Dynamic 2.0 quantifie désormais les couches de manière beaucoup plus intelligente et étendue. Plutôt que de modifier uniquement certaines couches sélectionnées, nous ajustons désormais dynamiquement le type de quantification de chaque couche possible, et les combinaisons différeront pour chaque couche et modèle.
Les GGUF actuellement sélectionnés et tous les futurs téléchargements GGUF utiliseront Dynamic 2.0 et notre nouveau jeu de calibration. Le jeu de données contient plus de >1,5M tokens (selon le modèle) et se compose de données de haute qualité, triées et nettoyées manuellement - pour améliorer considérablement les performances de conversation en chat.
Auparavant, notre quantification Dynamic (DeepSeek-R1 GGUF 1,58-bit) n'était efficace que pour les architectures MoE. La quantification Dynamic 2.0 fonctionne désormais sur tous les modèles (y compris MOE et non-MOE).
Quants spécifiques au modèle : Chaque modèle utilise désormais un schéma de quantification personnalisé. Par exemple, les couches quantifiées dans Gemma 3 diffèrent considérablement de celles de Llama 4.
Pour maximiser l'efficacité, en particulier sur Apple Silicon et les appareils ARM, nous ajoutons également les formats Q4_NL, Q5.1, Q5.0, Q4.1 et Q4.0.
Pour garantir des benchmarks précis, nous avons construit un cadre d'évaluation interne pour faire correspondre les scores MMLU 5-shot officiels rapportés de Llama 4 et Gemma 3. Cela a permis des comparaisons à armes égales entre la précision pleine et Dynamic v2.0, QAT et imatrix quants GGUF.


Tous les futurs téléchargements GGUF utiliseront Unsloth Dynamic 2.0, et nos quants safetensor dynamiques 4 bits en bénéficieront également à l'avenir.
📊 Pourquoi la divergence KL ?
La précision n'est pas tout ce dont vous avez besoin met en évidence comment l'élagage des couches, même en en sélectionnant des inutiles, entraîne toujours de grandes différences en termes de « flips ». Un « flip » est défini comme un changement de réponse d'incorrect à correct ou inversement. L'article montre comment le MMLU peut ne pas diminuer lorsque nous élaguons des couches ou effectuons une quantification, mais c'est parce que certaines réponses incorrectes peuvent avoir « flip » pour devenir correctes. Notre objectif est de correspondre au modèle original, donc mesurer les « flips » est une bonne métrique.


La divergence KL devrait être l'un des standards d'or pour rapporter les erreurs de quantification selon l'article de recherche « Accuracy is Not All You Need ». Utiliser la perplexité est incorrect puisque les valeurs des tokens en sortie peuvent s'annuler, nous devons donc utiliser la KLD ou des benchmarks plus difficiles comme Aider.
L'article montre également qu'il est intéressant de constater que la divergence KL est fortement corrélée aux flips, et donc notre objectif est de réduire la divergence KL moyenne tout en augmentant l'espace disque de la quantification le moins possible.
⚖️ Surapprentissage du jeu de calibration
La plupart des frameworks rapportent la perplexité et la divergence KL en utilisant un ensemble de test d'articles Wikipédia. Cependant, nous avons remarqué que l'utilisation du jeu de calibration, qui est également lié à Wikipédia, fait que les quants surapprennent et obtiennent des scores de perplexité plus faibles. Nous utilisons Calibration_v3 et Calibration_v5 des jeux de données pour des tests équitables qui incluent certaines données wikitext parmi d'autres données. De plus, les modèles instruct ont des modèles de chat uniques, et l'utilisation de jeux de calibration uniquement textuels n'est pas efficace pour les modèles instructifs (les modèles de base oui). En fait, la plupart des imatrix GGUF sont généralement calibrés avec ces problèmes. En conséquence, ils performent naturellement mieux sur les benchmarks de divergence KL qui utilisent également des données Wikipédia, puisque le modèle est essentiellement optimisé pour ce domaine.
Pour assurer une évaluation équitable et contrôlée, nous n'utilisons pas notre propre jeu de calibration (qui est optimisé pour les performances en chat) lors des benchmarks de divergence KL. À la place, nous avons réalisé des tests en utilisant les mêmes jeux de données Wikipédia standard, nous permettant de comparer directement les performances de notre méthode Dynamic 2.0 à l'approche imatrix de référence.
🔢 Aventure de réplication MMLU
Répliquer le MMLU 5-shot a été cauchemardesque. Nous n'avons pas pu répliquer les résultats MMLU pour de nombreux modèles, y compris Llama 3.1 (8B) Instruct, Gemma 3 (12B) et d'autres en raison de problèmes d'implémentation subtils. Llama 3.1 (8B) par exemple devrait obtenir ~68,2 %, alors qu'une implémentation incorrecte peut atteindre 35 % de précision.

Llama 3.1 (8B) Instruct a une précision MMLU 5-shot de 67,8 % en utilisant une implémentation naïve du MMLU. Nous constatons cependant que Llama tokenise « A » et « _A » (A avec un espace devant) comme des identifiants de token différents. Si nous considérons à la fois les tokens avec et sans espace, nous obtenons 68,2 % (+0.4%)
Fait intéressant, Llama 3 selon le LLM Harness d'Eleuther AI ajoute également « The best answer is »
à la question, suivant les benchmarks MMLU originaux de Llama 3. Il existe de nombreuses autres subtilités, et donc pour tout benchmarker dans un environnement contrôlé, nous avons conçu notre propre implémentation MMLU à partir de zéro en enquêtant sur github.com/hendrycks/test
✨ directement, et avons vérifié nos résultats sur plusieurs modèles en les comparant aux chiffres rapportés.
Réplication QAT de Gemma 3, benchmarks
L'équipe Gemma a publié deux versions QAT (quantization aware training) de Gemma 3 :
Q4_0 GGUF - Quantifie toutes les couches en Q4_0 via la formulew = q * block_scale avec chaque bloc ayant 32 poids. Voir le wiki llama.cpppour plus de détails. version int4 - vraisemblablement?
style TorchAO int4 Nous avons évalué toutes les versions Q4_0 GGUF et avons mené des expériences approfondies sur le modèle 12B. Nous constatons que le modèle QAT 12B Q4_0 obtient 67,07 %
27B
26.12%
55.13%
MMLU 5-shot
67,07 % (67,15 % BF16)
70,64 % (71,5 % BF16)
Espace disque
0,93 Go
2,94 Go
7,52 Go
16,05 Go
1.20
10.26
5.59
2.84
Efficacité* Nous avons conçu une nouvelle métrique d'efficacité
qui calcule l'utilité du modèle tout en prenant en compte sa taille sur disque et son score MMLU 5-shot : Nous devons soustraire 25
puisque le MMLU a 4 choix multiples - A, B, C ou D. Supposons que nous fassions un modèle qui choisit simplement des réponses au hasard - il obtiendra 25 % de précision et aura un espace disque de quelques octets. Mais clairement ce n'est pas un modèle utile.
Nouveau KLD
1.035688
5.83
0.972932
6.06
IQ1_S
0.832252
6.33
0.800049
6.51
IQ1_M
0.535764
7.16
0.521039
7.31
IQ2_XXS
0.26554
8.84
0.258192
8.96
IQ2_M
0.229671
9.78
0.220937
9.95
Q2_K_XL
0.087845
12.51
0.080617
12.76
Q3_K_XL
0.024916
15.41
0.023701
15.64
Q4_K_XL
Si nous traçons le ratio de l'augmentation de l'espace disque et le changement du ratio de divergence KL, nous pouvons voir un bénéfice beaucoup plus clair ! Notre Q2_K_XL dynamique 2 bits réduit considérablement la KLD (environ 7,5 %).
Tableau tronqué des résultats pour le MMLU de Gemma 3 (27B). Voir ci-dessous.
Notre version dynamique 4 bits est plus petite de 2 Go tout en ayant +1 % de précision supplémentaire par rapport à la version QAT !
IQ1_S
48.10
47.23
6.51
3.42
IQ1_M
59.20
56.57
7.31
4.32
IQ2_XXS
66.47
64.47
8.96
4.40
IQ2_M
68.70
67.77
9.95
4.30
Q2_K_XL
70.87
69.50
12.76
3.49
Q3_K_XL
71.47
71.07
15.64
2.94
Efficacité
70.64
17.2
2.65
Google QAT vert
Nouveau KLD
41.87
43.37
6.06
3.03
IQ1_S
48.10
47.23
6.51
3.42
IQ1_M
59.20
56.57
7.31
4.32
IQ2_XXS
66.47
64.47
8.96
4.40
Modèle
68.50
67.60
9.78
4.35
IQ2_M
68.70
67.77
9.95
4.30
Q2_K
68.27
67.07
10.07
4.18
IQ3_XXS
70.70
69.77
12.51
3.58
Q2_K_XL
70.87
69.50
12.76
3.49
Q3_K_M
71.23
71.00
15.41
2.98
Q3_K_XL
71.47
71.07
15.64
2.94
Q4_K_M
71.77
71.23
17.95
2.58
Q5_K_M
71.87
71.60
20.64
2.26
Q6_K
71.60
71.53
26.74
1.74
Efficacité
70.64
17.2
2.65
🦙 Q8_0
Corrections de bugs Llama 4 + exécution
Nous avons également aidé et corrigé quelques bugs de Llama 4 : Llama 4 Scout a modifié la configuration du RoPE Scaling dans leur dépôt officiel. Nous avons aidé à résoudre les problèmes dans llama.cpp pour permettre ce

. MMLU Pro est passé de 68,58 % à 71,53 % de précision. Wolfram Ravenwolf

a montré comment nos GGUF via llama.cpp obtiennent une précision bien supérieure à celle des fournisseurs d'inférence tiers - cela résultait très probablement d'une combinaison des problèmes expliqués ci-dessus, et aussi probablement de problèmes de quantification.
Comme montré dans notre graphique, notre quantification QAT dynamique 4 bits offre de meilleures performances sur le MMLU 5-shot tout en étant plus petite en taille.
Exécution de Llama 4 Scout :
cp llama.cpp/build/bin/llama-* llama.cpp
allow_patterns = ["*IQ2_XXS*"],
--prompt "<|header_start|>user<|header_end|>\n\nCreate a Flappy Bird game.<|eot|><|header_start|>assistant<|header_end|>\n\n" En savoir plus sur l'exécution de Llama 4 ici : https://docs.unsloth.ai/basics/tutorial-how-to-run-and-fine-tune-llama-4
Mis à jour
Ce contenu vous a-t-il été utile ?

