Glossar

Modell Quantisierung

Optimiere Deep Learning-Modelle mit Modellquantisierung. Reduziere die Größe, erhöhe die Geschwindigkeit und setze sie effizient auf Geräten mit begrenzten Ressourcen ein.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Modellquantisierung ist eine Technik, mit der Deep-Learning-Modelle optimiert werden können, indem die Genauigkeit der Zahlen, die zur Darstellung ihrer Parameter wie Gewichte und Aktivierungen verwendet werden, verringert wird. Deep Learning-Modelle verwenden in der Regel 32-Bit-Gleitkommazahlen (FP32). Durch Quantisierung werden diese in weniger genaue Typen wie 16-Bit-Gleitkommazahlen (FP16) oder 8-Bit-Ganzzahlen (INT8) umgewandelt. Diese geringere Genauigkeit führt zu einer kleineren Modellgröße, schnelleren Inferenzzeiten und geringerem Speicherbedarf, was besonders für den Einsatz auf Geräten mit begrenzten Ressourcen, wie z. B. Mobiltelefonen oder eingebetteten Systemen, von Vorteil ist.

Vorteile der Modellquantisierung

Die Modellquantisierung bietet mehrere Vorteile, die sie zu einer wertvollen Technik im Bereich des maschinellen Lernens machen. Einer der wichtigsten Vorteile ist die Verringerung der Modellgröße. Durch die Verwendung von Datentypen mit geringerer Genauigkeit wird die Gesamtgröße des Modells deutlich verringert. Das ist besonders nützlich für den Einsatz von Modellen auf Geräten mit begrenzter Speicherkapazität. Außerdem führen quantisierte Modelle oft zu schnelleren Schlussfolgerungen. Berechnungen mit geringerer Genauigkeit lassen sich in der Regel schneller durchführen, insbesondere auf Hardware, die solche Operationen von Haus aus unterstützt. Diese Beschleunigung ist entscheidend für Echtzeitanwendungen wie die Erkennung von Objekten und die Klassifizierung von Bildern. Ein weiterer wichtiger Vorteil ist die Verringerung der Speicherbandbreite. Kleinere Datentypen bedeuten, dass weniger Daten verschoben werden müssen, was Engpässe in speicherbegrenzten Umgebungen abmildern kann.

Arten der Modellquantisierung

Es gibt verschiedene Ansätze zur Modellquantisierung, jeder mit seinen eigenen Kompromissen. Die Post-Training-Quantisierung (PTQ) ist eine der einfachsten Methoden. Dabei werden die Gewichte und Aktivierungen eines bereits trainierten Modells quantisiert, ohne dass ein erneutes Training erforderlich ist. Die Post-Training-Quantisierung lässt sich in dynamische Bereichsquantisierung, Full-Integer-Quantisierung und Float16-Quantisierung unterteilen. Bei der dynamischen Bereichsquantisierung werden die Gewichte in Ganzzahlen quantisiert, die Aktivierungen bleiben jedoch im Fließkommaformat. Die Full-Integer-Quantisierung wandelt sowohl die Gewichte als auch die Aktivierungen in Ganzzahlen um, während die Float16-Quantisierung 16-Bit-Gleitkommazahlen verwendet. Eine andere Methode ist das quantisierungsbewusste Training (QAT), bei dem das Modell unter Berücksichtigung der Quantisierung trainiert wird. Das quantisierungsbewusste Training simuliert die Auswirkungen der Quantisierung während des Trainings und ermöglicht es dem Modell, sich anzupassen und möglicherweise eine höhere Genauigkeit im Vergleich zu PTQ zu erreichen.

Modellquantisierung vs. andere Optimierungstechniken

