Zum Inhalt springen
labkompass

Guides · KI & Local AI

Quantisierung und GGUF: Warum 14 GB Modell in 5 GB passen

Quantisierung macht lokale LLMs erst möglich: Was Q4_K_M, Q8_0 und GGUF bedeuten, wie viel Qualität bei welcher Stufe verloren geht und worin sich GGUF und Safetensors unterscheiden — einsteigerfreundlich erklärt für Ollama und llama.cpp.

Von Niclas Hennrich · Veröffentlicht: · 5 Min. Lesezeit


Kurz gesagt: Quantisierung speichert die Gewichte eines Sprachmodells mit weniger Bits — aus 16 Bit pro Parameter werden z. B. rund 4. Ein 7B-Modell schrumpft damit von ~14 GB auf ~4–5 GB und läuft plötzlich auf ganz normaler Heimhardware. Q4_K_M ist der übliche Standardkompromiss, Q8_0 die fast verlustfreie Variante für alle mit Speicherreserven. GGUF ist das Dateiformat, in dem quantisierte Modelle für Ollama und llama.cpp verteilt werden — im Gegensatz zu Safetensors, dem unquantisierten Austauschformat des Hugging-Face-Ökosystems.

Ohne Quantisierung gäbe es kein Local AI im Homelab: Die Parameterzahl diktiert den Speicherbedarf, und unquantisiert sprengt schon ein Mittelklasse-Modell jede übliche Grafikkarte. Dieser Guide erklärt, was beim Quantisieren passiert, wie du die kryptischen Kürzel liest und welches Format du wofür brauchst.

Warum Modelle so groß sind #

Ein Modell besteht fast vollständig aus seinen Gewichten: Milliarden Kommazahlen, gelernt im Training. Gespeichert wird üblicherweise in 16-Bit-Gleitkommazahlen (FP16/BF16) — zwei Bytes pro Parameter. Die Rechnung ist simpel und unbarmherzig:

ModellFP16 (unquantisiert)
7B~14 GB
14B~28 GB
32B~64 GB
70B~140 GB

Eine RTX 3060 hat 12 GB VRAM. Unquantisiert liefe darauf nicht einmal ein 7B-Modell. Genau hier setzt Quantisierung an.

Was beim Quantisieren passiert #

Quantisierung bildet die feinen 16-Bit-Werte auf ein gröberes Raster ab — vergleichbar damit, ein Foto von 16 Millionen Farben auf 256 Farben zu reduzieren: Die Datei wird drastisch kleiner, und aus der Distanz sieht das Bild fast gleich aus. Statt jeden Wert exakt zu speichern, merkt sich das Format für Gruppen von Gewichten einen Skalierungsfaktor und pro Gewicht nur noch wenige Bits.

Der Clou: Sprachmodelle sind gegen dieses Vergröbern erstaunlich robust. Die Antwortqualität sinkt messbar, aber bei moderaten Stufen so wenig, dass es im Alltag kaum auffällt. Erst bei sehr aggressiver Quantisierung kippt das Verhalten spürbar.

Nebeneffekt, der oft unterschätzt wird: Quantisierte Modelle sind nicht nur kleiner, sondern oft auch schneller — weil bei der Inferenz vor allem Speicherbandbreite limitiert und weniger Bytes pro Token bewegt werden müssen (warum, erklärt der Hardware-Guide).

Die Q-Stufen lesen: Q4_K_M und Verwandte #

In Dateinamen wie qwen2.5-14b-instruct-q4_k_m.gguf steckt die Quantisierungsstufe. Aufgeschlüsselt:

  • Q4 — rund 4 Bit pro Gewicht (statt 16). Die Zahl ist der wichtigste Teil: je kleiner, desto kleiner die Datei und desto größer der Qualitätsverlust.
  • K — die „K-Quants“ von llama.cpp: ein Verfahren, das unterschiedliche Modellteile unterschiedlich fein quantisiert und damit bei gleicher Größe bessere Qualität liefert als die älteren einfachen Varianten (z. B. Q4_0).
  • M — Size-Variante innerhalb der Stufe: S(mall), M(edium), L(arge). M ist der übliche Mittelweg.

Die wichtigsten Stufen im Überblick — Speicherangaben als Faustwerte in Bytes pro Parameter (ein 8B-Modell in Q4_K_M also grob 8 × 0,6 ≈ 5 GB Dateigröße):

Stufe~Bytes/ParameterEinordnung
FP162,0Vollpräzision — Referenz, lokal selten nötig
Q8_0~1,06fast verlustfrei, wenn der Speicher reicht
Q6_K~0,82sehr guter Kompromiss knapp unter Q8
Q5_K_M~0,69spürbar kleiner, Qualität noch sehr gut
Q4_K_M~0,60der Standard — beste Balance für die meisten
Q3_K_M~0,49merklicher Qualitätsverlust — Notlösung
Q2_K~0,35stark degradiert — nur wenn es gar nicht anders geht

