chart-fftBenchmarks GGUF Qwen3.5

Voyez comment les GGUF dynamiques d'Unsloth performent et analyses sur la perplexité, la divergence KL et MXFP4.

Nous avons mis à jour les quantifications dynamiques Unsloth Qwen3.5-35B étant SOTA sur presque tous les bits. Nous avons réalisé plus de 150 benchmarks de divergence KL, au total 9 To de GGUF. Nous avons téléchargé tous les artefacts de recherche. Nous avons également corrigé un appel d'outil modèle de chat bogue (affecte tous les téléchargeurs de quantifications)

  • Les GGUFs Qwen3.5-35B-A3B sont mis à jour pour utiliser les nouvelles corrections (112B, 27B sont encore en conversion, retéléchargez-les une fois mis à jour)

  • Nous avons testé Bartowski, Ubergram, AesSedai, Noctrex et nos nouveaux GGUFs dynamiques

  • 99,9% de divergence KL montre SOTA sur la frontière de Pareto pour UD-Q4_K_XL, IQ3_XXS et plus.

  • Retrait de MXFP4 de toutes les quantifications GGUF : Q2_K_XL, Q3_K_XL et Q4_K_XL, sauf pour le pur MXFP4_MOE.

Benchmarks de perplexité - plus bas est mieux
Benchmarks de perplexité - plus bas est mieux
  • Imatrix aide définitivement à réduire la KLD et la PPL, au prix d'une inférence 5 à 10 % plus lente.

  • Quantifier ssm_out (couches Mamba) n'est pas une bonne idée, ni ffn_down_exps.

1) Certains tenseurs sont très sensibles à la quantification

  • Nous avons mis à disposition plus de 9 To d'artefacts de recherche pour que la communauté puisse enquêter davantage sur notre page Expériencesarrow-up-right. Elle inclut les métriques KLD et les 121 configurations que nous avons testées.

  • Nous avons varié les largeurs de bits pour chaque type de tenseur, et généré ci-dessous un tracé de la frontière de Pareto meilleur et pire versus la KLD à 99,9%.

  • Pour les éléments les mieux quantifiables, ffn_up_exps et ffn_gate_exps sont généralement acceptables à quantifier en 3 bits. ffn_down_exps est légèrement plus sensible.

  • Pour les pires éléments, ssm_out augmente dramatiquement la KLD et les économies d'espace disque sont minimes. Par exemple, ssm_out en q2_k fait beaucoup pire. Quantifier n'importe quel attn_* est particulièrement sensible pour les architectures hybrides, donc les laisser en précision plus élevée fonctionne bien.

Type de tenseur vs bits sur la divergence KL à 99,9%

  • Nous traçons tous les niveaux de quantification versus la KLD à 99,9%, et trions du pire KLD au meilleur. Quantifier trop fortement les couches ffn_* n'est pas une bonne idée.

  • Cependant, certaines largeurs de bits sont bonnes, en particulier 3 bits. - par exemple laisser ffn_* (down, up, gate) autour de iq3_xxs semble être le meilleur compromis entre l'espace disque et la variation de KLD à 99,9%. 2 bits causent plus de dégradation.

MXFP4 est bien pire sur de nombreux tenseurs - attn_gate, attn_q, ssm_beta, ssm_alpha utiliser MXFP4 n'est pas une bonne idée, Q4_K est plutôt meilleur - de plus MXFP4 utilise 4,25 bits par poids, tandis que Q4_K utilise 4,5 bits par poids. Il vaut mieux utiliser Q4_K que MXFP4 lorsqu'on choisit entre eux.

Comme vous pouvez le voir, MXFP4 est anormalement élevé

2) Imatrix fonctionne remarquablement bien

  • Imatrix aide définitivement à pondérer correctement le processus de quantification. Par exemple précédemment ssm_out à 2 bits était vraiment mauvais, cependant imatrix réduit beaucoup la KLD à 99,9%.

  • Imatrix aide généralement sur les bits faibles, et fonctionne sur toutes les quantifications et largeurs de bits.

Les quants I (iq3_xxs, iq2_s, etc.) rendent l'inférence 5 à 10 % plus lente, ils sont définitivement meilleurs en termes d'efficacité, mais il y a un compromis.

Type
pp512 (≈)
tg128 (≈)

mxfp4

1978.69

90.67

q4_k

1976.44

90.38

q3_k

1972.61

91.36

q6_k

1964.55

90.50

q2_k

1964.20

90.77

q8_0

1964.17

90.33

q5_k

1947.74

90.72

iq3_xxs

2030.94

85.68

iq2_xxs

