Optimieren Sie KI-Modelle für Edge-Geräte mit Quantization-Aware Training (QAT), um hohe Genauigkeit und Effizienz in ressourcenbeschränkten Umgebungen zu gewährleisten.
Quantisierungsbewusstes Training (QAT) ist eine hochentwickelte Modelloptimierungstechnik entwickelt, um neuronale Netze für den Einsatz Einsatz auf Hardware mit begrenzten Rechenressourcen vorzubereiten. Während Standard Deep-Learning-Modelle normalerweise Daten mit hochpräzisen 32-Bit-Gleitkommazahlen (FP32) verarbeiten, benötigen viele KI-Geräte eine geringere Präzision, wie z. B. 8-Bit Ganzzahlen (INT8), um Speicher und Energie zu sparen. QAT behebt den Genauigkeitsverlust, der oft durch diese Konvertierung verursacht wird, indem es durch die Simulation der Auswirkungen der Quantisierung während der Trainingsphase selbst simuliert. Dieser proaktive Ansatz ermöglicht es dem Modell seine Gewichte anpassen, um den Präzisionsverlust auszugleichen Das Ergebnis sind hocheffiziente Modelle, die ihre Vorhersageleistung beibehalten.
Der Kernmechanismus des quantisierungssensitiven Trainings besteht darin, während des Trainings "falsche" Quantisierungsknoten in die Architektur des Modells während des Trainings. Diese Knoten modellieren die Rundungs- und Klemmfehler, die bei der Umwandlung von FP32-Werte in INT8 auftreten. Während des Vorwärtsdurchlaufs arbeitet das Modell so, als ob es quantisiert wäre, während der Rückwärtsdurchlauf Durchgang - unter Verwendung von Backpropagation -die Gewichte mit Gewichte mit hoher Präzision aktualisiert, um die simulierten Fehler auszugleichen.
Dieser Prozess dient im Wesentlichen der Feinabstimmung des Modells, damit es gegen das Rauschen, das durch die geringere Präzision entsteht, robust ist. Die wichtigsten Frameworks wie PyTorch und TensorFlow bieten spezialisierte APIs, um diesen Arbeitsablauf zu erleichtern. Durch die frühe Integration dieser Einschränkungen ist das endgültige exportierte Modell viel besser auf die Fähigkeiten der Zielhardware abgestimmt, wie sie in eingebetteten Systemen.
Es ist wichtig, QAT zu unterscheiden von Post-Training-Quantisierung (PTQ) zu unterscheiden, da sie ähnlichen Zielen dienen, sich aber in der Ausführung unterscheiden:
QAT ist unerlässlich für Branchen, in denen Inferenzlatenz und Stromverbrauch kritische kritische Faktoren sind.
Während vollständige QAT-Pipelines oft spezifische Trainingskonfigurationen beinhalten, ist die ultralytics Bibliothek
rationalisiert den Exportprozess, um quantisierte Modelle für den Einsatz zu erzeugen. Das folgende Beispiel demonstriert
wie man ein YOLO11 nach TFLite Format mit INT8-Quantisierung,
Vorbereitung auf eine effiziente Ausführung an der Kante.
from ultralytics import YOLO
# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")
# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)
Um maximale Effizienz zu erreichen, wird QAT häufig mit anderen Modellbereitstellungstechniken kombiniert. Das Modell Pruning entfernt redundante Verbindungen vor der Quantisierung, was die Größe weiter reduziert. Zusätzlich Wissensdestillation verwendet werden, um ein ein kompaktes Studentenmodell zu trainieren, das dann mit QAT verfeinert wird. Die endgültigen quantisierten Modelle sind kompatibel mit Hochleistungs-Laufzeiten wie ONNX Runtime und OpenVINOund gewährleisten eine breite Kompatibilität über verschiedenen Hardware-Plattformen von Intel bis Google Coral.