Zwei Faustregeln für die Auswahl:

  1. Im Zweifel Q4_K_M. Ollama liefert Modelle standardmäßig in dieser Gegend aus — aus gutem Grund.
  2. Lieber groß und Q4 als klein und Q8. Passt ein 14B-Modell in Q4 in deinen Speicher, ist es einem 8B-Modell in Q8 meist überlegen.

Ob eine Stufe in deinen Speicher passt, rechnet dir der Local-AI-Rechner aus.

GGUF: das Format für lokale Runtimes #

GGUF (GPT-Generated Unified Format, Nachfolger des älteren GGML-Formats) ist das Container-Format von llama.cpp — und damit der De-facto-Standard für lokale Inferenz. Eine einzige .gguf-Datei enthält alles: die (meist quantisierten) Gewichte, den Tokenizer, das Chat-Template und Metadaten wie Architektur und Kontextlänge. Die Runtime kann die Datei per Memory-Mapping direkt vom Datenträger einblenden, statt sie komplett umzupacken.

Praktisch heißt das: Wenn du mit Ollama, llama.cpp oder LM Studio arbeitest, arbeitest du mit GGUF — auch wenn Ollama das hinter seiner Modellverwaltung versteckt.

GGUF vs. Safetensors #

Auf Hugging Face begegnen dir beide Formate, und die Verwechslung ist der häufigste Stolperstein beim ersten Modell-Download:

SafetensorsGGUF
ZweckAustausch/Training im Python-Ökosystemlokale Inferenz
Präzisionmeist FP16/BF16, unquantisiertmeist quantisiert (Q4…Q8)
Strukturoft viele Dateien + Configseine Datei mit allem
Läuft mitPyTorch, Transformers, vLLMllama.cpp, Ollama, LM Studio

„Safetensors“ heißt das Format übrigens, weil es ein sicherer Ersatz für Pythons Pickle-Serialisierung ist, die beim Laden beliebigen Code ausführen konnte — es geht um sicheres Laden, nicht um sichere Modelle.

Für das Homelab lautet die Regel schlicht: Du suchst die GGUF-Variante. Die Original-Repositories der Hersteller enthalten meist Safetensors; GGUF-Quantisierungen in allen Q-Stufen stellt die Community in separaten Repositories bereit. Wie du sie findest und direkt mit Ollama nutzt, zeigt der Hugging-Face-Guide.

Grenzen: Was Quantisierung nicht kann #

  • Sie macht ein Modell nicht klüger — sie macht es nur kleiner. Ein schwaches Modell bleibt schwach, auch in Q8.
  • Der Qualitätsverlust ist nicht gleichverteilt: Feinheiten wie exakte Zahlen, seltene Fachbegriffe oder lange Schlussketten leiden zuerst. Für präzisionskritische Aufgaben lieber eine Stufe höher greifen.
  • Unter Q4 beginnt der Bereich, in dem Modelle sichtbar abbauen. Q2 ist eine Demo, keine Arbeitsgrundlage.

Weiterlesen #

Häufige Fragen

Was ist Quantisierung bei LLMs?
Das Speichern der Modellgewichte mit weniger Bits — statt 16 Bit pro Parameter zum Beispiel nur noch rund 4 oder 5. Das Modell wird dadurch auf einen Bruchteil seiner Größe verkleinert und passt so überhaupt erst in den Speicher üblicher Heimhardware. Die Antwortqualität sinkt dabei, bei moderaten Stufen wie Q4_K_M aber nur geringfügig.
Welche Quantisierung soll ich nehmen?
Q4_K_M ist der Standardkompromiss und die richtige Wahl, wenn du unsicher bist — Ollama liefert die meisten Modelle genau so aus. Hast du reichlich Speicher übrig, nimm Q5_K_M oder Q8_0 für etwas mehr Qualität. Unter Q4 (Q3, Q2) wird der Qualitätsverlust deutlich spürbar; das lohnt sich fast nur, um ein eigentlich zu großes Modell überhaupt zum Laufen zu bringen.
Was ist GGUF?
Das Dateiformat von llama.cpp für quantisierte Modelle: eine einzelne Datei, die Gewichte, Tokenizer und Metadaten enthält und per Memory-Mapping direkt geladen wird. GGUF ist der De-facto-Standard für lokale Inferenz — Ollama, llama.cpp, LM Studio und viele andere Runtimes nutzen es.
Was ist der Unterschied zwischen GGUF und Safetensors?
Safetensors ist das Austauschformat des Hugging-Face-Ökosystems und speichert Gewichte meist unquantisiert in voller Präzision — gedacht für Training und GPU-Inferenz mit Python-Frameworks. GGUF ist das fertig quantisierte Format für lokale Runtimes wie Ollama und llama.cpp. Für Local AI im Homelab willst du praktisch immer GGUF.
Verschlechtert Quantisierung die Antworten merklich?
Bei Q8 und Q6 ist der Unterschied zur Vollpräzision im Alltag kaum feststellbar, bei Q4_K_M gering. Deutlich wird es unterhalb von Q4: Q3- und besonders Q2-Modelle machen sichtbar mehr Fehler. Als Faustregel gilt außerdem: Ein größeres Modell in Q4 schlägt meist ein kleineres in Q8.

Weiterlesen