Quantisierung (ML)
Verfahren zur Reduktion der numerischen Präzision von Modellparametern und Aktivierungen, das Speicherbedarf und Inferenz-Latenz drastisch senkt bei minimalem Qualitätsverlust.
Definition
Quantisierung im Machine-Learning-Kontext bezeichnet die Reduktion der numerischen Präzision, mit der Modellparameter und Zwischenaktivierungen dargestellt werden. Während neuronale Netze typischerweise in 32-Bit Floating-Point (FP32) trainiert und früher auch ausgeliefert wurden, hat sich der Standard zur Inferenzzeit über die letzten Jahre kontinuierlich nach unten verschoben: 16-Bit (FP16, BF16), 8-Bit Integer, 4-Bit, und in experimentellen Verfahren sogar 2-Bit oder 1-Bit (Ternary, Binary Networks).
Das Ziel ist immer dasselbe: Speicher und Rechenzeit sparen, ohne die Modellqualität signifikant zu degradieren. Bei modernen Sprachmodellen ist Quantisierung der einzige praktikable Weg, um Modelle mit 70 Milliarden oder mehr Parametern auf einer einzelnen GPU oder gar auf Consumer-Hardware zu betreiben. Die ersten formalen Arbeiten stammen aus dem Mobile-Deployment-Kontext (Jacob et al., 2018), wurden aber durch die LLM-Welle massiv erweitert.
Algorithmus
Quantisierung lässt sich nach mehreren Achsen klassifizieren:
- Zeitpunkt: Post-Training Quantization (PTQ) quantisiert ein fertiges Modell, Quantization-Aware Training (QAT) simuliert Quantisierung schon während des Trainings.
- Granularität: per-tensor (eine Skala für die ganze Schicht), per-channel (eine Skala pro Output-Kanal), per-group (Gruppen von 64 oder 128 Werten teilen sich eine Skala).
- Zieltyp: symmetrisch (Werte um Null) oder asymmetrisch (mit Offset/Zero-Point), Integer oder Float-Repräsentationen (NF4, FP4, MXFP4).
- Ziel: weight-only Quantisierung (nur Gewichte), oder weight-and-activation Quantisierung (auch Aktivierungen).
Im LLM-Bereich dominieren weight-only PTQ-Methoden. GPTQ (Frantar et al., 2022) löst pro Layer ein quadratisches Optimierungsproblem, das den Quantisierungs-Fehler unter Berücksichtigung der Hessian-Matrix minimiert. Es nutzt einen kleinen Kalibrierungs-Datensatz (typisch 128 Beispiele), läuft auf einer GPU in wenigen Stunden und produziert 4-Bit-Modelle mit sehr geringem Qualitätsverlust.
AWQ (Lin et al., 2023) verfolgt einen komplementären Ansatz. Beobachtung: bei der Quantisierung verliert man am meisten Genauigkeit dort, wo Aktivierungen grosse Magnitude haben. AWQ identifiziert die kritischen "salient" Gewichts-Kanäle (typisch 1 Prozent) und schützt sie durch pro-Kanal-Skalierung, sodass nach der Quantisierung weniger Information verloren geht.
NF4 (Dettmers et al., 2023) ist ein 4-Bit-Datentyp, dessen 16 Quantisierungs-Levels theoretisch optimal für eine standard-normalverteilte Verteilung sind. Da LLM-Gewichte näherungsweise normalverteilt sind, ist NF4 informationstheoretisch besser als gleichmässig verteilte Integer-Levels. Es ist die Grundlage von QLoRA und wird in bitsandbytes implementiert.
Praxis
In der Inferenz-Praxis ist Quantisierung heute fast obligatorisch. Llama 3 70B in FP16 braucht 140 GB VRAM und passt damit nur auf High-End-Server-GPUs. Auf 4-Bit quantisiert (35 GB) läuft es auf einer einzelnen 48 GB-GPU mit Headroom für KV-Cache. Für lokale Inferenz auf Consumer-Hardware ist GGUF-Format (verwendet von llama.cpp und Ollama) Standard, mit verschiedenen Quantisierungs-Stufen von Q2 bis Q8.
Wichtige Tools und Workflows:
- bitsandbytes: Pythonbibliothek für 8-Bit und 4-Bit (NF4) Inferenz, integriert in Hugging Face Transformers.
- AutoGPTQ und AutoAWQ: Tooling für PTQ auf 4-Bit, produziert Hugging-Face-kompatible Modelle.
- llama.cpp und GGUF: CPU- und Metal-optimierte Inferenz, mit feinkörnigen Quantisierungs-Stufen.
- vLLM: Production-Serving mit GPTQ- und AWQ-Support, hohe Throughput durch Tensor-Parallelism.
- TensorRT-LLM: NVIDIA-Stack mit INT4, INT8 und FP8-Support, höchste Performance auf H100.
In der Praxis gilt eine grobe Faustregel: INT8 ist meist verlustfrei, 4-Bit mit GPTQ oder AWQ verliert 2 bis 5 Prozent, 4-Bit ohne Kalibrierung (z.B. naive Rundung) kann deutlich schlechter sein. Grössere Modelle vertragen aggressivere Quantisierung als kleinere. Code- und Mathematik-Aufgaben sind quantisierungs-empfindlicher als reine Konversation.
Häufige Fehler
- Kein Eval nach Quantisierung: Quantisierung wirkt scheinbar transparent, aber bei spezifischen Tasks (Math, Code, lange Kontexte) können Qualitätsverluste deutlich höher sein als auf Standard-Benchmarks.
- Falscher Datentyp: NF4 ist gut für Gewichte, aber nicht für Aktivierungen. INT8 mit per-tensor Skala kann an Outliern verzweifeln, per-channel ist meist Pflicht.
- Kalibrierungs-Datensatz schlecht: GPTQ und AWQ brauchen repräsentative Kalibrierungs-Daten. Wer englischen Text nutzt, um ein Modell für Code zu quantisieren, bekommt Code-Regressionen.
- Mischen verlustbehafteter Schritte: Erst quantisieren, dann LoRA mergen, dann nochmals quantisieren akkumuliert Verluste. Die Reihenfolge der Operationen muss durchdacht sein.
- Hardware-Mismatch: Nicht jede Quantisierung läuft auf jeder Hardware effizient. INT4 braucht Hardware-Support (Ampere und neuer), CPU-Inferenz profitiert mehr von INT8.
Abgrenzung
- Pruning: Entfernt Gewichte ganz, statt sie nur in der Präzision zu reduzieren. Komplementäre Technik.
- Distillation: Trainiert ein kleineres Modell, das ein grösseres nachahmt. Reduziert Parameter-Zahl, nicht nur Präzision.
- Mixture of Experts (MoE): Aktiviert pro Token nur einen Teil der Gewichte. Sparsity-Strategie, orthogonal zu Quantisierung.
- Speculative Decoding: Inferenz-Beschleunigung durch Draft-Modell, ändert keine Gewichts-Präzision.
- Mixed Precision Training (AMP): Nutzt FP16/BF16 für Forward/Backward bei FP32-Master-Weights. Ist Trainings-, nicht Inferenz-Quantisierung.
Weiter im KI-Lexikon
← Zurück zum LexikonHäufige Fragen
Was ist Quantisierung im ML-Kontext?+
Quantisierung ist die Reduktion der numerischen Präzision von Modellgewichten und Aktivierungen von typisch 16-Bit oder 32-Bit Floating-Point auf 8-Bit, 4-Bit oder sogar 2-Bit Integer-Darstellungen. Damit sinken Speicherbedarf und Inferenz-Latenz drastisch, oft um Faktor 2 bis 8, bei akzeptablem Qualitätsverlust.
Welche Quantisierungs-Verfahren gibt es?+
Zwei Hauptfamilien: Post-Training Quantization (PTQ), die ein bereits trainiertes Modell quantisiert, und Quantization-Aware Training (QAT), das Quantisierungs-Effekte schon im Training simuliert. Für LLMs dominieren PTQ-Methoden wie GPTQ, AWQ und bitsandbytes-int8 sowie NF4-Quantisierung in QLoRA-Settings.
Was ist der Unterschied zwischen INT8 und INT4?+
INT8 nutzt 8 Bit pro Gewicht und bietet meist verlustfreie oder fast verlustfreie Qualität. INT4 halbiert nochmals den Speicherbedarf, hat aber sichtbare Qualitätseinbussen, vor allem bei kleineren Modellen. Grössere Modelle (ab 13B) vertragen INT4 deutlich besser als kleinere.
Was bedeutet GPTQ?+
GPTQ (Frantar et al., 2022) ist eine Post-Training-Quantization-Methode, die Gewichte schichtweise auf 3 oder 4 Bit reduziert, indem sie eine optimale Quantisierung pro Spalte unter Berücksichtigung der Hessian-Matrix berechnet. Sie braucht einen kleinen Kalibrierungs-Datensatz, ist aber sehr genau.
Was ist AWQ?+
AWQ (Activation-aware Weight Quantization, Lin et al., 2023) erkennt, dass nicht alle Gewichts-Spalten gleich wichtig sind. Sie schützt die kritischen Salient-Channels durch per-channel Skalierung vor Quantisierung. Resultat: vergleichbare Qualität zu GPTQ bei oft schnellerer Inferenz und besserer GPU-Auslastung.
Was ist NF4?+
NF4 (4-bit NormalFloat, Dettmers et al., 2023) ist ein 4-Bit-Datentyp, der speziell für normalverteilte Gewichts-Werte optimiert ist. Statt gleichverteilte Quantisierungs-Levels nutzt NF4 informationstheoretisch optimale Levels für die typische Gewichts-Verteilung von Sprachmodellen. Es ist die Standardwahl in QLoRA.
Welche Tools sind Standard?+
bitsandbytes für 8-Bit und 4-Bit Training und Inferenz, AutoGPTQ und AutoAWQ für PTQ, llama.cpp mit GGUF-Format für CPU- und Apple-Silicon-Inferenz, vLLM für GPU-Inferenz mit GPTQ und AWQ Support. TensorRT-LLM und ONNX Runtime für Production-Setups auf NVIDIA-Hardware.
Welche Verluste muss man erwarten?+
INT8 ist meist unter 1 Prozent Qualitätsverlust auf Benchmarks. INT4 mit GPTQ oder AWQ liegt bei 2 bis 5 Prozent. Aggressive 2-Bit-Quantisierung kann 10 Prozent oder mehr kosten. Bei spezifischen Aufgaben oder kleinen Modellen können Verluste unverhältnismässig hoch sein, deshalb sind Eval-Sets Pflicht.
Verwandte Begriffe
Quellen
- Jacob et al. (2018) Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference
- Dettmers et al. (2022) LLM.int8(), 8-bit Matrix Multiplication for Transformers
- Frantar et al. (2022) GPTQ, Accurate Post-Training Quantization for Generative Pre-trained Transformers
- Lin et al. (2023) AWQ, Activation-aware Weight Quantization
Wikidata: Q133503025 · Zuletzt geprüft: 2026-06-07