Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Quantization-Aware Training (QAT)

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.

Wie QAT funktioniert

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.

Unterschied zur Post-Training-Quantisierung

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:

  • Quantisierung nach dem Training (Post-Training Quantization, PTQ): Wird angewendet, nachdem das Modell vollständig trainiert worden ist. Es analysiert einen kleinen Kalibrierungsdatensatz, um Fließkommawerte auf Ganzzahlen abzubilden. PTQ ist zwar schnell und einfach zu implementieren, kann aber manchmal zu einer erheblichen Verschlechterung der Genauigkeit bei empfindlichen Modellen führen.
  • Quantisierungsorientiertes Training (QAT): Integriert die Quantisierung in den Trainings- oder Feinabstimmungsprozess. Es ist rechenintensiver rechenintensiver als PTQ, bietet aber in der Regel eine höhere Genauigkeit und ist daher die bevorzugte Wahl für den Einsatz von modernste Modelle wie Ultralytics YOLO11 in unternehmenskritischen Szenarien.

Anwendungsfälle in der Praxis

QAT ist unerlässlich für Branchen, in denen Inferenzlatenz und Stromverbrauch kritische kritische Faktoren sind.

  1. Autonomes Fahren: Fahrzeuge verlassen sich auf Computer Vision für Aufgaben wie Fußgänger Fußgängererkennung und Fahrspurverfolgung. Diese Systeme laufen oft auf spezieller Hardware wie NVIDIA Jetson-Module. QAT stellt sicher, dass die Modelle genau genug für die Sicherheit und gleichzeitig schnell genug für die Entscheidungsfindung in Echtzeit sind.
  2. Mobile Gesundheitsfürsorge: Handheld-Diagnosegeräte verwenden häufig Bildklassifizierung zur Analyse medizinischer Scans. Mit QAT können Entwickler robuste KI-Modelle auf mobilen Prozessoren einsetzen, wie z. B. Qualcomm Snapdragon-Chips, einsetzen und so fortschrittliche Diagnosen, ohne den Akku des Geräts zu belasten.

Implementierung der Quantisierung mit Ultralytics

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)

Integration mit anderen Optimierungsmethoden

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.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten