Glossar

Modell Quantisierung

Optimiere die KI-Leistung mit Modellquantisierung. Verringere die Größe, erhöhe die Geschwindigkeit und verbessere die Energieeffizienz für reale Einsätze.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Modellquantisierung ist eine wichtige Technik zur Modelloptimierung, die beim Deep Learning (DL) eingesetzt wird, um die Rechen- und Speicherkosten der Modelle zu reduzieren. Dies wird erreicht, indem die numerische Genauigkeit der Modellparameter(Gewichte und Aktivierungen) von hochpräzisen Darstellungen, typischerweise 32-Bit-Gleitkommazahlen(FP32), in niedrigere Präzisionsformate wie 16-Bit-Gleitkommazahlen (FP16), 8-Bit-Ganzzahlen(INT8) oder sogar niedrigere Bit-Darstellungen umgewandelt werden. Dadurch werden die Modelle für maschinelles Lernen kleiner, schneller und energieeffizienter, was besonders wichtig für den Einsatz komplexer Modelle in ressourcenbeschränkten Umgebungen wie mobilen Geräten oder Edge-KI-Systemen ist.

So funktioniert die Modellquantisierung

Im Kern geht es bei der Modellquantisierung darum, den Wertebereich von hochpräzisen Tensoren (wie Gewichte und Aktivierungen in FP32) in einen kleineren Bereich umzuwandeln, der durch Datentypen mit geringerer Genauigkeit (wie INT8) dargestellt werden kann. Durch diese Umwandlung werden der Speicherbedarf für das Modell und die für die Inferenz benötigten Rechenressourcen erheblich reduziert, da Operationen mit Zahlen geringerer Genauigkeit (insbesondere Ganzzahlen) auf moderner Hardware wie GPUs, CPUs und speziellen Beschleunigern wie TPUs oder NPUs oft schneller und energieeffizienter sind. Das Ziel ist es, diese Effizienzgewinne mit minimalen Auswirkungen auf die Vorhersageleistung des Modells zu erreichen.

Vorteile der Modellquantisierung

Die Anwendung der Quantisierung auf Deep Learning-Modelle bietet mehrere entscheidende Vorteile:

  • Geringere Modellgröße: Datentypen mit geringerer Genauigkeit benötigen weniger Speicherplatz, wodurch die Modelle einfacher zu speichern und zu verteilen sind, insbesondere bei der Bereitstellung auf dem Gerät.
  • Schnellere Inferenzgeschwindigkeit: Berechnungen mit Zahlen geringerer Genauigkeit (insbesondere Ganzzahlen) werden auf kompatibler Hardware schneller ausgeführt, wodurch sich die Latenzzeit für Schlussfolgerungen verringert. Das ist wichtig für Echtzeitanwendungen.
  • Verbesserte Energieeffizienz: Schnellere Berechnungen und weniger Speicherzugriffe führen zu einem geringeren Stromverbrauch und verlängern die Akkulaufzeit von Mobil- und Edge-Geräten.
  • Verbesserte Hardware-Kompatibilität: Viele spezialisierte Hardware-Beschleuniger(Edge TPUs, NPUs auf ARM-Prozessoren) sind für niedrigpräzise Integer-Arithmetik optimiert und ermöglichen erhebliche Leistungssteigerungen für quantisierte Modelle.

Quantisierungstechniken

Es gibt zwei Hauptansätze für die Modellquantisierung:

  • Post-Training-Quantisierung (PTQ): Bei dieser Methode wird ein bereits trainiertes Modell mit Standard-Gleitkommapräzision quantisiert. Sie ist einfacher zu implementieren, da sie kein erneutes Training und keinen Zugriff auf die ursprünglichen Trainingsdaten erfordert. Allerdings kann die Genauigkeit des Modells dadurch manchmal deutlich sinken. Werkzeuge wie das TensorFlow Model Optimization Toolkit bieten PTQ-Funktionen.
  • Quantisierungsorientiertes Training (QAT): Diese Technik simuliert die Auswirkungen der Quantisierung während des Modelltrainings. Dadurch, dass dem Modell die bevorstehende Präzisionsreduzierung "bewusst" gemacht wird, erreicht QAT oft eine bessere Genauigkeit als PTQ, vor allem bei Modellen, die empfindlich auf Quantisierung reagieren, obwohl es Änderungen am Trainingsablauf und Zugang zu Trainingsdaten erfordert. PyTorch bietet QAT-Unterstützung.

Anwendungen in der realen Welt

Die Modellquantisierung ist in verschiedenen Bereichen weit verbreitet:

  • Mobile Vision-Anwendungen: Anspruchsvolle Computer-Vision-Aufgaben wie die Objekterkennung in Echtzeit (z. B. mit einem quantisierten Ultralytics YOLO ) oder die Bildsegmentierung direkt auf Smartphones für Anwendungen wie Augmented Reality, Fotobearbeitung oder visuelle Suche zu ermöglichen. Die Quantisierung macht diese anspruchsvollen Modelle auf mobiler Hardware realisierbar.
  • Autonome Fahrzeuge und Robotik: Einsatz von Wahrnehmungsmodellen (zur Erkennung von Fußgängern, Fahrzeugen, Hindernissen) in Autos oder Drohnen, bei denen niedrige Latenzzeiten und Energieeffizienz für die Sicherheit und Betriebsdauer von größter Bedeutung sind. Quantisierte Modelle helfen, diese strengen Anforderungen an die Echtzeitverarbeitung zu erfüllen.
  • Edge-KI-Geräte: KI-Modelle für Aufgaben wie die Erkennung von Fehlern in der Industrie, Smart Home-Automatisierung oder die Überwachung des Gesundheitszustands am Körper auf stromsparenden Mikrocontrollern oder spezialisierten Edge-Prozessoren ausführen.

Überlegungen und verwandte Konzepte

Die Quantisierung ist zwar sehr vorteilhaft, kann aber auch die Modellgenauigkeit beeinträchtigen. Eine sorgfältige Bewertung anhand relevanter Leistungskennzahlen ist nach der Quantisierung unerlässlich. Techniken wie die Verwendung quantisierungsfreundlicher Modellarchitekturen (z. B. das Ersetzen bestimmter Aktivierungsfunktionen wie bei YOLO) können dazu beitragen, die Verschlechterung der Genauigkeit abzumildern, wie in der Anwendung quantisierter YOLOv8 beschrieben.

Die Modellquantisierung ist eine von mehreren Techniken zur Modelloptimierung. Andere sind:

  • Model Pruning: Entfernen von überflüssigen oder unwichtigen Verbindungen (Gewichten) im neuronalen Netz.
  • Gemischte Präzision: Verwendung einer Kombination aus verschiedenen numerischen Genauigkeiten (z. B. FP16 und FP32) beim Training oder bei der Inferenz.
  • Wissensdestillation: Ein kleineres "Schüler"-Modell wird so trainiert, dass es das Verhalten eines größeren, vorher trainierten "Lehrer"-Modells nachahmt.

Ultralytics unterstützt den Export von Modellen in verschiedene Formate, die die Quantisierung und den Einsatz erleichtern, darunter ONNX, OpenVINO (optimiert für Intel ), TensorRT (für NVIDIA ), CoreML (für Apple-Geräte) und TFLite, was einen effizienten Einsatz der Modelle auf verschiedenen Hardware-Plattformen ermöglicht. Mit Tools wie Ultralytics HUB kannst du deine Modelle, einschließlich der quantisierten Versionen, verwalten und einsetzen. Integrationen wie Neural Magic nutzen ebenfalls die Quantisierung zur CPU .

Alles lesen