Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Kwantyzacji świadomy trening

Utrzymywany przez TensorFlow model optymalizacyjny

Istnieją dwie formy kwantyzacji: post-szkoleniowym kwantyzacji i kwantyzacji świadomego treningu. Start z post-szkoleniowym kwantyzacji ponieważ jest łatwiejszy w użyciu, choć kwantyzacji świadomy trening jest często lepsze pod względem dokładności modelu.

Ta strona zawiera przegląd kwantyzacji świadomego szkolenia, które pomogą Ci określić, jak to pasuje do Twojego przypadku użycia.

Przegląd

Kwantyzacji świadomy trening emuluje wnioskowanie czasie kwantyzacji, tworząc model, który będzie używał narzędzi dalsi produkować faktycznie kwantowane modeli. Skwantowane modele wykorzystują niższe precyzji (np 8-bitową zamiast 32-bitowej float), co prowadzi do świadczeń w trakcie wdrożenia.

Deploy z kwantyzacji

Kwantyzacji przynosi poprawę poprzez ściskanie modelu i redukcję opóźnień. Przy domyślnych API do psychiatrów size model, 4X, a my zazwyczaj zobaczyć między 1,5 - 4x poprawę latencji CPU w testowanym backendów. Ostatecznie latencji ulepszenia widać na kompatybilnych akceleratorów uczenia maszynowego, takich jak EdgeTPU i NNAPI.

Technika ta jest stosowana w produkcji mowy, wzroku, tekst i tłumaczyć przypadki użycia. Kod aktualnie obsługuje podzbiór tych modeli .

Eksperyment z kwantyzacji i związanych z tym sprzętem

Użytkownicy mogą konfigurować parametrów kwantyzacji (np ilość bitów) i do pewnego stopnia, algorytmy bazowe. Z tymi zmianami z domyślnych API, nie ma obsługiwany drogę do wdrożenia.

API specyficznych dla tej konfiguracji jest eksperymentalna i nie podlega kompatybilności wstecznej.

zgodność API

Użytkownicy mogą zastosować kwantyzacji z następujących interfejsów API:

  • Model budynku: tf.keras z tylko sekwencyjną i modeli funkcjonalnych.
  • TensorFlow wersje: TF 2.x dla tf-nocnej.
  • Tryb wykonanie TensorFlow: chętny wykonanie

Jest na naszej mapy drogowej, aby dodać wsparcie w następujących obszarach:

  • Model budynku: wyjaśnić jak podklasy modele mają ograniczony do żadnego wsparcia
  • Ukazuje się szkolenie: tf.distribute

Ogólne wsparcie macierzy

Pomoc jest dostępna w następujących obszarach:

  • Pokrycie Model: modele wykorzystujące białej liście warstw , BatchNormalization gdy wynika Conv2D i DepthwiseConv2D warstw, w ograniczonej liczbie przypadków, Concat .
  • Przyspieszanie sprzętowe: nasze domyślne API są kompatybilne z przyspieszeniem na EdgeTPU, NNAPI i backendów TFLite, między innymi. Patrz zastrzeżenie w harmonogramie.
  • Wdrożyć w kwantyzacji: kwantyzacji wyłącznie za osią dla splotowych warstwy nie kwantyzacji per tensora jest obecnie obsługiwana.

Jest na naszej mapy drogowej, aby dodać wsparcie w następujących obszarach:

  • Model zasięg: poszerzona RNN / LSTMs i ogólne wsparcie Concat.
  • Przyspieszanie sprzętowe: zapewnienie konwertera TFLite może produkować modele pełnej całkowite. Zobacz ten problem szczegóły.
  • Eksperymentować z przypadków użycia kwantyzacji:
    • Eksperymentowania z algorytmami kwantyzacji że warstwy rozpiętość Keras lub wymagają etapu szkolenia.
    • Ustabilizować API.

wyniki

Klasyfikacja obraz z narzędziami

Model Non-krokowe Top-1 Dokładność 8-bitowy skwantowanych Dokładność
MobilenetV1 224 71,03% 71,06%
Resnet v1 50 76,3% 76,1%
MobilenetV2 224 70,77% 70,01%

Modele były testowane na IMAGEnet i ocenione zarówno TensorFlow i TFLite.

Klasyfikacja obraz w technice

Model Non-krokowe Top-1 Dokładność 8 bitów skwantowanych Dokładność
Nasnet-Mobile 74% 73%
Resnet-V2 50 75,6% 75%

Modele były testowane na IMAGEnet i ocenione zarówno TensorFlow i TFLite.

Przykłady

Oprócz przykład kwantyzacji świadomy szkolenia , patrz poniższe przykłady:

  • CNN modelu na MNIST odręcznym zadania klasyfikacji cyfra z kwantyzacji: code

Na tle na coś podobnego, zobacz kwantyzacji i szkolenia sieci neuronowych do Efficient Integer-arytmetyczno-Only Inference papieru . Dokument ten wprowadza pewne pojęcia, że ​​to narzędzie zastosowań. Realizacja nie jest dokładnie taka sama, a istnieją dodatkowe pojęcia stosowane w tego narzędzia (np za oś kwantyzacji).