Die Modellquantisierung wird oft zusammen mit anderen Optimierungstechniken eingesetzt, um die besten Ergebnisse zu erzielen. Model Pruning ist eine weitere beliebte Methode, bei der weniger wichtige Verbindungen im neuronalen Netz entfernt werden, um die Anzahl der Parameter und Berechnungen zu reduzieren. Während die Modellquantisierung die Genauigkeit der Parameter reduziert, verringert das Modellpruning die Menge. Beide Techniken können kombiniert werden, um die Effizienz zu erhöhen. Das Training mit gemischter Genauigkeit ist eine weitere verwandte Technik, bei der sowohl 32-Bit- als auch 16-Bit-Gleitkommazahlen beim Training verwendet werden, um den Prozess zu beschleunigen und den Speicherbedarf zu reduzieren. Sie unterscheidet sich jedoch von der Quantisierung, da sie sich in erster Linie auf die Trainingsphase konzentriert und nicht auf die Optimierung des Modells für die Inferenz.

Anwendungen der Modellquantisierung in der realen Welt

Die Quantisierung von Modellen hat zahlreiche reale Anwendungsmöglichkeiten, insbesondere in Szenarien, in denen die Rechenressourcen begrenzt sind. So kann zum Beispiel der Einsatz von Ultralytics YOLO Modellen auf Endgeräten wie Smartphones oder Drohnen stark von der Quantisierung profitieren. Durch die Verringerung der Modellgröße und der Inferenzzeit ist es möglich, komplexe Bildverarbeitungsaufgaben in Echtzeit auf diesen Geräten auszuführen. Ein weiteres Beispiel ist die Automobilindustrie, wo selbstfahrende Autos eine schnelle Verarbeitung von Sensordaten benötigen, um schnelle Entscheidungen zu treffen. Quantisierte Modelle können helfen, die notwendige Geschwindigkeit und Effizienz für diese kritischen Anwendungen zu erreichen. Auch im Gesundheitswesen kann die Quantisierung von Modellen den Einsatz fortschrittlicher Diagnoseinstrumente auf tragbaren Geräten ermöglichen und so die Gesundheitsversorgung zugänglicher und effizienter machen.

Tools und Frameworks für die Modellquantisierung

Mehrere Tools und Frameworks unterstützen die Modellquantisierung, was es Entwicklern erleichtert, diese Technik zu implementieren. TensorFlow Lite bietet robuste Unterstützung für die Quantisierung nach dem Training und für quantisierungsfähiges Training, so dass die Nutzer ihre TensorFlow Modelle in optimierte Formate umwandeln können. PyTorch Lite bietet außerdem Quantisierungsfunktionen, einschließlich dynamischer und statischer Quantisierung, mit denen die Nutzer/innen die Modellgröße reduzieren und die Leistung verbessern können. ONNX Runtime ist ein weiteres leistungsstarkes Tool, das die Modellquantisierung unterstützt und die optimierte Ausführung von ONNX Modellen auf verschiedenen Hardwareplattformen ermöglicht. Diese Tools werden oft mit einer ausführlichen Dokumentation und Beispielen geliefert, die den Nutzern helfen, die Quantisierung effektiv in ihre Machine-Learning-Workflows zu integrieren.

Herausforderungen bei der Modellquantisierung

Obwohl die Modellquantisierung viele Vorteile bietet, bringt sie auch einige Herausforderungen mit sich. Eines der Hauptprobleme ist der mögliche Verlust an Genauigkeit. Die Verringerung der Genauigkeit von Gewichten und Aktivierungen kann zu einem Leistungsabfall des Modells führen, vor allem wenn sie nicht sorgfältig durchgeführt wird. Techniken wie quantisierungsorientiertes Training können dieses Problem abmildern, erfordern aber einen höheren Aufwand und mehr Rechenressourcen in der Trainingsphase. Eine weitere Herausforderung ist die Hardware-Unterstützung. Nicht alle Hardware-Plattformen unterstützen Berechnungen mit geringer Genauigkeit. Der Trend geht jedoch in Richtung einer größeren Unterstützung für quantisierte Modelle, wobei viele neuere Geräte und Chips für INT8- und FP16-Operationen optimiert sind. Entwicklerinnen und Entwickler müssen sich dieser Herausforderungen bewusst sein und die geeignete Quantisierungsmethode auf der Grundlage ihrer spezifischen Bedürfnisse und Einschränkungen auswählen. Weitere Informationen zur Optimierung von Modellen findest du in Techniken wie der Abstimmung von Hyperparametern und den Optionen zur Modellbereitstellung.

Alles lesen