🦥Unsloth Dynamic 2.0 GGUFs

Ein großes neues Upgrade unserer Dynamic-Quants!

Wir freuen uns, vorzustellen Unslotharrow-up-right Dynamische v2.0-Quantisierung – ein großes Upgrade gegenüber unseren früheren Quants. Diese neue Methode übertrifft führende Quantisierungsverfahren und setzt neue Maßstäbe für Aider Polglot, 5-shot MMLU und KL-Divergenz.

Das bedeutet, dass Sie jetzt + feinabstimmen können quantisierte LLMs während Sie so viel Genauigkeit wie möglich bewahren! Sie können die 2.0 GGUFs auf den meisten Inferenz-Engines wie llama.cpp, LM Studio usw. ausführen.

Update vom 27. Feb. 2026: Qwen3.5 ist draußen und wir haben einige Probleme mit Tool-Calling-Chat-Vorlagen behoben und jedes GGUF hinsichtlich Perplexity & KL-Divergenz benchmarked. Siehe Benchmarks!

Der Hauptvorteil der Verwendung des Unsloth-Paketsarrow-up-right und der Quants ist unsere aktive Rolle bei der Behebung von Fehlern in großen Modellen. Wir haben direkt mit den Teams hinter Qwen3arrow-up-right, Meta (Llama 4)arrow-up-right, Mistral (Devstral)arrow-up-right, Google (Gemma 1–3)arrow-up-right und Microsoft (Phi-3/4)arrow-up-rightzusammengearbeitet und Fixes beigetragen, die die Genauigkeit erhöhen.

circle-check

Sie können auch praxisnahe Use-Case-Benchmarks ansehen, die von Benjamin Marie für LiveCodeBench v6, MMLU Pro usw. durchgeführt wurden:

Sie können sehen, wie Unsloths GGUFs besser abschneiden als die Nicht-Unsloth-Quants, obwohl sie etwa ~8GB kleiner sind.

Detaillierte Analyse unserer Benchmarks und Auswertungen weiter unten.

💡 Was ist neu in Dynamic v2.0?

  • Überarbeitete Layer-Auswahl für GGUFs + safetensors: Unsloth Dynamic 2.0 quantisiert nun Schichten selektiver, deutlich intelligenter und umfangreicher. Anstatt nur ausgewählte Schichten zu verändern, passen wir jetzt dynamisch den Quantisierungstyp jeder möglichen Schicht an, und die Kombinationen unterscheiden sich für jede Schicht und jedes Modell.

  • Aktuelle ausgewählte und alle künftigen GGUF-Uploads werden Dynamic 2.0 und unseren neuen Kalibrierungsdatensatz verwenden. Der Datensatz enthält mehr als >1,5M Tokens (je nach Modell) und besteht aus hochwertigem, handkuratiniertem und bereinigtem Datenmaterial – um die Gesprächsleistung deutlich zu verbessern.

  • Früher war unsere Dynamic-Quantisierung (DeepSeek-R1 1,58-Bit GGUF) nur für MoE-Architekturen wirksam. Dynamic 2.0-Quantisierung funktioniert jetzt bei allen Modellen (einschließlich MOEs & Nicht-MOEs).

  • Modellspezifische Quants: Jedes Modell verwendet jetzt ein maßgeschneidertes Quantisierungsschema. Z. B. unterscheiden sich die in Gemma 3 quantisierten Schichten erheblich von denen in Llama 4.

  • Um die Effizienz, besonders auf Apple Silicon- und ARM-Geräten, zu maximieren, fügen wir nun auch die Formate Q4_NL, Q5.1, Q5.0, Q4.1 und Q4.0 hinzu.

Um genaue Benchmarks zu gewährleisten, haben wir ein internes Evaluationsframework aufgebaut, um die offiziell berichteten 5-shot MMLU-Werte von Llama 4 und Gemma 3 nachzustellen. Dies ermöglichte Vergleiche „Apfel-zu-Apfel“ zwischen Full-Precision vs. Dynamic v2.0, QAT und standard imatrix GGUF-Quants.

Alle zukünftigen GGUF-Uploads werden Unsloth Dynamic 2.0 nutzen, und unsere Dynamic 4-Bit Safe-Tensor-Quants werden zukünftig ebenfalls davon profitieren.

📊 Warum KL-Divergenz?

