Model Quantization
Erfahre, wie Modell-Quantisierung Ultralytics YOLO26 für Edge AI optimiert. Entdecke, wie du Speicher reduzierst, die Latenz senkst und INT8-Modelle für eine schnellere Inferenz exportierst.
Die Modellquantisierung ist eine anspruchsvolle Technik zur Modelloptimierung, mit der sich die Rechen- und Speicheranforderungen für die Ausführung von Deep-Learning-Modellen reduzieren lassen. In herkömmlichen Trainingsabläufen speichern neuronale Netze Parameter (Gewichte und Biases) und Aktivierungskarten typischerweise mit 32-Bit-Gleitkommazahlen (FP32). Während diese hohe Präzision genaue Berechnungen während des Trainings gewährleistet, ist sie für die Inferenz oft unnötig. Die Quantisierung konvertiert diese Werte in Formate mit geringerer Präzision, wie etwa 16-Bit-Gleitkommazahlen (FP16) oder 8-Bit-Ganzzahlen (INT8), wodurch die Modellgröße effektiv verringert und die Ausführungsgeschwindigkeit beschleunigt wird, ohne die Genauigkeit signifikant zu beeinträchtigen.
Link to this sectionWarum Quantisierung wichtig ist#
Der Hauptgrund für die Quantisierung ist die Notwendigkeit, leistungsstarke KI auf ressourcenbeschränkter Hardware bereitzustellen. Da Computer Vision-Modelle wie YOLO26 immer komplexer werden, steigen auch ihre Rechenanforderungen. Die Quantisierung adressiert drei kritische Engpässe:
- Speicherbedarf: Durch die Reduzierung der Bitbreite von Gewichten (z. B. von 32-Bit auf 8-Bit) verringert sich der Speicherbedarf des Modells um bis das Vierfache. Dies ist entscheidend für mobile Apps, bei denen die Anwendungsgröße begrenzt ist.
- Inferenzlatenz: Operationen mit niedrigerer Präzision sind rechnerisch kostengünstiger. Moderne Prozessoren, insbesondere solche mit spezialisierten Neural Processing Units (NPUs), können INT8-Operationen wesentlich schneller ausführen als FP32, was die Inferenzlatenz erheblich reduziert.
- Stromverbrauch: Das Verschieben weniger Daten durch den Arbeitsspeicher und die Ausführung einfacherer arithmetischer Operationen verbrauchen weniger Energie, was die Akkulaufzeit bei tragbaren Geräten und autonomen Fahrzeugen verlängert.
Link to this sectionVergleich mit verwandten Konzepten#
Es ist wichtig, die Quantisierung von anderen Optimierungstechniken zu unterscheiden, da sie das Modell auf unterschiedliche Weise modifizieren:
- Quantisierung vs. Pruning: Während die Quantisierung die Dateigröße durch Verringerung der Bitbreite der Parameter reduziert, beinhaltet Model Pruning das vollständige Entfernen unnötiger Verbindungen (Gewichte), um ein spärliches (sparse) Netzwerk zu erstellen. Pruning verändert die Struktur des Modells, während die Quantisierung die Datendarstellung ändert.
- Quantisierung vs. Wissensdestillation: Wissensdestillation ist eine Trainingstechnik, bei der ein kleines „Schüler“-Modell lernt, ein großes „Lehrer“-Modell nachzuahmen. Die Quantisierung wird oft nach der Destillation auf das Schülermodell angewendet, um die Leistung bei Edge AI weiter zu steigern.
Link to this sectionPraxisanwendungen#
Die Quantisierung ermöglicht Computer Vision und KI in verschiedenen Branchen, in denen Effizienz von größter Bedeutung 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 bereitgestellt werden, ermöglichen es diesen Fahrzeugen, Fußgänger und Hindernisse mit Millisekunden-Latenz zu erkennen und so die Sicherheit der Passagiere zu gewährleisten.
-
Smart Agriculture: Drohnen, die mit multispektralen Kameras ausgestattet sind, verwenden quantisierte Objekterkennungs-Modelle, um Pflanzenkrankheiten zu identifizieren oder Wachstumsstadien zu überwachen. Da diese Modelle lokal auf den eingebetteten Systemen der Drohne ausgeführt werden, ist keine unzuverlässige Mobilfunkverbindung auf abgelegenen Feldern erforderlich.
Link to this sectionImplementierung der Quantisierung mit Ultralytics#
Die Ultralytics-Bibliothek vereinfacht den Exportprozess und ermöglicht es Entwicklern, Modelle wie das hochmoderne YOLO26 in quantisierte Formate zu konvertieren. Die Ultralytics Platform bietet zudem Tools, um diese Bereitstellungen nahtlos zu verwalten.
Das folgende Beispiel zeigt, wie ein Modell mit aktivierter INT8-Quantisierung nach TFLite exportiert wird. Dieser Prozess beinhaltet einen Kalibrierungsschritt, bei dem das Modell Beispieldaten beobachtet, um den optimalen Dynamikbereich 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 unter Verwendung interoperabler Standards wie ONNX oder leistungsstarker Inferenz-Engines wie OpenVINO bereitgestellt, was eine breite Kompatibilität über verschiedene Hardware-Ökosysteme hinweg gewährleistet.






