Einfach erklärt

Sparsamere Modelle erzeugen Quantization bedeutet, dass ein Modell mit weniger Zahlenfeinheit arbeitet: Statt 32‑Bit‑Fließkommazahlen (FP32) verwendet es z. B. 8‑Bit‑Ganzzahlen (INT8) – für Gewichte und oft auch Aktivierungen. Dadurch wird das Modell kleiner, die Inferenz schneller und der Energiebedarf geringer – bei möglichst geringem Qualitätsverlust.

Kurz: Zahlen feiner → gröber abbilden (z. B. FP32 → INT8) → Modell wird kompakter und schneller.

Ganz einfache Beispiele

• Küchenwaage: Statt auf 1 g genau misst du in 10‑g‑Schritten – du bekommst schneller ein Ergebnis, das nahe genug ist.
• Foto‑Farben: Aus Millionen Farben werden 256 Farbtöne – die Datei wird kleiner, das Bild bleibt brauchbar.
• Routenanzeige: Anstatt 342,7 km rundest du auf 343 km – Wesentliches bleibt gleich, die Darstellung ist leichter.

Professionelle Definition

Quantization ist die Abbildung reeller Tensorwerte (Gewichte/Aktivierungen) auf diskrete Stufen mit definierter Bit‑Breite. Üblich sind INT8 (teilweise INT4) für Gewichte und Aktivierungen. Mit Skalierungsfaktor (scale) und ggf. Nullpunkt (zero‑point) können Ganzzahl‑Kernels (z. B. INT8‑MatMul) effizient auf CPU/GPU/NPUs laufen (Integer‑Only Inference).
Wichtige Achsen: Bit‑Breite, symmetrisch vs. asymmetrisch, per‑Tensor vs. per‑Kanal, dynamisch vs. statisch.

Verfahren

  • Post‑Training Quantization (PTQ): Quantisierung ohne erneutes Training.
    – Dynamisch: Gewichte quantisiert, Aktivierungen beim Lauf on‑the‑fly (gut für CPUs).
    – Statisch (mit Kalibrierung): Gewichte und Aktivierungen vorab skaliert; benötigt kleines Kalibrier‑Set → oft bessere Genauigkeit.
    – Weight‑Only PTQ: Nur Gewichte quantisiert (häufig bei LLMs mit 8/4‑Bit).
  • Quantization‑Aware Training (QAT): Quantisierung wird im Training simuliert (Fake‑Quant/STE). Liefert meist die beste Genauigkeit, wenn PTQ zu viel verliert.

Parametrisierungen

  • Per‑Tensor vs. Per‑Channel: Pro Layer eine Skala vs. pro Filter/Kanal eigene Skalen (präziser).
  • Symmetrisch vs. Asymmetrisch: Mit/ohne Zero‑Point (Asymmetrisch gut für verschobene Verteilungen).
  • Bit‑Breite: INT8 ist Standard; INT4 bringt mehr Kompression, kann aber Qualität kosten.

Ablauf (typisch)

  1. Modell wählen/konvertieren (z. B. nach ONNX/TF/PyTorch‑Format).
  2. PTQ oder QAT bestimmen (Qualität vs. Aufwand).
  3. Kalibrieren (bei statischer PTQ): kleines, repräsentatives Set.
  4. Export (INT8/INT4‑Artefakt) und Runtime wählen (z. B. TensorRT/ONNX Runtime/TFLite).
  5. Validieren: Genauigkeit, Latenz, Speicher, Energie.
  6. Rollout und Monitoring (Drift/Regressionschecks).

Abgrenzungen und Praxisfälle

  • Quantization vs. Pruning: Werteauflösung verringern vs. Parameter entfernen – oft kombinieren.
  • PTQ vs. QAT: Schnell & einfach vs. aufwendiger, aber genauer.
  • LLMs (Weight‑Only, 8/4‑Bit): Deutliche Speicher‑ und Durchsatzgewinne, teils mit minimalem Qualitätsverlust.

Warum wichtig

  • Kleinere Modelle, schnellere Inferenz, weniger RAM/VRAM.
  • Kostensenkung und Energieeffizienz im Betrieb.
  • Edge/Mobile ermöglichen, wo FP32/FP16 zu schwer ist.

Quellen

Jacob, B., Kligys, S., Chen, B., Zhu, M., Tang, M., Howard, A., Adam, H., Kalenichenko, D. (2018) – Quantization and Training of Neural Networks for Efficient Integer‑Arithmetic‑Only Inference https://arxiv.org/abs/1712.05877

Krishnamoorthi, R. (2018) – Quantizing deep convolutional networks for efficient inference: A whitepaper https://arxiv.org/abs/1806.08342

Han, S., Mao, H., Dally, W. J. (2016) – Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding https://arxiv.org/abs/1510.00149

TensorFlow Model Optimization Toolkit – Quantization https://www.tensorflow.org/model_optimization/guide/quantization

Hier finen Sie KI Schulungen & Kurse