Quantisierung

Overview

Quantisierung reduziert die Genauigkeit, mit der die Gewichte eines KI-Modells gespeichert werden, etwa von 16-Bit-Gleitkommazahlen (FP16, BF16) auf 8 oder 4 Bit. Das Modell braucht dadurch deutlich weniger Grafikspeicher (VRAM) und Arbeitsspeicher und erzeugt Tokens oft schneller. Der Preis ist ein meist geringer, bei sehr starker Kompression spürbarer Qualitätsverlust.

Für lokale KI-Infrastruktur ist Quantisierung der entscheidende Hebel: Ohne sie würden viele Modelle nicht auf eine einzelne Workstation-GPU passen. Ollama liefert Modelle standardmäßig quantisiert aus, auch ComfyUI und vLLM unterstützen quantisierte Modelle. In der Cloud nutzen Anbieter Quantisierung ebenfalls, etwa FP8 für schnellere Inferenz, und Suchdienste komprimieren Vektoren auf ähnliche Weise.

Abgrenzung: Quantisierung verändert, wie Gewichte gespeichert werden, nicht was das Modell gelernt hat. Fine-Tuning passt dagegen das Verhalten an. Beides lässt sich kombinieren, etwa bei QLoRA, wo ein 4-Bit-quantisiertes Basismodell mit LoRA-Adaptern feinabgestimmt wird.

How it works

Gängige Verfahren und Formate:

  1. GGUF mit llama.cpp: Das Format nutzen u. a. Ollama und llama.cpp. Das Werkzeug llama-quantize erzeugt Varianten wie Q8_0, Q6_K, Q4_K_M oder sehr kleine IQ-Typen. Für Llama 3.1 8B nennt die Dokumentation rund 15 GiB in F16, etwa 8 GiB in Q8_0 und etwa 4,6 GiB in Q4_K_M.
  2. Importance Matrix (imatrix): Eine Kalibrierdatei sorgt dafür, dass wichtige Gewichte mehr Präzision behalten, und verringert den Qualitätsverlust.
  3. GPTQ und AWQ: Kalibrierungsbasierte 4-Bit-Verfahren, verbreitet für GPU-Inferenz mit vLLM oder Transformers.
  4. bitsandbytes: Quantisierung beim Laden (8 oder 4 Bit), Grundlage für QLoRA.
  5. FP8: 8-Bit-Gleitkomma auf neueren GPUs, guter Kompromiss aus Geschwindigkeit und Qualität.

Gemessen wird der Qualitätsverlust u. a. über Perplexity oder KL-Divergenz. Ein bereits quantisiertes Modell erneut zu quantisieren verschlechtert die Qualität laut llama.cpp deutlich.

Benefits

  • Große Modelle laufen auf vorhandener oder günstigerer Hardware, weil der VRAM-Bedarf stark sinkt
  • Schnellere Antworten in vielen Fällen, da weniger Daten pro Token bewegt werden
  • Mehr parallele Benutzer oder längere Kontexte auf derselben GPU möglich
  • Ermöglicht QLoRA-Fine-Tuning großer Modelle auf einzelnen GPUs

Practical example

Ein Architekturbüro mit 30 Beschäftigten will ein offenes Sprachmodell lokal betreiben, hat aber nur eine Workstation-GPU mit begrenztem VRAM. In FP16 passt das gewünschte Modell nicht in den Speicher. Die IT testet in Ollama die Varianten Q8_0 und Q4_K_M mit typischen Aufgaben wie Ausschreibungstexten. Q4_K_M liefert für diesen Zweck kaum Unterschiede, passt vollständig in den VRAM und antwortet schneller, deshalb geht diese Variante in den Betrieb.

Things to keep in mind

  • Qualität mit eigenen Testaufgaben vergleichen, statt sich nur auf allgemeine Benchmarks zu verlassen
  • 4-Bit-Varianten wie Q4_K_M sind ein verbreiteter Startpunkt, unter 3 Bit steigt der Qualitätsverlust merklich
  • Immer aus einem 16- oder 32-Bit-Original quantisieren, nicht aus bereits quantisierten Dateien
  • Neben den Gewichten auch den Kontext (KV-Cache) beim Speicherbedarf einplanen
  • Quantisierte Modelle aus vertrauenswürdigen Quellen beziehen, da Dritte die Dateien erstellen

Conclusion

Quantisierung macht lokale KI erst wirtschaftlich. Wähle die Stufe anhand eigener Tests, für viele Anwendungen ist 4 Bit ein guter Kompromiss aus Qualität und Ressourcenbedarf.