Grundlagen der Modell-Quantisierung
Was dieser Artikel über Quantisierung behandelt
- Was Quantisierung ist und warum sie wichtig ist.
- Unterschiede zwischen 4-Bit, 8-Bit und anderen Formaten.
- Wie sich Quantisierung auf Qualität und Geschwindigkeit auswirkt.
- Welche Formate wie GGUF, AWQ, GPTQ und EXL2 gibt.
- Werkzeuge und Best Practices für den Einstieg.
Einleitung: Grundlagen der Modell-Quantisierung
Grosse Sprachmodelle bestehen aus Milliarden von Parametern, die meist als 32-Bit-Gleitkommazahlen gespeichert werden. Ein 70B-Modell benötigt dann allein für die Gewichte über 250 GB Speicher. Quantisierung reduziert die Genauigkeit dieser Zahlen, um Modellgröße, RAM-Verbrauch und Rechenaufwand deutlich zu senken. Dabei bleibt die Qualität oft erstaunlich hoch.
Lokale KI profitiert stark von Quantisierung. Viele Modelle lassen sich auf Consumer-Hardware betreiben, sobald sie auf 4 Bit oder weniger reduziert werden. Wer die Grundlagen versteht, kann gezielt das richtige Format für sein Setup wählen.
Was ist Quantisierung?
Quantisierung ist die Reduktion der Bitanzahl, mit der Modellgewichte und Aktivierungen gespeichert werden. Statt 32 Bit pro Parameter werden zum Beispiel 8 Bit oder 4 Bit verwendet. Das verringert Speicherbedarf und Bandbreite, beschleunigt Berechnungen und ermöglicht den Einsatz auf kleinerer Hardware.
Beispiel:
- Ein 7B-Modell mit 32 Bit: ca. 28 GB.
- Das gleiche Modell mit 4 Bit: ca. 4 GB.
Warum Quantisierung nutzen?
- Weniger Speicher: Modelle passen auf kleinere GPUs und CPUs.
- Höhere Geschwindigkeit: Weniger Daten müssen geladen und verarbeitet werden.
- Mehr Modelle: Mehr Modelle gleichzeitig im Speicher halten.
- Bessere Effizienz: Geringerer Stromverbrauch.
- Mögliche Qualitätsverluste: Je stärker quantisiert, desto größer das Risiko.
Wichtige Begriffe
- FP32: 32-Bit-Gleitkomma, hohe Genauigkeit, hoher Speicherbedarf.
- FP16: 16-Bit-Gleitkomma, halbierter Speicherbedarf.
- INT8: 8-Bit-Ganzzahl, gute Balance.
- INT4: 4-Bit-Ganzzahl, sehr klein, kann Qualitätseinbußen haben.
- GGUF: Format von llama.cpp, sehr verbreitet für lokale Inferenz.
- AWQ: Activation-aware Weight Quantization, oft für NVIDIA-GPUs.
- GPTQ: General-purpose Quantization, für GPUs optimiert.
- EXL2: Format für exllamav2, variable Bitbreite.
- KV-Cache: Speicher für Zwischenberechnungen, ebenfalls quantisierbar.
Quantisierungsstufen im Vergleich
| Bitanzahl | Speicher | Qualität | Geschwindigkeit | Einsatz |
|---|---|---|---|---|
| 32 Bit | 100 Prozent | Sehr hoch | Langsam | Training, Forschung |
| 16 Bit | 50 Prozent | Hoch | Mittel | GPUs mit genug VRAM |
| 8 Bit | 25 Prozent | Gut | Schnell | Consumer-GPUs |
| 4 Bit | 12,5 Prozent | Akzeptabel bis gut | Sehr schnell | Begrenzte Hardware |
| 3 Bit / 2 Bit | Wenig | Mittel bis niedrig | Sehr schnell | Experimentell |
Wichtige Formate
GGUF
Das bekannteste Format für lokale Modelle. Unterstützt viele Bitanzahlen und läuft auf CPU und GPU. Ideal für Ollama, llama.cpp und KoboldCpp.
Beispiel:
llama-3.1-8b.Q4_K_M.gguf
Q4: 4-Bit-Quantisierung._K_M: Mixed-Quantisierung mit höherer Genauigkeit für wichtige Gewichte.
GPTQ
GPU-optimiert, reduziert Gewichte für NVIDIA-Hardware. Gut für vLLM und AutoGPTQ.
AWQ
Besonders effizient für schnelle Inferenz auf NVIDIA-GPUs.
EXL2
Ermöglicht variable Bitbreiten und gute Geschwindigkeit mit exllamav2.
Quantisierung mit Ollama
Ollama liefert viele Modelle bereits quantisiert. Man kann aber auch eigene GGUF-Dateien laden:
ollama create mein-modell -f Modelfile
Ein einfaches Modelfile:
FROM ./llama-3.1-8b.Q4_K_M.gguf
SYSTEM "Du bist ein hilfreicher Assistent."
Werkzeuge zum Quantisieren
- llama.cpp: Konvertierung und Quantisierung in GGUF.
- AutoGPTQ: GPTQ-Quantisierung.
- AutoAWQ: AWQ-Quantisierung.
- exllamav2: EXL2-Quantisierung.
- Ollama: Nutzt bereits quantisierte Modelle.
- LM Studio: Lädt und verwaltet quantisierte Modelle.
Qualität vs. Geschwindigkeit
Die richtige Wahl hängt von der Hardware und der Anwendung ab:
- 7B-Modelle: Auf Consumer-Hardware meist 4 Bit oder 8 Bit.
- 13B-Modelle: 4 Bit mit Q4_K_M oder Q4_K_S.
- 70B-Modelle: Mehrere GPUs oder sehr starke CPU, oft 4 Bit.
- Coding/Reasoning: Eher höhere Bitanzahl, weil Genauigkeit wichtig ist.
- Einfache Chat-Anwendungen: 4 Bit reichen oft aus.
Typische Stolpersteine
- Zu stark quantisiert: 2-Bit-Modelle verlieren viel Qualität.
- Falsches Format: GGUF auf GPU, GPTQ auf CPU kann ineffizient sein.
- KV-Cache ignoriert: Große Kontexte brauchen viel Speicher.
- Nur auf Dateigröße schauen: Q4_K_M und Q4_0 unterscheiden sich in Qualität.
- Nicht getestet: Immer mit eigenen Prompts ausprobieren.
Weiterführende Links und Infos
- BotServ.de Quantisierungsrechner
- BotServ.de LLM lokal betreiben
- BotServ.de RAM- und VRAM-Anforderungen
FAQ: Quantisierung
Verliere ich bei 4 Bit viel Qualität? Bei modernen Methoden wie Q4_K_M oft nur wenig. Für kritische Anwendungen sollte man testen.
Kann ich Modelle selbst quantisieren? Ja, mit llama.cpp, AutoGPTQ, AutoAWQ oder exllamav2.
Was ist besser: GGUF oder GPTQ? GGUF ist vielseitiger, GPTQ ist oft schneller auf NVIDIA-GPUs.
Wie viel VRAM brauche ich? Ca. Modellgröße plus KV-Cache. Ein 8B-Modell in 4 Bit braucht ca. 6 bis 8 GB VRAM.
Kann ich Quantisierung kombinieren? Ja, zum Beispiel 4-Bit-Gewichte mit 8-Bit-Aktivierungen.
Quellen und weiterführende Literatur
- llama.cpp: https://github.com/ggerganov/llama.cpp
- TheBloke GGUF-Modelle: https://huggingface.co/TheBloke
- AutoAWQ: https://github.com/casper-hansen/AutoAWQ
Zusammenfassung: Grundlagen der Modell-Quantisierung
Quantisierung macht grosse KI-Modelle auf kleinerer Hardware nutzbar. Durch Reduktion der Bitanzahl sinken Speicherbedarf und Rechenaufwand, während die Qualität bei guten Methoden meist hoch bleibt. Formate wie GGUF, GPTQ, AWQ und EXL2 bieten unterschiedliche Kompromisse. Wer Quantisierung versteht, wählt die passende Stufe für sein Setup und seine Anwendung.


