Erfahren Sie, wie Quantization-Aware Training (QAT) Ultralytics für den Einsatz am Netzwerkrand optimiert. Entdecken Sie, wie Sie mit INT8-Genauigkeit eine hohe Präzision aufrechterhalten können.
Quantization-Aware Training (QAT) ist eine spezielle Technik, die während der Trainingsphase von Machine-Learning-Modellen eingesetzt wird, um sie auf Umgebungen mit geringerer Präzision vorzubereiten. In Standard-Deep-Learning-Workflows arbeiten Modelle in der Regel mit hochpräzisen 32-Bit-Gleitkommazahlen (FP32). Diese Präzision bietet zwar eine hervorragende Genauigkeit, kann jedoch rechenintensiv und speicherintensiv sein, insbesondere auf Edge-Geräten. QAT simuliert die Auswirkungen der Quantisierung – die Reduzierung der Genauigkeit auf Formate wie 8-Bit-Ganzzahlen (INT8) – während das Modell noch trainiert wird. Durch die Einführung dieser Quantisierungsfehler während des Lernprozesses lernt das Modell, seine Gewichte anzupassen und die Genauigkeit, die sonst bei der Konvertierung nach dem Training verloren gehen könnte, effektiv wiederherzustellen.
Der Einsatz von Computervisionsmodellen auf Geräten mit begrenzten Ressourcen erfordert oft einen Kompromiss zwischen Geschwindigkeit und Leistung. Bei Standardquantisierungsmethoden, die als Post-Training Quantization (PTQ) bezeichnet werden, wird die Präzision erst nach Abschluss des Trainings des Modells reduziert. PTQ ist zwar schnell, kann jedoch manchmal die Genauigkeit sensibler Modelle beeinträchtigen, da die Gewichtungen des neuronalen Netzwerks erheblich verändert werden , ohne dass eine Anpassung möglich ist.
QAT löst dieses Problem, indem es dem Modell ermöglicht, das Quantisieren zu „üben“. Während des Vorwärtsdurchlaufs des Trainings werden die Gewichte und Aktivierungen als Werte mit geringer Genauigkeit simuliert. Dadurch kann der Gradientenabstiegsprozess die Modellparameter so aktualisieren, dass der Verlust speziell für den quantisierten Zustand minimiert wird. Das Ergebnis ist ein robustes Modell, das auch bei der Bereitstellung auf Hardware wie Mikrocontrollern oder mobilen Prozessoren eine hohe Genauigkeit beibehält.
Es ist hilfreich, QAT von der Modellquantisierung, insbesondere der Post-Training Quantization (PTQ), zu unterscheiden:
QAT ist unverzichtbar für Branchen, in denen Echtzeit-Inferenz auf Edge-Hardware entscheidend ist.
Die Ultralytics und das YOLO unterstützen den Export von Modellen in quantisierte Formate. Während QAT ein komplexes Trainingsverfahren ist, erleichtern moderne Frameworks die Vorbereitung von Modellen für die quantisierte Inferenz.
Nachfolgend finden Sie ein Beispiel dafür, wie Sie ein trainiertes YOLO26-Modell in ein INT8-quantisiertes TFLite exportieren können, das die Prinzipien der Quantisierung für eine effiziente Edge-Bereitstellung nutzt.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
Über Quantisierungstechniken optimierte Modelle sind für die Ausführung auf spezialisierten Inferenz-Engines ausgelegt. Mit QAT trainierte Modelle werden häufig mit ONNX für plattformübergreifende Kompatibilität oder OpenVINO zur Optimierung auf Intel eingesetzt. Dadurch wird sichergestellt, dass das Modell unabhängig davon, ob es sich bei dem Ziel um einen Raspberry Pi oder eine dedizierte TPU handelt, mit der höchstmöglichen Effizienz und Geschwindigkeit arbeitet.
Um QAT vollständig zu verstehen, ist es hilfreich, mit einigen verwandten Konzepten des maschinellen Lernens vertraut zu sein:
Durch die Integration von quantisierungsbewusstem Training in die MLOps-Pipeline können Entwickler die Lücke zwischen hochpräzisen Forschungsmodellen und hocheffizienten, produktionsreifen Edge-KI-Anwendungen schließen.