Quantization-Aware Training (QAT)
Lerne, wie Quantization-Aware Training (QAT) Ultralytics YOLO26-Modelle für die Edge-Bereitstellung optimiert. Entdecke, wie man hohe Genauigkeit mit INT8-Präzision beibehält.
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 standardmäßigen deep learning-Workflows arbeiten Modelle typischerweise mit hochpräzisen 32-Bit-Gleitkommazahlen (FP32). Während diese Präzision eine hervorragende Genauigkeit bietet, kann sie rechenintensiv und speicherhungrig sein, insbesondere auf Edge-Geräten. QAT simuliert die Effekte der Quantisierung – also die Reduzierung der Präzision 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 Verluste auszugleichen, die sonst bei einer Konvertierung nach dem Training auftreten könnten.
Warum QAT für den Edge-Einsatz wichtig ist#
Das Bereitstellen von computer vision models auf ressourcenbeschränkten Geräten erfordert häufig eine Balance zwischen Geschwindigkeit und Leistung. Standard-Quantisierungsmethoden, bekannt als Post-Training Quantization (PTQ), wenden die Präzisionsreduzierung erst an, nachdem das Modell vollständig trainiert ist. Zwar ist PTQ schnell, jedoch kann es bisweilen die Genauigkeit sensibler Modelle beeinträchtigen, da die Gewichte des neural network stark verändert werden, ohne dass sie sich anpassen können.
QAT löst dieses Problem, indem es dem Modell ermöglicht, die Quantisierung zu „üben“. Während des Forward-Passes beim Training werden Gewichte und Aktivierungen als Werte mit niedriger Präzision simuliert. Dies erlaubt es dem gradient descent-Prozess, die Modellparameter so zu aktualisieren, dass der Verlust speziell für den quantisierten Zustand minimiert wird. Das Ergebnis ist ein robustes Modell, das auch dann eine hohe Genauigkeit beibehält, wenn es auf Hardware wie microcontrollers oder Mobilprozessoren eingesetzt wird.
Unterscheidung von QAT und Post-Training Quantization (PTQ)#
Es ist hilfreich, QAT von der model quantization und insbesondere von der Post-Training Quantization (PTQ) zu unterscheiden:
- Post-Training Quantization (PTQ): Das Modell wird normal in FP32 trainiert. Nach Abschluss des Trainings werden die Gewichte in INT8 konvertiert. Dies ist schneller und erfordert kein erneutes Training, kann jedoch bei komplexen Architekturen zu einem höheren Genauigkeitsverlust führen.
- Quantization-Aware Training (QAT): Der Quantisierungsprozess wird während der Feinabstimmungsphase emuliert. Das Modell passt seine internen Parameter an, um mit dem durch die geringere Präzision eingebrachten Rauschen umzugehen, was typischerweise eine bessere accuracy als PTQ liefert.
Praxisanwendungen#
QAT ist essenziell für Branchen, in denen die Echtzeit-Inferenz auf Edge-Hardware entscheidend ist.
- Autonome Drohnen: Bei AI drone operations sind die Batterielebensdauer und die Rechenleistung an Bord stark eingeschränkt. Drohnen, die Modelle verwenden, die über QAT optimiert wurden, können Hindernisse erkennen oder Objekte mit hoher Präzision verfolgen und gleichzeitig INT8-Beschleuniger nutzen, was die Flugzeiten im Vergleich zu FP32-Modellen deutlich verlängert.
- Intelligente Einzelhandelskameras: Supermärkte nutzen computer vision in retail, um den Bestandsstatus im Regal zu überwachen oder Kassenbereiche zu verwalten. Diese Systeme laufen oft auf leistungsschwachen Edge-Gateways. QAT stellt sicher, dass die auf diesen Geräten laufenden object detection-Modelle die nötige Genauigkeit behalten, um ähnliche Produkte voneinander zu unterscheiden, ohne dass eine teure Cloud-Verbindung erforderlich ist.
Implementierung von QAT mit Ultralytics#
Die Ultralytics Platform und das YOLO-Ökosystem unterstützen das Exportieren von Modellen in quantisierte Formate. Obwohl QAT ein komplexes Trainingsverfahren ist, erleichtern moderne Frameworks die Vorbereitung von Modellen für die quantisierte Inferenz.
Unten sehen Sie ein Beispiel dafür, wie Sie ein trainiertes YOLO26-Modell in ein quantisiertes INT8-TFLite-Format exportieren können, welches 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)Integration mit Edge-Ökosystemen#
Modelle, die durch Quantisierungstechniken optimiert wurden, sind für die Ausführung auf spezialisierten Inferenz-Engines konzipiert. QAT-trainierte Modelle werden häufig mit ONNX Runtime für plattformübergreifende Kompatibilität oder mit OpenVINO zur Optimierung auf Intel-Hardware bereitgestellt. Dies stellt sicher, dass das Modell – ob auf einem Raspberry Pi oder einem dedizierten Edge TPU – mit höchstmöglicher Effizienz und Geschwindigkeit arbeitet.
Wichtige Konzepte rund um QAT#
Um QAT vollständig zu verstehen, hilft es, mit einigen verwandten Machine-Learning-Konzepten vertraut zu sein:
- Präzision: Bezeichnet den Detaillierungsgrad zur Darstellung von Zahlen. Half-precision (FP16) und INT8 sind gängige Ziele für die Quantisierung.
- Kalibrierung: Der Prozess zur Ermittlung des Bereichs dynamischer Aktivierungswerte (Min/Max), um Gleitkommazahlen effektiv auf Ganzzahlen abzubilden. Dies ist ein entscheidender Schritt beim deploying quantized YOLO models.
- Inferenzlatenz: Einer der Hauptvorteile von QAT ist die Reduzierung der inference latency, was schnellere Entscheidungen in Echtzeitsystemen ermöglicht.
- Feinabstimmung: QAT wird oft als fine-tuning-Schritt für ein bereits trainiertes Modell durchgeführt, anstatt es von Grund auf zu trainieren, wodurch Rechenressourcen eingespart werden.
Durch die Integration von Quantization-Aware Training in die MLOps-Pipeline können Entwickler die Lücke zwischen hochpräzisen Forschungsmodellen und hocheffizienten, produktionsbereiten Edge-KI-Anwendungen schließen.






