For the complete documentation index, see llms.txt. This page is also available as Markdown.

🦥GGUF dynamiques 2.0 d'Unsloth

Une grande nouvelle amélioration de nos quantifications dynamiques !

Nous sommes ravis de présenter Unsloth La quantification dynamique v2.0 - une amélioration majeure par rapport à nos précédentes quantifications. Cette nouvelle méthode surpasse les principales méthodes de quantification et établit de nouveaux repères pour Aider Polyglot, MMLU 5-shot et divergence KL.

Cela signifie que vous pouvez désormais exécuter et affiner des LLM quantifiés tout en préservant un maximum de précision ! Vous pouvez exécuter les GGUF 2.0 sur la plupart des moteurs d'inférence comme llama.cpp, Unsloth Studio etc.

Mise à jour du 20 avr. 2026 : Découvrez nos nouveaux benchmarks GGUF pour Qwen3.6 et Gemma 4.

Mise à jour du 27 févr. 2026 : Qwen3.5 est disponible et nous avons corrigé certains problèmes de modèle de chat liés à l'appel d'outils, puis benchmarké chaque GGUF sur la perplexité et la divergence KL. Voir les benchmarks !

L' principal avantage d'utiliser le package Unsloth et nos quants est notre rôle actif dans la correction de bugs dans les grands modèles. Nous avons collaboré directement avec les équipes derrière Qwen3, Meta (Llama 4), Mistral (Devstral), Google (Gemma 1–3) et Microsoft (Phi-3/4), en apportant des correctifs qui améliorent la précision.

Benchmarks Gemma 4 26B A4B (plus c'est bas, mieux c'est)
Benchmarks Qwen3.6 (plus c'est bas, mieux c'est)

Vous pouvez également consulter les 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 offrent de meilleures performances 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 des couches remaniée pour les GGUF + safetensors : Unsloth Dynamic 2.0 quantifie désormais de manière sélective les couches de façon beaucoup plus intelligente et exhaustive. Plutôt que de modifier uniquement certaines couches, nous ajustons désormais dynamiquement le type de quantification de chaque couche possible, et les combinaisons différeront pour chaque couche et chaque modèle.

  • Les envois GGUF actuellement sélectionnés et tous les futurs envois utiliseront Dynamic 2.0 ainsi que notre nouveau jeu de données de calibration. Le jeu de données contient plus de >1,5 M jetons (selon le modèle) et comprend des données de haute qualité, sélectionnées et nettoyées à la main - afin d'améliorer considérablement les performances de chat conversationnel.

  • Auparavant, notre quantification dynamique (GGUF DeepSeek-R1 1,58 bit) n'était efficace que pour les architectures MoE. La quantification dynamique 2.0 fonctionne désormais sur tous les modèles (y compris les MOE et les non-MOE).

  • Quants spécifiques au modèle : Chaque modèle utilise désormais un schéma de quantification sur mesure. 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 désormais é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 afin de faire correspondre les scores MMLU 5-shot officiellement rapportés pour Llama 4 et Gemma 3. Cela a permis des comparaisons équitables entre la précision totale et Dynamic v2.0, QAT et standard imatrix quants GGUF.

Tous les futurs envois GGUF utiliseront Unsloth Dynamic 2.0, et nos quants safe tensor dynamiques 4 bits en bénéficieront également à l'avenir.

📊 Pourquoi la divergence KL ?

La précision n'est pas tout ce qu'il vous faut montre comment l'élagage des couches, même en sélectionnant des couches inutiles, produit encore de vastes différences en termes de "flips". Un "flip" est défini comme un changement de réponse, d'incorrecte à correcte ou inversement. L'article montre que 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 "basculé" pour devenir correctes. Notre objectif est de faire correspondre le modèle d'origine, donc mesurer les "flips" est une bonne métrique.

La divergence KL devrait être l'une des références absolues pour signaler les erreurs de quantification conformément à l'article de recherche "Accuracy is Not All You Need". L'utilisation de la perplexité est incorrecte puisque les valeurs des jetons de sortie peuvent s'annuler, nous devons donc utiliser la KLD ou des benchmarks plus difficiles comme Aider.

L'article montre également, de manière intéressante, que la divergence KL est fortement corrélée aux flips, et notre objectif est donc de réduire la divergence KL moyenne tout en augmentant le moins possible l'espace disque de la quantification.

