🦥Unsloth Dynamic GGUFs auf Aider Polyglot
Leistung von Unsloth Dynamic GGUFs in Aider-Polyglot-Benchmarks
Wir freuen uns, zu zeigen, wie Unsloth Dynamic GGUFs es möglich macht, LLMs wie DeepSeek-V3.1 (671B) auf nur 1-Bit oder 3-Bitzu quantisieren und dennoch SOTA-Modelle wie GPT-4.5, GPT-4.1 (April 2025) und Claude-4-Opus (Mai 2025) zu übertreffen.
Zuvor haben wir gezeigt wie Unsloth Dynamic GGUFs andere Quantisierungsmethoden bei 5-Shot MMLU und KL-Divergenz übertreffen. Jetzt zeigen wir ihre Leistung bei unabhängigen Drittanbieter-Evaluierungen mit dem Aider Polyglot Benchmark.


⭐Wichtige Ergebnisse
Unsere 1-Bit Unsloth Dynamic GGUF verkleinert DeepSeek-V3.1 von 671GB → 192GB (-75 % Größe) und der No-Thinking-Modus übertrifft GPT-4.1 (Apr 2025), GPT-4.5 und DeepSeek-V3-0324 deutlich.
3-Bit Unsloth DeepSeek-V3.1 (Thinking) GGUF: Übertrifft Claude-4-Opus-20250514 (Thinking).
5-Bit Unsloth DeepSeek-V3.1 (Non-Thinking) GGUF: Erreicht die Leistung von Claude-4-Opus-20250514 (Non-Thinking).
Unsloth Dynamic GGUFs schneiden durchgängig besser ab als andere nicht von Unsloth stammende Dynamic-imatrix-GGUFs
Andere nicht von Unsloth stammende 1-Bit- und 2-Bit-Quantisierungen von DeepSeek-V3.1 sowie die Standard-1-Bit-Quantisierung ohne selektive Layer-Quantisierung konnten entweder nicht geladen werden oder erzeugten Kauderwelsch und Endlosschleifen. Dies zeigt, dass Unsloth Dynamic GGUFs die Genauigkeit weitgehend erhalten können, während andere Methoden nicht einmal funktionieren.
Warum der Aider Polyglot Benchmark? Aider ist eines der umfassendsten Maßstäbe dafür, wie gut LLMs schreiben, programmieren, Anweisungen befolgen und Änderungen ohne menschliches Eingreifen vornehmen können, was ihn zu einem der schwierigsten und wertvollsten Benchmarks für den realen Einsatz macht.
Die Hauptvorteil der Nutzung des Unsloth-Pakets und der Modelle ist unsere aktive Rolle beim Beheben kritischer Fehler in großen Modellen. Wir haben direkt mit Teams zusammengearbeitet hinter Qwen3, Meta (Llama 4), Mistral (Devstral), Google (Gemma 1–3) und Microsoft (Phi-3/4), und dabei wichtige Korrekturen beigetragen, die die Genauigkeit erheblich steigern.
🦥Unsloth Dynamic Quantization
Dynamic 1 Bit macht wichtige Schichten in 8 oder 16 Bits und unwichtige Schichten in 1, 2, 3, 4, 5 oder 6 Bits.
Im Nov. 2024 zeigten unsere 4-Bit Dynamic Quants, wie man QLoRA-Fine-Tuning und Modellgenauigkeit weitgehend wiederherstellen kann, indem man nur Schichten selektiv quantisiert. Später untersuchten wir DeepSeek-R1s Architektur und wandten diese ähnliche Methodik an, wobei wir einige Schichten auf nur 1-Bit und wichtige Schichten auf höhere Bits (6-, 8-Bit) quantisierten. Dieser Ansatz gewann schnell an Popularität und hat sich besonders für MoE-Modelle als effektiv erwiesen, sodass dynamische Quantisierung de facto zum Standard für MoE-Quantisierung wurde.
Unsere Dynamic GGUFs sind sogar noch effektiver, wenn sie mit unserem imatrix-Kalibrierungsdatensatzkombiniert werden, der für Chat- und Coding-Leistung konzipiert ist. All dies ermöglichte extreme LLM-Komprimierung ohne katastrophalen Qualitätsverlust.
Zum Beispiel führt bei Qwen2-VL-2B-Instruct die naive Quantisierung aller Schichten auf 4-Bit dazu, dass das Modell das Bild unten nicht versteht. Das ist ein Zug, keine Küstenszene!


