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

🦥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.

Thinking Aider Benchmarks
No Thinking Aider Benchmarks

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.

🦥Unsloth Dynamic Quantization

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
Modell
Genauigkeit

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
Modell
Genauigkeit

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:

  1. Wir wählen ähnlich große Dateien und Bit-Typen für jede Unsloth-Quantisierung aus.

  2. 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
Quant
Quant-Größe (GB)
Genauigkeit % von Unsloth
Vergleichsgenauigkeit %

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!

🐛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?