Glossar

Quantisierungsorientiertes Training (QAT)

Optimiere KI-Modelle für Edge-Geräte mit Quantization-Aware Training (QAT), um hohe Genauigkeit und Effizienz in ressourcenbeschränkten Umgebungen zu gewährleisten.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Quantization-Aware Training (QAT) ist eine leistungsstarke Technik zur Optimierung von Deep-Learning-Modellen (DL), wie Ultralytics YOLO Modelle, für den Einsatz auf Geräten mit begrenzten Rechenressourcen, wie z. B. Mobiltelefonen oder eingebetteten Systemen. Standardmodelle verwenden oft hochpräzise Zahlen (z. B. 32-Bit-Gleitkommazahlen oder FP32) für Berechnungen, die viel Rechenleistung und Speicher benötigen. QAT zielt darauf ab, diesen Bedarf zu verringern, indem das Modell während der Trainingsphase so vorbereitet wird, dass es auch bei der Verwendung von Zahlen mit geringerer Genauigkeit (z. B. 8-Bit-Ganzzahlen oder INT8) gute Leistungen erbringt und so die Lücke zwischen hoher Genauigkeit und effizienter Leistung auf Edge-Geräten schließt. Diese Optimierung ist entscheidend, um komplexe KI-Aufgaben direkt auf Hardware wie Smartphones oder IoT-Sensoren zu ermöglichen.

So funktioniert quantisierungsorientiertes Training

Im Gegensatz zu Methoden, die ein Modell quantisieren , nachdem es vollständig trainiert wurde, integriert QAT die Simulation von Quantisierungseffekten direkt in den Trainingsprozess. Es führt während des Trainings Operationen in die Modellarchitektur ein, die als "Fake-Quantisierungsknoten" bezeichnet werden. Diese Knoten imitieren die Auswirkungen einer geringeren Genauigkeit (z. B. INT8) auf die Modellgewichte und -aktivierungen während des Vorwärtsdurchlaufs, indem sie die Werte so runden, wie sie es in einem wirklich quantisierten Modell tun würden. Während des Backward-Passes (bei dem das Modell über Backpropagation lernt) werden die Gradienten jedoch in der Regel mit hochpräzisen Fließkommazahlen berechnet und aktualisiert. So können sich die Parameter des Modells anpassen und lernen, robust gegenüber dem Präzisionsverlust zu sein, der bei der eigentlichen quantisierten Inferenz auftritt. Indem das Modell die Auswirkungen der Quantisierung während des Trainings "sieht", minimiert es den Genauigkeitsverlust, der häufig mit dem Einsatz von Modellen in Formaten mit geringer Genauigkeit einhergeht. Frameworks wie TensorFlow Lite und PyTorch bieten Werkzeuge zur Implementierung von QAT.

Abgrenzung zu verwandten Konzepten

QAT vs. Modellquantisierung (Post-Training)

Der Hauptunterschied liegt darin, wann die Quantisierung angewendet wird. Bei der Modellquantisierung, die oft auch als Post-Training-Quantisierung (PTQ) bezeichnet wird, wird ein bereits trainiertes Modell mit voller Genauigkeit in ein Format mit geringerer Genauigkeit umgewandelt, nachdem das Training abgeschlossen ist. Die PTQ ist in der Regel einfacher zu implementieren, da sie kein neues Training und keinen Zugriff auf den ursprünglichen Trainingsdatensatz erfordert. Allerdings kann es manchmal zu einer spürbaren Verringerung der Modellgenauigkeit führen, vor allem bei komplexen Modellen, die Aufgaben wie Objekterkennung oder Bildsegmentierung durchführen. QAT hingegen simuliert die Quantisierung während des Trainings und macht das Modell von Natur aus robuster gegenüber einer Verringerung der Genauigkeit. Dies führt oft zu einer höheren Genauigkeit des endgültigen quantisierten Modells im Vergleich zu PTQ, obwohl es mehr Rechenressourcen und Zugang zu Trainingsdaten erfordert. Bei Modellen wie YOLO, das quantisierungsfreundliche Blöcke enthält, kann QAT erhebliche Leistungsvorteile bei minimalem Genauigkeitsverlust bringen.

QAT vs. Gemischte Präzision

Bei beiden Techniken geht es zwar um numerische Präzision, aber sie verfolgen unterschiedliche Ziele. Das Mixed-Precision-Training zielt in erster Linie darauf ab, den Trainingsprozess selbst zu beschleunigen und die Speichernutzung während des Trainings zu reduzieren, indem eine Kombination aus Formaten mit geringerer Genauigkeit (z. B. 16-Bit-Float oder FP16) und Standardpräzision (32-Bit-Float) für Berechnungen und Speicherung verwendet wird. QAT konzentriert sich speziell auf die Optimierung des Modells für eine effiziente Inferenz unter Verwendung von Integer-Formaten mit geringer Genauigkeit (wie INT8) nach der Modellentwicklung. Während gemischte Präzision beim Training hilfreich ist, stellt QAT sicher, dass das endgültige Modell auch unter den Einschränkungen quantisierter Inferenz-Hardware, wie NPUs (Neural Processing Units) oder TPUs, gut funktioniert.

Anwendungen von QAT in der realen Welt

Quantisierungssensitives Training ist entscheidend für den Einsatz anspruchsvoller KI-Modelle in ressourcenbeschränkten Umgebungen, in denen Effizienz entscheidend ist.

  1. On-Device Computer Vision: Die Ausführung komplexer Computer Vision Modelle wie Ultralytics YOLOv8 direkt auf Smartphones für Anwendungen wie die Echtzeit-Objekterkennung in Augmented-Reality-Apps oder die Bildklassifizierung in Fotoverwaltungstools. QAT ermöglicht die effiziente Ausführung dieser Modelle ohne nennenswerten Batterieverbrauch oder Latenzzeiten.
  2. Edge AI in der Automobilindustrie und Robotik: Einsatz von Modellen für Aufgaben wie Fußgängererkennung oder Spurhalteassistent in autonomen Fahrzeugen oder zur Objektmanipulation in der Robotik. QAT ermöglicht es, diese Modelle auf spezieller Hardware wie Google Edge TPUs oder NVIDIA Jetson laufen zu lassen und so eine niedrige Inferenzlatenz für wichtige Echtzeitentscheidungen zu gewährleisten. Dies ist entscheidend für Anwendungen wie Sicherheitsalarmsysteme oder Parkraummanagement.

Ultralytics unterstützt den Export von Modellen in verschiedene Formate wie ONNX, TensorRTund TFLite, die mit QAT-Workflows kompatibel sind und einen effizienten Einsatz auf unterschiedlicher Hardware ermöglichen. Du kannst deine QAT-optimierten Modelle mit Plattformen wie Ultralytics HUB verwalten und einsetzen. Um sicherzustellen, dass die Genauigkeitsanforderungen erfüllt werden, ist es wichtig, die Leistung des Modells nach QAT anhand relevanter Kennzahlen zu bewerten.

Alles lesen