Quantisierung in der KI ist eine Modellkomprimierungstechnik, die die numerische Genauigkeit der Gewichtungen und Aktivierungen eines neuronalen Netzes reduziert. Anstatt jeden Parameter als 32-Bit-Gleitkommazahl zu speichern, verwenden quantisierte Modelle 8-Bit-, 4-Bit- oder noch niedrigere Formate. Da Speicher und Rechenleistung mit der Anzahl der Bits skalieren, kann diese eine Änderung ein Modell um das 2- bis 8-fache verkleinern und die Inferenz beschleunigen, sodass es praktikabel wird, große Modelle auf Smartphones, Laptops, Browsern und eingebetteten Geräten auszuführen.
So funktioniert Quantisierung
Jede Gewichtung ist ursprünglich eine präzise reelle Zahl, aber ein Großteil dieser Präzision wird selten benötigt. Quantisierung bildet den ursprünglichen Wertebereich auf eine kleinere Menge darstellbarer Stufen ab. Beim Post-Training Quantization (PTQ) wird ein vollständig trainiertes Modell einmalig konvertiert, typischerweise indem die Float-Gewichtungen so skaliert werden, dass sie in einen engeren Integer-Bereich passen. Eine einfache lineare Abbildung der Form quantized = round(weight / scale) + zero_point erledigt den Großteil der Arbeit, und dieselben Werte für scale und zero_point werden verwendet, um Ausgaben während der Inferenz wieder in Floats zu dequantisieren.
Beispielsweise kann ein 8-Bit-Integer nur 256 verschiedene Werte darstellen, daher muss ein Layer, dessen Gewichtungen ursprünglich in float32 den Bereich [-1,0; 1,0] umspannen, diese in 256 gleichmäßig verteilte Stufen einteilen. Je genauer diese Stufen auf die tatsächliche Gewichtungsverteilung abgestimmt sind, desto weniger Genauigkeit geht verloren. Für bessere Ergebnisse simuliert Quantization-Aware Training (QAT) während des Feintunings Rundungsfehler, sodass sich das Modell an das Rauschen anpasst und dabei oft nahezu die gesamte ursprüngliche Genauigkeit zurückgewinnt.
Warum es wichtig ist
Quantisierung ermöglicht es, dass ein Modell mit mehreren Milliarden Parametern in wenigen Gigabyte RAM passt und auf einer Laptop-CPU in weit unter einer Sekunde antwortet. Sie senkt den Energieverbrauch, reduziert Serverkosten und ermöglicht On-Device-KI für datenschutzsensible oder Offline-Anwendungsfälle. Sie interagiert zudem mit der Hardware: Moderne GPUs, NPUs und CPUs verfügen über dedizierte INT8- und INT4-Matrixeinheiten, sodass ein quantisiertes Modell um ein Vielfaches schneller laufen kann als dasselbe Modell in float32.
Wichtige Typen
- Post-Training Quantization (PTQ): Konvertiert ein bereits trainiertes Modell. Günstigste Option, geringer Genauigkeitsverlust.
- Quantization-Aware Training (QAT): Simuliert Quantisierung während des Trainings, sodass sich die Gewichtungen anpassen. Bessere Genauigkeit, erfordert zusätzliche Rechenleistung.
- Dynamic Quantization: Hält Gewichtungen in niedriger Genauigkeit, berechnet Aktivierungen jedoch on the fly. Nützlich für NLP-Modelle mit variablen Sequenzlängen.
- Weight-Only Quantization: Speichert Gewichtungen in 4-Bit oder niedriger und dequantisiert on the fly. Üblich beim Bereitstellen großer Sprachmodelle.
- GPTQ, AWQ, GGUF: Beliebte Algorithmen und Dateiformate für die 4-Bit-LLM-Quantisierung, die unterschiedliche Schemata anwenden, um die Genauigkeit zu erhalten.
Quantisierung ist zu einem Standardschritt in der KI-Bereitstellungspipeline geworden. Tools wie PyTorchs torch.quantization, NVIDIA TensorRT und die ONNX Runtime integrieren diese Techniken in Produktions-Stacks und ermöglichen es Teams, eine geringe Menge an Genauigkeit gegen erhebliche Gewinne bei Geschwindigkeit, Speicher und Kosten einzutauschen.