Wir haben auch dynamische Benchmarks in https://docs.unsloth.ai/basics/unsloth-dynamic-2.0-ggufs für Gemma 3 und Llama 4 Scout gezeigt, was verdeutlicht, wie effektiv unsere Methodik ist:


⚙️Benchmark-Setup
Für unsere DeepSeek-V3.1-Experimente verglichen wir verschiedene Bit-Stufen von Unsloth Dynamic GGUFs gegen:
Vollpräzise, nicht quantisierte LLMs einschließlich GPT 4.5, 4.1, Claude-4-Opus, DeepSeek-V3-0324 usw.
Andere dynamische imatrix V3.1 GGUFs
Semi-dynamische (teilweise selektive Layer-Quantisierung) imatrix V3.1 GGUFs zu Ablationszwecken.
Benchmark-Experimente wurden hauptsächlich durchgeführt von David Sluys (neolithic5452 auf Aider Discord), ein vertrauenswürdiger Community-Beitragender zu Aider Polyglot-Evaluierungen. Die Tests wurden etwa 3-mal ausgeführt und zu einem Medianwert gemittelt, und die Pass-2-Genauigkeit wird wie üblich berichtet. Es gibt einige reproduzierbare Benchmark-Codeausschnitte im Discord von Aider.
Aufklappen für Aider-Benchmarks von Reasoning-Modellen
GPT-5
86.7
Gemini 2.5 Pro (Juni)
83.1
o3
76.9
DeepSeek V3.1
76.1
(3 Bit) DeepSeek V3.1 Unsloth
75.6
Claude-4-Opus (Mai)
72
o4-mini (Hoch)
72
DeepSeek R1 0528
71.4
(2 Bit) DeepSeek V3.1 Unsloth
66.7
Claude-3.7-Sonnet (Feb)
64.9
(1 Bit) DeepSeek V3.1 Unsloth
57.8
DeepSeek R1
56.9
Aufklappen für Aider-Benchmarks von Nicht-Reasoning-Modellen
DeepSeek V3.1
71.6
Claude-4-Opus (Mai)
70.7
(5 Bit) DeepSeek V3.1 Unsloth
70.7
(4 Bit) DeepSeek V3.1 Unsloth
69.7
(3 Bit) DeepSeek V3.1 Unsloth
68.4
(2 Bit) DeepSeek V3.1 Unsloth
65.8
Qwen3 235B A22B
59.6
Kimi K2
59.1
(1 Bit) DeepSeek V3.1 Unsloth
55.7
DeepSeek V3-0324
55.1
GPT-4.1 (April 2025)
52.4
ChatGPT 4o (März 2025)
45.3
GPT-4.5
44.9
DeepSeek V3.1 verfügt sowohl über einen Reasoning- als auch einen Non-Reasoning-Modus, und wir testen beide. Für Non-Reasoning sehen wir unten einen klaren Trend, wie unsere dynamischen Quantisierungen abschneiden. Dynamic 5-Bit erreicht 70,7 % bei Aider Pass-2, während Dynamic 1-Bit 55,7 % erreicht. In Bezug auf Größe und Genauigkeit sind die 3- und 4-Bit-Versionen extrem leistungsstark!

🎇Vergleich mit anderen Quants
Wir führen den Aider-Polyglot-Benchmark auch für andere Dynamic-imatrix-GGUFs aus der Community aus und vergleichen sie mit unseren. Um einen fairen Vergleichzu gewährleisten, gehen wir wie folgt vor:
Wir wählen ähnlich große Dateien und Bit-Typen für jede Unsloth-Quantisierung aus.
Wir verwenden unsere korrigierte Chat-Vorlage wenn die Community-Quantisierung den Benchmark nicht ausführen kann. Wir haben festgestellt, dass einige Community-Quants
{"code":500,"message":"split method must have between 1 and 1 positional arguments and between 0 and 0 keyword arguments at row 3, column 1908"}, und das wird durch die Verwendung unserer korrigierten Chat-Vorlage behoben.
Wir sehen, dass Unsloth-Dynamic-Quants im Vergleich zu anderen Community-Quantisierungen für dieselbe Modellgröße und denselben Quantisierungstyp bemerkenswert gut abschneiden!

