Das TensorFlow Model Optimization Toolkit minimiert die Komplexität der Optimierung der Inferenz des maschinellen Lernens.
Die Inferenz-Effizienz ist aufgrund der Latenz, der Speichernutzung und in vielen Fällen des Stromverbrauchs ein kritisches Anliegen bei der Bereitstellung von Modellen für maschinelles Lernen. Insbesondere bei Edge-Geräten wie Mobilgeräten und dem Internet der Dinge (IoT) sind die Ressourcen weiter eingeschränkt, und die Modellgröße und die Effizienz der Berechnung werden zu einem Hauptanliegen.
Der rechnergestützte Schulungsbedarf wächst mit der Anzahl der Modelle, die auf verschiedenen Architekturen trainiert wurden, während der rechnergestützte Bedarf an Inferenz proportional zur Anzahl der Benutzer wächst.
Anwendungsfälle
Die Modelloptimierung ist unter anderem nützlich für:
- Reduzierung der Latenz und der Inferenzkosten für Cloud- und Edge-Geräte (z. B. Mobile, IoT).
- Bereitstellen von Modellen auf Edge-Geräten mit Einschränkungen in Bezug auf Verarbeitung, Speicher und / oder Stromverbrauch.
- Reduzierung der Nutzlastgröße für drahtlose Modellaktualisierungen.
- Aktivieren der Ausführung auf Hardware, die auf Festkommaoperationen beschränkt oder für diese optimiert ist.
- Optimierung von Modellen für spezielle Hardwarebeschleuniger.
Optimierungstechniken
Der Bereich der Modelloptimierung kann verschiedene Techniken umfassen:
- Reduzieren Sie die Anzahl der Parameter durch Beschneiden und strukturiertes Beschneiden.
- Reduzieren Sie die Darstellungsgenauigkeit durch Quantisierung.
- Aktualisieren Sie die ursprüngliche Modelltopologie auf eine effizientere mit reduzierten Parametern oder schnellerer Ausführung. Zum Beispiel Tensorzersetzungsverfahren und Destillation
Unser Toolkit unterstützt nach dem Training Quantisierung , Quantisierung bewusst Ausbildung , Beschneiden und Clustering .
Quantisierung
Quantisierte Modelle sind solche, bei denen wir die Modelle mit geringerer Genauigkeit darstellen, z. B. 8-Bit-Ganzzahlen im Gegensatz zu 32-Bit-Float. Eine geringere Präzision ist erforderlich, um bestimmte Hardware zu nutzen.
Sparsamkeit und Beschneiden
Bei spärlichen Modellen wurden Verbindungen zwischen Operatoren (dh neuronalen Netzwerkschichten) gekürzt, wodurch den Parametertensoren Nullen hinzugefügt wurden.
Clustering
Clustermodelle sind solche, bei denen die Parameter des Originalmodells durch eine geringere Anzahl eindeutiger Werte ersetzt werden.