⚖️ Surapprentissage du jeu de données de calibration

La plupart des frameworks rapportent la perplexité et la divergence KL à l'aide d'un ensemble de test d'articles Wikipédia. Cependant, nous avons remarqué que l'utilisation du jeu de données de calibration, également lié à Wikipédia, provoque un surapprentissage des quants, et conduit à des scores de perplexité plus faibles. Nous utilisons Calibration_v3 et Calibration_v5 des jeux de données pour des tests équitables, qui incluent notamment des 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 données de calibration en texte seul n'est pas efficace pour les modèles instruct (les modèles de base, oui). En fait, la plupart des GGUF imatrix sont généralement calibrés avec ces problèmes. Par conséquent, ils obtiennent naturellement de meilleures performances 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 garantir une évaluation équitable et contrôlée, nous n'utilisons pas notre propre jeu de données de calibration (qui est optimisé pour les performances de chat) lors du benchmark de la divergence KL. À la place, nous avons effectué les tests en utilisant les mêmes jeux de données Wikipédia standard, ce qui nous a permis de comparer directement les performances de notre méthode Dynamic 2.0 à l'approche imatrix de référence.

🔢 L'aventure de réplication de MMLU

  • La réplication du MMLU 5-shot a été cauchemardesque. Nous n'avons pas pu reproduire les résultats MMLU pour de nombreux modèles, notamment Llama 3.1 (8B) Instruct, Gemma 3 (12B) et d'autres, en raison de subtils problèmes d'implémentation. Llama 3.1 (8B), par exemple, devrait obtenir environ 68,2 %, alors que des implémentations incorrectes peuvent atteindre 35 % de précision.

Problèmes d'implémentation de MMLU
  • Llama 3.1 (8B) Instruct a une précision MMLU 5-shot de 67,8 % avec une implémentation MMLU naïve. Nous constatons cependant que Llama tokenise "A" et "_A" (A avec un espace devant) comme des ids de jetons différents. Si nous considérons à la fois les jetons avec et sans espace, nous obtenons 68,2 % (+0.4%)

  • Il est intéressant de noter que Llama 3, selon le LLM Harness d'Eleuther AI, ajoute également "La meilleure réponse est" à la question, conformément aux benchmarks MMLU originaux de Llama 3.

  • Il existe de nombreux autres problèmes subtils, et pour tout benchmarker dans un environnement contrôlé, nous avons conçu notre propre implémentation de MMLU à partir de zéro en examinant github.com/hendrycks/test directement, et en vérifiant nos résultats sur plusieurs modèles ainsi qu'en les comparant aux chiffres rapportés.

Réplication et benchmarks QAT de Gemma 3

L'équipe Gemma a publié deux versions QAT (quantization aware training) de Gemma 3 :

  1. GGUF Q4_0 - quantifie toutes les couches en Q4_0 via la formule w = q * block_scale avec chaque bloc contenant 32 poids. Voir le wiki llama.cpp pour plus de détails.

  2. version int4 - probablement style int4 de TorchAO?

Nous avons benchmarké toutes les versions GGUF Q4_0 et mené de vastes expériences sur le modèle 12B. Nous constatons que le modèle QAT 12B Q4_0 obtient 67,07 % tandis que la version bfloat16 12B complète obtient 67,15 % sur le MMLU 5-shot. C'est très impressionnant ! Le modèle 27B y est presque !

Métrique
1B
4B
12B
27B

MMLU 5-shot

26.12%

55.13%

67,07 % (67,15 % BF16)

70,64 % (71,5 % BF16)

Espace disque

0,93 Go

2,94 Go

7,52 Go

16,05 Go

Efficacité*

1.20

10.26

5.59

2.84

Nous avons conçu une nouvelle métrique d'efficacité qui calcule l'utilité du modèle tout en prenant également en compte sa taille sur disque et son score MMLU 5-shot :

Efficiency=MMLU 5 shot score25Disk Space GB\text{Efficiency} = \frac{\text{MMLU 5 shot score} - 25}{\text{Disk Space GB}}

Concernant la divergence KL par rapport au modèle de base, voici un tableau présentant les améliorations. Rappel : plus la divergence KL est proche de 0, mieux c'est (c'est-à-dire 0 signifie identique au modèle en précision totale)

