TensorFlow-Modelloptimierung

Das TensorFlow Model Optimization Toolkit minimiert die Komplexität der Optimierung von Machine-Learning-Inferenz.

Die Inferenzeffizienz ist aufgrund der Latenz, der Speicherauslastung und in vielen Fällen des Stromverbrauchs ein kritischer Punkt bei der Bereitstellung von Modellen für maschinelles Lernen. Insbesondere auf Edge-Geräten wie Mobilgeräten und dem Internet der Dinge (IoT) werden die Ressourcen weiter eingeschränkt und die Modellgröße und die Effizienz der Berechnung werden zu einem wichtigen Problem.

Der rechnerische Bedarf an Training wächst mit der Anzahl der Modelle, die auf unterschiedlichen Architekturen trainiert werden, während der rechnerische Bedarf an Inferenz proportional zur Anzahl der Benutzer wächst.

Anwendungsfälle

Die Modelloptimierung ist unter anderem nützlich für:

  • Reduzierung von Latenz und Kosten für Inferenz sowohl für Cloud- als auch Edge-Geräte (z. B. Mobilgeräte, IoT).
  • Bereitstellung von Modellen auf Edge-Geräten mit Einschränkungen bei Verarbeitung, Speicher und/oder Stromverbrauch.
  • Reduzierung der Nutzlastgröße für Over-the-Air-Modellaktualisierungen.
  • Aktivieren der Ausführung auf Hardware, die auf Festkommaoperationen beschränkt oder optimiert ist.
  • Optimieren von Modellen für spezielle Hardwarebeschleuniger.

Optimierungstechniken

Der Bereich der Modelloptimierung kann verschiedene Techniken beinhalten:

  • Reduzieren Sie die Parameteranzahl mit Pruning und strukturiertem Pruning.
  • Reduzieren Sie die Darstellungsgenauigkeit durch Quantisierung.
  • Aktualisieren Sie die ursprüngliche Modelltopologie auf eine effizientere mit reduzierten Parametern oder schnellerer Ausführung. Zum Beispiel Tensorzersetzungsmethoden und Destillation

Unser Toolkit unterstützt nach dem Training Quantisierung , Quantisierung bewusst Ausbildung , Beschneiden und Clustering . Das Toolkit bietet auch experimentelle Unterstützung für die kollaborative Optimierung , um verschiedene Techniken zu kombinieren.

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 Genauigkeit ist eine Voraussetzung, um bestimmte Hardware zu nutzen.

Sparsamkeit und Beschneidung

Sparse-Modelle sind solche, bei denen Verbindungen zwischen Operatoren (dh neuronalen Netzwerkschichten) beschnitten wurden, wodurch Nullen in die Parametertensoren eingeführt wurden.

Clustering

Geclusterte Modelle sind solche, bei denen die Parameter des ursprünglichen Modells durch eine kleinere Anzahl eindeutiger Werte ersetzt werden.

Kollaborative Optimierung

Das Toolkit bietet experimentelle Unterstützung für die kollaborative Optimierung. Auf diese Weise können Sie von der Kombination mehrerer Modellkomprimierungstechniken profitieren und gleichzeitig eine verbesserte Genauigkeit durch quantisierungsbewusstes Training erreichen.