Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Quantisierungs bewusst Ausbildung

Verwaltet von TensorFlow Modelloptimierung

Es gibt zwei Formen der Quantisierung: nach dem Training Quantisierung und Quantisierung bewusst Ausbildung. Beginnen Sie mit nach dem Training Quantisierung , da es die Verwendung einfacher ist, wenn die Quantisierung bewusst Ausbildung ist oft besser für Modellgenauigkeit.

Diese Seite gibt einen Überblick über die Quantisierung bewusst Training um zu ermitteln, wie es mit Ihrem Anwendungsfall paßt.

Überblick

Quantisierung bewusst Ausbildung emuliert Inferenz-Zeitquantisierung, ein Modell zu schaffen, dass Downstream-Tools tatsächlich quantisiert Modelle zu produzieren verwenden. Die quantisierten Modelle verwenden niedrige Genauigkeit (zB 8-Bit anstelle von 32-Bit-float), um Vorteile bei der Bereitstellung führt.

Bereitstellen von mit Quantisierungs

Quantisierung bringt Verbesserungen durch Modell Kompression und Latenzreduktion. Mit den API Standardwerten, die Modellgröße schrumpft von 4x, und wir in der Regel sehen zwischen 1,5 - 4x Verbesserungen in CPU-Latenz in dem getesteten Backends. Schließlich kann Latenz Verbesserungen auf das Lernen kompatible Maschine Beschleuniger zu sehen ist, wie die EdgeTPU und NNAPI.

Die Technik wird in der Produktion in Sprechen, Sehen, Text, verwendet und Anwendungsfälle übersetzen. Der Code unterstützt derzeit eine Teilmenge dieser Modelle .

Experimentieren Sie mit Quantisierung und zugehöriger Hardware

Die Benutzer können die Quantisierungsparameter (zB Anzahl der Bits) und bis zu einem gewissen Grad, die zugrunde liegenden Algorithmen konfigurieren. Mit diesen Änderungen aus den API Standardwerten, wird es keinen Weg zum Einsatz unterstützt.

APIs, die für diese Konfiguration sind experimentelle und unterliegt nicht der Rückwärtskompatibilität.

API-Kompatibilität

Benutzer können Quantisierung mit den folgenden APIs gelten:

  • Modellbau: tf.keras mit nur Sequential und Funktionsmodelle.
  • TensorFlow Versionen: TF 2.x für tf-Nacht.
  • TensorFlow Ausführungsmodus: eifrig Ausführung

Es ist auf unserer Roadmap Unterstützung in den folgenden Bereichen hinzuzufügen:

  • Modellbau: klären, wie Unterklasse Modelle auf keine Unterstützung eingeschränkt haben
  • Verteilte Ausbildung: tf.distribute

Allgemeine Support-Matrix

Support ist in den folgenden Bereichen zur Verfügung:

  • Modellabdeckung: Modelle mit dem weißen Liste Schichten , BatchNormalization wenn es Conv2D und DepthwiseConv2D Schichten folgt, und in begrenzten Fällen, Concat .
  • Hardware-Beschleunigung: unsere API Standardwerte sind kompatibel mit einer Beschleunigung auf EdgeTPU, NNAPI und TFLite Backends, unter anderem. Siehe die Einschränkung in der Roadmap.
  • Bereitstellen von mit Quantisierung: nur pro Achse Quantisierung für Faltungsschichten, nicht pro-Tensor Quantisierung, werden derzeit nicht unterstützt.

Es ist auf unserer Roadmap Unterstützung in den folgenden Bereichen hinzuzufügen:

  • Modellabdeckung: ausgedehnt sind RNN / LSTMs und allgemeine Concat Unterstützung.
  • Hardware-Beschleunigung: Gewährleistung der TFLite Konverter kann Voll ganzzahlige Modelle produzieren. Sehen Sie dieses Problem für weitere Einzelheiten.
  • Experimentieren Sie mit Quantisierung Anwendungsfälle:
    • Experimentieren Sie mit Quantisierung Algorithmen, die Spanne Keras Schichten oder erfordern den Trainingsschritt.
    • Stabilisiert APIs.

Ergebnisse

Bildklassifizierung mit Werkzeugen

Modell Nicht-quantisiert Top-1 Genauigkeit 8-Bit-Genauigkeit quantisiert
MobilenetV1 224 71.03% 71.06%
RESNET v1 50 76,3% 76,1%
MobilenetV2 224 70.77% 70.01%

Die Modelle wurden auf IMAGEnet getestet und sowohl TensorFlow und TFLite ausgewertet.

Bildklassifikation für Technik

Modell Nicht-quantisiert Top-1 Genauigkeit 8-Bit-Genauigkeit quantisiert
Nasnet-Mobile 74% 73%
RESNET-v2 50 75,6% 75%

Die Modelle wurden auf IMAGEnet getestet und sowohl TensorFlow und TFLite ausgewertet.

Beispiele

Neben der Quantisierung bewusst Trainingsbeispiel , siehe die folgenden Beispiele:

  • CNN - Modell auf der MNIST handgeschriebene Zeichenklassifizierung Aufgabe mit Quantisierung: Code

Hintergrundinformationen zu etwas ähnlichem finden Sie in die Quantisierung und die Ausbildung von neuronalen Netzen für effizientes Integer-Arithmetik-Only Inference Papier . Dieser Beitrag stellt einige Konzepte, die in diesem Tool verwendet. Die Umsetzung ist nicht genau das gleiche, und es gibt weitere Konzepte in diesem Werkzeug (zB per-Achse Quantisierung).