1997.64

85.79

iq3_s

1990.12

84.37

iq2_xs

1967.85

85.19

iq2_s

1952.50

85.04

3) La perplexité et la KLD peuvent être trompeuses

La perplexité et la KLD peuvent être trompeuses car elles sont fortement influencées par la calibration. La plupart des GGUF sont évalués sur Wiki-test avec des fenêtres de contexte de 512, donc les résultats changent beaucoup si l'ensemble de calibration imatrix du GGUF inclut des échantillons de type Wikipédia et de contexte 512 (comme le font la plupart des GGUF). C'est pourquoi nos GGUF montrent parfois une perplexité plus élevée puisque nos données imatrix utilisent plutôt des chats à long contexte et des exemples d'appel d'outils.

L'analyse MiniMax‑M2.5 récente de Benjaminarrow-up-right montre un cas où la perplexité et la KLD peuvent être très trompeuses. Unsloth Dynamic IQ2_XXS performe mieux que l'IQ3_S d'AesSedai sur des évaluations réelles (LiveCodeBench v6, MMLU Pro) malgré être 11 Go plus petit. Pourtant, les benchmarks de perplexité et de KLD d'AesSedai suggèrent le contraire. (PPL : 0,3552 vs 0,2441 ; KLD : 9,0338 vs 8,2849 - plus bas est mieux).

Divergence KL - AesSedai
Perplexité - AesSedai

Ce décalage montre qu'une perplexité ou une KLD plus faible ne se traduit pas nécessairement par de meilleures performances dans le monde réel. Le graphique montre également UD‑Q4-K‑XL surpassant d'autres quants Q4, tout en étant ~8 Go plus petit. Cela ne signifie pas que la perplexité ou la KLD est inutile, car elles fournissent un signal approximatif. Donc, à l'avenir, nous publierons la perplexité et la KLD pour chaque quantification afin que la communauté ait une sorte de référence.

Benchmarks complets

Quantificateur
Niveau de quantification
Espace disque (Go)
PPL
KLD 99,9%
KLD moyenne

AesSedai

IQ3_S

12.65

6.9152

1.8669

0.0613

AesSedai

IQ4_XS

16.4

6.6447

0.8067

0.0235

AesSedai

Q4_K_M

20.62

6.5665

0.3171

0.0096

AesSedai

Q5_K_M

24.45

6.5356

0.21

0.0058

Ubergarm

Q4_0

19.79

6.5784

0.4829

0.0142

Unsloth

IQ2_XXS

9.09

7.716

4.2221

0.1846

Unsloth

Q2_K_XL

12.04

7.0438

2.9092

0.097

Unsloth

IQ3_XXS

13.12

6.7829

1.5296

0.0501

Unsloth

IQ3_S

14.13

6.7715

1.4193

0.0457

Unsloth

Q3_K_M

15.54

6.732

0.9726

0.0324

Unsloth

Q3_K_XL

16.06

6.7245

0.9539

0.0308

Unsloth

MXFP4_MOE

18.17

6.6

0.7789

0.0272

Unsloth

Q4_K_M

18.49

6.6053

0.5478

0.0192

Unsloth

Q4_K_L

18.82

6.5905

0.4828

0.015

Unsloth

Q4_K_XL

19.17

6.5918

0.4097

0.0137

Unsloth

Q5_K_XL

23.22

6.5489

0.236

0.0069

Unsloth

Q6_K_S

26.56

6.5456

0.2226

0.0065

Unsloth

Q6_K_XL

28.22

6.5392

0.1437

0.0041

Unsloth

Q8_K_XL

36.04

6.5352

0.1033

0.0026

bartowski

Qwen_IQ2_XXS

8.15

9.3427

6.0607

0.3457

bartowski

Qwen_Q2_K_L

11.98

7.5504

3.8095

0.1559

bartowski

Qwen_IQ3_XXS

12.94

7.0938

2.1563

0.0851

bartowski

Qwen_Q3_K_M

14.95

6.772

1.7779

0.0585

bartowski

Qwen_Q3_K_XL

15.97

6.8245

1.7516

0.0627

bartowski

Qwen_IQ4_XS

17.42

6.6234

0.7265

0.0234

bartowski

Qwen_Q4_K_M

19.77

6.6097

0.5771

0.0182

bartowski

Qwen_Q5_K_M

23.11

6.5828

0.3549

0.0106

noctrex

MXFP4_MOE_BF16

20.55

6.5948

0.7939

0.0248

noctrex

MXFP4_MOE_F16

20.55

6.5937

0.7614

0.0247

Mis à jour

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