Einfach erklärt
Model Compression bedeutet, ein KI‑Modell so kleiner, schneller und sparsamer zu machen, dass es weniger Speicher, weniger Rechenaufwand und weniger Energie braucht – bei möglichst gleicher Qualität. Das erreicht man durch Werte gröber speichern (Quantization), Überflüssiges entfernen (Pruning), Strukturen vereinfachen (Low‑Rank/Factorization) oder Wissen in kleinere Modelle übertragen (Distillation).
Kurz: Überflüssiges weg → Zahlen gröber → Struktur vereinfachen → Wissen in klein übertragen.
Ganz einfache Beispiele
• Urlaubsgepäck: Alles in den Koffer passt nicht. Schwere Dinge raus, Rest kompakt falten – du kommst mit weniger Gewicht ans Ziel.
• ZIP‑Archiv: Ein großes Fotoalbum wird komprimiert – gleiche Inhalte, weniger Megabytes.
• Kurzfassung: Ein langer Text wird zusammengefasst – wesentliche Infos bleiben, Seitenzahl sinkt.
Professionelle Definition
Model Compression umfasst Methodenbündel, die Parameter, Rechenoperationen (FLOPs/MACs), Speicherverbrauch und Latenz reduzieren. Typische Familien:
- Quantization: Reelle Werte (Gewichte/Aktivierungen) auf wenige Bits abbilden (z. B. INT8/INT4; dynamisch/statisch; per‑Tensor/per‑Channel). → Kleinere Artefakte, oft schnellere Inferenz.
- Pruning: Unwichtige Gewichte/Kanäle/Filter/Blöcke entfernen (unstrukturiert, strukturiert, N:M). → Sparsity erzeugt; Speed‑up je nach Runtime/Hardware.
- Low‑Rank/Factorization: Gewichtsmatrizen durch niedrigrangige Faktoren approximieren (z. B. SVD). → Weniger Multiplikationen, geringerer Speicher.
- Knowledge Distillation: Großes Lehrer‑Modell trainiert kleines Schüler‑Modell, das ähnliches Verhalten lernt (Logits/Features).
- Gewichtsteilen/Clustering & Huffman: Werte teilen und kodieren, um Dateigröße weiter zu senken (z. B. in Export‑Artefakten).
Zeitpunkt & Pipeline
- Post‑Training: Komprimieren nach dem Training (PTQ, One‑Shot/iterativ) + kurzes Feintuning.
- Training‑aware: Kompression im Training (z. B. QAT, iteratives Pruning mit Schedules, Distillation parallel).
Typischer Ablauf
- Ziel festlegen (Qualität/Größe/Latenz/Hardware).
- Baseline messen (Accuracy, p50/p95‑Latenz, VRAM/RAM, Energie).
- Methoden wählen (z. B. INT8 + strukturiertes Pruning + Distillation).
- Kalibrieren/Feintunen, bis Qualitätsziel erreicht.
- Export (ONNX/TFLite/TensorRT) und Runtime‑Spezifika nutzen.
- Validieren & überwachen (Drift/Regressionschecks in Produktion).
Metriken
- Größe (MB), Parameterzahl, FLOPs/MACs.
- Latenz (p50/p95), Durchsatz, Speicher‑Peak, Energie/Req.
- Genauigkeit/Qualität (Δ zur Baseline), Robustheit/Stabilität.
Abgrenzungen und Praxisfälle
- Kompression vs. Optimierung: Kompression verändert Modell/Parameter; Runtime‑Optimierung (Fusion, Batching) ändert Ausführung. Beides kombinieren.
- Edge vs. Cloud: Edge priorisiert Latenz/Energie → oft INT8 + strukturiertes Pruning. Cloud priorisiert Durchsatz/Kosten → Batching + Quantization.
- LLMs/Transformer: Häufig Weight‑Only‑Quantization (8/4‑Bit) + Head/Block‑Pruning + Distillation.
Warum wichtig
- Kosten & Energie in der Inferenz sinken massiv.
- Schnellere Antworten und kleinere Footprints erlauben Mobile/Edge.
- Skalierung wird günstiger und nachhaltiger.
Quellen
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
Cheng, Y., Wang, D., Zhou, P., Zhang, T. (2017) – A Survey of Model Compression and Acceleration for Deep Neural Networks https://arxiv.org/abs/1710.09282
Hinton, G., Vinyals, O., Dean, J. (2015) – Distilling the Knowledge in a Neural Network https://arxiv.org/abs/1503.02531
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
HIer finden Sie mehr dazu Ki Kurse