Genauigkeit ist nicht alles, was man brauchtarrow-up-right zeigt, wie das Entfernen von Schichten, selbst durch Auswahl unnötiger Schichten, immer noch erhebliche Unterschiede in Bezug auf „Flips“ verursacht. Ein „Flip“ wird definiert als eine Antwort, die sich von falsch zu richtig oder umgekehrt ändert. Das Paper zeigt, dass MMLU möglicherweise nicht sinkt, wenn wir Schichten entfernen oder quantisieren, aber das liegt daran, dass einige falsche Antworten zu richtigen „geflippt“ sein könnten. Unser Ziel ist es, das Originalmodell zu matchen, daher ist das Messen von „Flips“ eine gute Metrik.

circle-info

KL-Divergenz sollte einer der Goldstandards für die Berichterstattung von Quantisierungsfehlern sein laut dem Forschungspapier „Accuracy is Not All You Need“. Perplexity zu verwenden ist inkorrekt da Ausgabetoken-Wahrscheinlichkeiten sich gegenseitig aufheben können, daher müssen wir KLD oder härtere Benchmarks wie Aider.

Das Paper zeigt außerdem, dass interessanterweise die KL-Divergenz stark mit Flips korreliert, und daher besteht unser Ziel darin, die mittlere KL-Divergenz zu reduzieren, während wir den zusätzlichen Speicherbedarf der Quantisierung so gering wie möglich halten.

⚖️ Überanpassung des Kalibrierungsdatensatzes

Die meisten Frameworks berichten Perplexity und KL-Divergenz unter Verwendung eines Testsets aus Wikipedia-Artikeln. Wir haben jedoch festgestellt, dass die Verwendung des Kalibrierungsdatensatzes, der ebenfalls Wikipedia-ähnlich ist, dazu führt, dass Quants überanpassen und niedrigere Perplexity-Werte erzielen. Wir verwenden Calibration_v3arrow-up-right und Calibration_v5arrow-up-right Datensätze für faire Tests, die unter anderem auch Wikitext-Daten enthalten. Außerdem haben Instruct-Modelle einzigartige Chat-Vorlagen, und die Verwendung ausschließlich textbasierter Kalibrierungsdatensätze ist für Instruct-Modelle nicht effektiv (bei Basismodellen ja). Tatsächlich sind die meisten imatrix-GGUFs typischerweise mit diesen Problemen kalibriert. Infolgedessen schneiden sie bei KL-Divergenz-Benchmarks, die ebenfalls Wikipedia-Daten verwenden, natürlicherweise besser ab, da das Modell für diese Domäne optimiert ist.

Um eine faire und kontrollierte Evaluierung sicherzustellen, verwenden wir unseren eigenen Kalibrierungsdatensatz (der für Chat-Leistung optimiert ist) nicht beim Benchmarking der KL-Divergenz. Stattdessen haben wir Tests mit denselben standardmäßigen Wikipedia-Datensätzen durchgeführt, sodass wir die Leistung unserer Dynamic 2.0-Methode direkt mit dem Basis-imatrix-Ansatz vergleichen können.

🔢 MMLU-Replikationsabenteuer

  • Die Replikation von MMLU 5-shot war ein Albtraum. Wir konnten nicht MMLU-Ergebnisse für viele Modelle reproduzieren, einschließlich Llama 3.1 (8B) Instruct, Gemma 3 (12B) und anderer, aufgrund subtiler Implementierungsprobleme. Llama 3.1 (8B) sollte zum Beispiel ~68,2% erreichen, während falsche Implementierungen 35% Genauigkeit erzielen können.

MMLU-Implementierungsprobleme
  • Llama 3.1 (8B) Instruct hat eine MMLU 5-shot-Genauigkeit von 67,8% mit einer naiven MMLU-Implementierung. Wir stellen jedoch fest, dass Llama „A" und "_A" (A mit vorangestelltem Leerzeichen) als unterschiedliche Token-IDs tokenisiert. Wenn wir sowohl mit als auch ohne Leerzeichen tokenisierte Tokens berücksichtigen, erhalten wir 68,2% (+0.4%)

  • Interessanterweise fügt Llama 3 gemäß Eleuther AIs LLM Harnessarrow-up-right ebenfalls an "The best answer is" an die Frage an, entsprechend den ursprünglichen MMLU-Benchmarks von Llama 3.

  • Es gibt viele andere subtile Probleme, und um alles in einer kontrollierten Umgebung zu benchmarken, entwickelten wir unsere eigene MMLU-Implementierung von Grund auf, indem wir github.com/hendrycks/testarrow-up-right direkt untersucht und unsere Ergebnisse über mehrere Modelle hinweg verifiziert und mit den gemeldeten Zahlen verglichen.

Gemma 3 QAT-Replikation, Benchmarks