Quant
KLD de référence
Go
Nouveau KLD
Go

IQ1_S

1.035688

5.83

0.972932

6.06

IQ1_M

0.832252

6.33

0.800049

6.51

IQ2_XXS

0.535764

7.16

0.521039

7.31

IQ2_M

0.26554

8.84

0.258192

8.96

Q2_K_XL

0.229671

9.78

0.220937

9.95

Q3_K_XL

0.087845

12.51

0.080617

12.76

Q4_K_XL

0.024916

15.41

0.023701

15.64

Si nous traçons le ratio de l'augmentation de l'espace disque et du changement du ratio de divergence KL, nous pouvons voir un avantage beaucoup plus clair ! Notre Q2_K_XL dynamique 2 bits réduit la KLD de façon assez nette (environ 7,5 %).

Tableau tronqué des résultats MMLU pour Gemma 3 (27B). Voir ci-dessous.

  1. Notre version dynamique 4 bits est 2 Go plus petite tout en offrant +1 % de précision supplémentaire par rapport à la version QAT !

  2. En termes d'efficacité, Q2_K_XL en 2 bits et les autres semblent très bien s'en sortir !

Quant
Unsloth
Unsloth + QAT
Taille sur disque
Efficacité

IQ1_M

48.10

47.23

6.51

3.42

IQ2_XXS

59.20

56.57

7.31

4.32

IQ2_M

66.47

64.47

8.96

4.40

Q2_K_XL

68.70

67.77

9.95

4.30

Q3_K_XL

70.87

69.50

12.76

3.49

Q4_K_XL

71.47

71.07

15.64

2.94

QAT Google

70.64

17.2

2.65

Cliquez ici pour l'ensemble des benchmarks QAT complets de Gemma 3 (27B) de Google :
Modèle
Unsloth
Unsloth + QAT
Taille sur disque
Efficacité

IQ1_S

41.87

43.37

6.06

3.03

IQ1_M

48.10

47.23

6.51

3.42

IQ2_XXS

59.20

56.57

7.31

4.32

IQ2_M

66.47

64.47

8.96

4.40

Q2_K

68.50

67.60

9.78

4.35

Q2_K_XL

68.70

67.77

9.95

4.30

IQ3_XXS

68.27

67.07

10.07

4.18

Q3_K_M

70.70

69.77

12.51

3.58

Q3_K_XL

70.87

69.50

12.76

3.49

Q4_K_M

71.23

71.00

15.41

2.98

Q4_K_XL

71.47

71.07

15.64

2.94

Q5_K_M

71.77

71.23

17.95

2.58

Q6_K

71.87

71.60

20.64

2.26

Q8_0

71.60

71.53

26.74

1.74

QAT Google

70.64

17.2

2.65

🦙 Corrections de bugs et exécution de Llama 4

Nous avons également aidé et corrigé quelques bugs de Llama 4 :

  • Llama 4 Scout a modifié la configuration de mise à l'échelle RoPE dans leur dépôt officiel. Nous avons aidé à résoudre des problèmes dans llama.cpp pour permettre ce changement ici

  • L'epsilon de QK Norm de Llama 4 pour Scout et Maverick devrait provenir du fichier de configuration - cela signifie utiliser 1e-05 et non 1e-06. Nous avons aidé à résoudre cela dans llama.cpp et transformers

  • L'équipe Llama 4 et vLLM ont également corrigé indépendamment un problème où QK Norm était partagé entre toutes les têtes (ce qui ne devrait pas être le cas) ici. La précision MMLU Pro est passée de 68,58 % à 71,53 %.

  • Wolfram Ravenwolf a montré que nos GGUF via llama.cpp atteignent une précision bien plus élevée que les fournisseurs d'inférence tiers - cela résultait très probablement d'une combinaison des problèmes expliqués ci-dessus, et probablement aussi de problèmes de quantification.

Comme le montre notre graphique, notre quantification QAT dynamique 4 bits offre de meilleures performances sur le MMLU 5-shot tout en étant plus compacte.

Exécution de Llama 4 Scout :

Pour exécuter Llama 4 Scout par exemple, clonez d'abord llama.cpp :

Puis téléchargez notre nouvelle quantification dynamique v 2.0 pour Scout :

Et faisons l’inférence !

Mis à jour

Ce contenu vous a-t-il été utile ?