Model Quantization
Erfahre, wie Modellquantisierung Ultralytics YOLO26 für Edge-KI optimiert. Entdecke, wie du den Speicherbedarf und die Latenz reduzierst und INT8-Modelle für schnellere Inferenz exportierst.
Die Quantisierung von Modellen ist eine anspruchsvolle Technik zur Modelloptimierung, mit der sich der Rechen- und Speicheraufwand beim Ausführen von Deep-Learning-Modellen reduzieren lässt. In standardmäßigen Trainingsabläufen speichern neuronale Netze Parameter (Gewichte und Bias) sowie Aktivierungskarten typischerweise als 32-Bit-Gleitkommazahlen (FP32). Diese hohe Präzision gewährleistet zwar genaue Berechnungen während des Trainings, ist für die Inferenz jedoch häufig nicht erforderlich. Bei der Quantisierung werden diese Werte in Formate mit geringerer Präzision umgewandelt, etwa in 16-Bit-Gleitkommazahlen (FP16) oder 8-Bit-Ganzzahlen (INT8). Dadurch verringern sich die Modellgröße und die Ausführungszeit, ohne die Genauigkeit wesentlich zu beeinträchtigen.
Warum Quantisierung wichtig ist#
Der wichtigste Grund für die Quantisierung ist der Bedarf, leistungsfähige KI auf Hardware mit begrenzten Ressourcen bereitzustellen. Da Computer-Vision-Modelle wie YOLO26 immer komplexer werden, steigt ihr Rechenbedarf. Die Quantisierung begegnet drei kritischen Engpässen:
- Speicherbedarf: Durch die Verringerung der Bitbreite von Gewichten (z. B. von 32 Bit auf 8 Bit) sinkt der für die Speicherung des Modells benötigte Speicherplatz um bis zu das 4-Fache. Das ist für mobile Apps entscheidend, bei denen die Anwendungsgröße begrenzt ist.
- Inferenzlatenz: Operationen mit geringerer Präzision sind rechnerisch weniger aufwendig. Moderne Prozessoren, insbesondere solche mit spezialisierten neuronalen Verarbeitungseinheiten (NPUs), können INT8-Operationen deutlich schneller als FP32 ausführen und dadurch die Inferenzlatenz erheblich reduzieren.
- Energieverbrauch: Wenn weniger Daten durch den Speicher bewegt und einfachere arithmetische Operationen ausgeführt werden, wird weniger Energie verbraucht. Dadurch verlängert sich die Akkulaufzeit tragbarer Geräte und autonomer Fahrzeuge.
Vergleich mit verwandten Konzepten#
Es ist wichtig, die Quantisierung von anderen Optimierungstechniken zu unterscheiden, da sie das Modell auf unterschiedliche Weise verändern:
- Quantisierung im Vergleich zu Pruning: Während die Quantisierung die Dateigröße durch eine Verringerung der Bitbreite von Parametern reduziert, entfernt das Pruning von Modellen unnötige Verbindungen (Gewichte) vollständig, um ein spärlich besetztes Netzwerk zu erzeugen. Pruning verändert die Struktur des Modells, während die Quantisierung die Datendarstellung verändert.
- Quantisierung im Vergleich zu Wissensdestillation: Wissensdestillation ist eine Trainingstechnik, bei der ein kleines „Schüler“-Modell lernt, ein großes „Lehrer“-Modell nachzuahmen. Quantisierung wird häufig nach der Destillation auf das Schülermodell angewendet, um die Leistung von KI auf Edge-Geräten weiter zu verbessern.
Anwendungen in der Praxis#
Quantisierung ermöglicht Computer Vision und KI in verschiedenen Branchen, in denen Effizienz entscheidend ist.
-
Autonome Systeme: In der Automobilindustrie müssen selbstfahrende Autos visuelle Daten von Kameras und LiDAR in Echtzeit verarbeiten. Quantisierte Modelle, die auf NVIDIA TensorRT-Engines ausgeführt werden, ermöglichen es diesen Fahrzeugen, Fußgänger und Hindernisse mit einer Latenz von wenigen Millisekunden zu erkennen und so die Sicherheit der Fahrgäste zu gewährleisten.
-
Intelligente Landwirtschaft: Drohnen mit multispektralen Kameras verwenden quantisierte Modelle zur Objekterkennung, um Pflanzenkrankheiten zu erkennen oder Wachstumsphasen zu überwachen. Durch die lokale Ausführung dieser Modelle auf den eingebetteten Systemen der Drohne sind unzuverlässige Mobilfunkverbindungen in abgelegenen Feldern nicht erforderlich.
Quantisierung mit Ultralytics implementieren#
Die Ultralytics-Bibliothek vereinfacht den Exportprozess und ermöglicht es Entwicklern, Modelle wie das hochmoderne YOLO26 in quantisierte Formate umzuwandeln. Die Ultralytics Platform bietet außerdem Werkzeuge zur nahtlosen Verwaltung dieser Bereitstellungen.
Das folgende Beispiel zeigt, wie ein Modell mit aktivierter INT8-Quantisierung in TFLite exportiert wird. Dieser Prozess umfasst einen Kalibrierungsschritt, bei dem das Modell Beispieldaten analysiert, um den optimalen dynamischen Wertebereich für die quantisierten Werte zu bestimmen.
from ultralytics import YOLO
# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")Optimierte Modelle werden häufig mithilfe interoperabler Standards wie ONNX oder leistungsstarker Inferenz-Engines wie OpenVINO bereitgestellt, wodurch eine breite Kompatibilität mit verschiedenen Hardware-Ökosystemen gewährleistet wird.