Aufklappen für den Vergleich der Rohdaten mit anderen Quants
IQ2_XXS
164
43.6
TQ1_0
170
50.7
IQ1_M
206
55.7
IQ2_M
215
56.6
IQ2_XXS
225
61.2
IQ2_M
235
64.3
Q2_K_L
239
64.0
Q2_K_XL
255
65.8
IQ3_XXS
268
65.6
65.6
IQ3_XXS
279
66.8
Q3_K_S
293
65.2
Q3_K_XL
300
68.4
IQ4_XS
357
69.2
IQ4_XS
360
66.3
Q4_K_XL
387
69.7
Q4_K_M
405
69.7
Q4_K_M
409
67.7
Q5_K_M
478
68.9
Q5_K_XL
484
70.7
🍰Ablationen der dynamischen Quantisierung
Wir haben auch einige Ablationen durchgeführt, um zu bestätigen, ob unser Kalibrierungsdatensatz und unsere Methode der dynamischen Quantisierung tatsächlich funktionieren. Der Trick der dynamischen Methode von Unsloth besteht darin, wichtige Schichten auf höhere Bits zu quantisieren also 8 Bits, während unwichtige Schichten in niedrigeren Bits wie 2 Bits belassen werden.
Um unsere Methode zu testen, belassen wir bestimmte Tensoren mit geringerer Präzision, etwa 4-Bit versus höhere Präzision. Unten belassen wir zum Beispiel attn_k_b Tensoren in 4-Bit (semi-dynamisch) vs. 8-Bit (aktuelles Unsloth), und durch eine Erhöhung der Quant-Größe um nur etwa 100 MB oder so (<0,1 %) steigt die Genauigkeit dramatisch an!
attn_k_b und andere Tensoren in DeepSeek V3.1 sind äußerst wichtig / empfindlich gegenüber Quantisierung und sollten zur Wahrung der Genauigkeit in höherer Präzision belassen werden!

🐛Fehlerbehebungen für Chat-Vorlagen
Während des Tests von DeepSeek-V3.1-Quants stellten wir fest, dass einige Quants mit niedrigeren Bits nicht ordnungsgemäß <think> </think> einbetteten oder eine seltsame Formatierung verwendeten. Dadurch funktionierten einige Community-Quants bei niedrigeren Bits nicht, was zu unfairen Vergleichen führte. Wir stellten fest, dass die Verwendung von minja in llama.cpp (einer einfacheren Version von jinja) keine Positionsargumente in .split. akzeptiert. Wir mussten ändern:
in das Folgende:
Siehe hier für unsere korrigierte Chat-Vorlage oder hier für eine rohe Jinja-Datei.
📊Pass-Rate 1
Aider wird hauptsächlich anhand von Pass-Rate 2 berichtet. Wir berichten auch Pass-Rate 1, um Community-Quants derselben Größe zu vergleichen. Wir sehen, dass unsere dynamischen Quants deutlich besser abschneiden als andere Community-Quants ähnlicher Größe, insbesondere bei weniger als 2 Bit und mehr als 4 Bit. 3- und 4-Bit schneiden ähnlich gut ab.

💻DeepSeek V3.1 Dynamic Quants ausführen
Gehen Sie zu unserem DeepSeek V3.1-Leitfaden oder um schnell die dynamische 2-Bit-Version zu erhalten, führen Sie Folgendes aus:
dann verwenden Sie llama.cpp um die Gewichte direkt herunterzuladen. Wir setzen bereits die optimal empfohlenen Parameter wie Temperatur, die Chat-Vorlage usw. ebenfalls:
Zuletzt aktualisiert
War das hilfreich?