Das Gemma-Team veröffentlichte zwei QAT (quantization aware training)-Versionen von Gemma 3:

  1. Q4_0 GGUF – quantisiert alle Schichten zu Q4_0 über die Formel w = q * block_scale wobei jeder Block 32 Gewichte hat. Siehe llama.cpp wiki arrow-up-rightfür weitere Details.

  2. int4-Version – vermutlich TorchAO-int4-Stilarrow-up-right?

Wir haben alle Q4_0 GGUF-Versionen benchmarked und umfangreiche Experimente am 12B-Modell durchgeführt. Wir sehen, dass das 12B Q4_0 QAT-Modell 67,07% erreicht während die voll bfloat16 12B-Version 67,15% im 5-shot MMLU erreicht. Das ist sehr beeindruckend! Das 27B-Modell ist größtenteils fast dort!

Metrik
1B
4B
12B
27B

MMLU 5-shot

26.12%

55.13%

67,07% (67,15% BF16)

70,64% (71,5% BF16)

Plattenplatz

0,93GB

2,94GB

7,52GB

16,05GB

Effizienz*

1.20

10.26

5.59

2.84

Wir haben eine neue Effizienzmetrik entwickelt, die die Nützlichkeit des Modells berechnet und dabei seine Plattengröße und den MMLU 5-shot-Wert berücksichtigt:

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

Bei der KL-Divergenz im Vergleich zum Basismodell zeigt die folgende Tabelle die Verbesserungen. Erinnerung: Je näher die KL-Divergenz an 0 ist, desto besser (0 bedeutet identisch mit dem Full-Precision-Modell).

Quant
Basis-KLD
GB
Neue KLD
GB

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

Wenn wir das Verhältnis der Plattenplatzvergrößerung und die Änderung des KL-Divergenz-Verhältnisses darstellen, sehen wir einen viel klareren Nutzen! Unser dynamisches 2-Bit Q2_K_XL reduziert KLD deutlich (etwa 7,5%).

Abgekürzte Ergebnistabelle für MMLU für Gemma 3 (27B). Siehe unten.

  1. Unsere dynamische 4-Bit-Version ist 2GB kleiner und hat gleichzeitig +1% zusätzliche Genauigkeit gegenüber der QAT-Version!

  2. In puncto Effizienz schneiden 2-Bit Q2_K_XL und andere sehr gut ab!

Quant
Unsloth
Unsloth + QAT
Plattengröße
Effizienz

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

Google QAT

70.64

17.2

2.65

chevron-rightKlicken Sie hier für die vollständigen Google Gemma 3 (27B) QAT-Benchmarks:hashtag
Modell
Unsloth
Unsloth + QAT
Plattengröße
Effizienz

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

Google QAT

70.64

17.2

2.65

🦙 Llama 4 Bugfixes + Ausführung

Wir haben auch geholfen und einige Llama 4-Bugs behoben:

  • Llama 4 Scout änderte die RoPE-Scaling-Konfiguration in ihrem offiziellen Repo. Wir halfen, Probleme in llama.cpp zu beheben, um diese Änderung hierarrow-up-right

  • Llama 4s QK-Norm-Epsilon für sowohl Scout als auch Maverick sollte aus der Konfigurationsdatei stammen – das bedeutet, 1e-05 und nicht 1e-06 zu verwenden. Wir halfen, diese in llama.cpparrow-up-right und transformersarrow-up-right

  • Das Llama 4-Team und vLLM beheben außerdem unabhängig ein Problem, bei dem die QK-Norm über alle Heads geteilt wurde (sollte nicht der Fall sein) hierarrow-up-right. MMLU Pro stieg von 68,58% auf 71,53% Genauigkeit.

  • Wolfram Ravenwolfarrow-up-right zeigte, wie unsere GGUFs über llama.cpp deutlich höhere Genauigkeit erreichen als Drittanbieter-Inferenzdienste – dies war höchstwahrscheinlich eine Kombination der oben erläuterten Probleme und wahrscheinlich auch aufgrund von Quantisierungsproblemen.

Wie in unserem Diagramm gezeigt, liefern unsere 4-Bit Dynamic QAT-Quantisierungen bessere Leistung bei 5-shot MMLU und sind dabei gleichzeitig kleiner.

Llama 4 Scout ausführen:

Um zum Beispiel Llama 4 Scout auszuführen, klonen Sie zuerst llama.cpp:

Laden Sie dann unser neues dynamisches v2.0-Quant für Scout herunter:

Und jetzt lasst uns Inferenz machen!

circle-check

Zuletzt aktualisiert

War das hilfreich?