Przycinanie niewielkich ciężarów

Ten dokument zawiera omówienie przycinania modelu, aby pomóc określić, jak pasuje on do przypadku użycia.

Przegląd

Przycinanie wag na podstawie wielkości stopniowo zeruje wagi modelu podczas procesu uczenia, aby uzyskać rzadkość modelu. Modele rzadkie są łatwiejsze do skompresowania i możemy pominąć zera podczas wnioskowania, aby poprawić opóźnienia.

Ta technika wprowadza ulepszenia poprzez kompresję modelu. W przyszłości wsparcie frameworka dla tej techniki zapewni poprawę opóźnień. Zaobserwowaliśmy nawet sześciokrotną poprawę kompresji modelu przy minimalnej utracie dokładności.

Technika ta jest oceniana w różnych zastosowaniach związanych z mową, takich jak rozpoznawanie mowy i zamiana tekstu na mowę, i była eksperymentowana w różnych modelach widzenia i tłumaczenia.

Macierz zgodności API

Użytkownicy mogą stosować przycinanie za pomocą następujących interfejsów API:

  • Budowa modelu: tf.keras tylko z modelami sekwencyjnymi i funkcjonalnymi
  • Wersje TensorFlow: TF 1.x dla wersji 1.14+ i 2.x.
    • tf.compat.v1 z pakietem TF 2.X i tf.compat.v2 z pakietem TF 1.X nie są obsługiwane.
  • Tryb wykonywania TensorFlow: zarówno wykres, jak i zachłanność
  • Rozproszone szkolenie: tf.distribute tylko z wykonaniem wykresu

Na naszej mapie drogowej znajduje się wsparcie w następujących obszarach:

Wyniki

Klasyfikacja obrazu

Model Non-sparse Top-1 Dokładność Losowa rzadka dokładność Losowa rzadkość Strukturalna rzadka dokładność Strukturalna rzadkość
PoczątekV3 78,1% 78,0% 50% 75,8% 2 na 4
76,1% 75%
74,6% 87,5%
Sieć komórkowaV1 224 71,04% 70,84% 50% 67,35% 2 na 4
MobilenetV2 224 71,77% 69,64% 50% 66,75% 2 na 4

Modele zostały przetestowane na Imagenet.

Tłumaczenie

Model Nierzadki BLEU Rzadki BLEU Rzadkość
GNMT EN-DE 26,77 26,86 80%
26,52 85%
26.19 90%
GNMT DE-EN 29.47 29,50 80%
29.24 85%
28,81 90%

Modele wykorzystują niemiecki i angielski zestaw danych WMT16 z news-test2013 jako zestawem deweloperskim i news-test2015 jako zestawem testowym.

Model wyszukiwania słów kluczowych

DS-CNN-L to model wykrywania słów kluczowych stworzony dla urządzeń brzegowych. Można go znaleźć w repozytorium przykładów oprogramowania ARM.

Model Dokładność nierzadka Strukturalna dokładność rzadka (wzór 2 na 4) Losowa rzadka celność (rzadkość celu 50%)
DS-CNN-L 95,23 94,33 94,84

Przykłady

Oprócz samouczka Prune with Keras zobacz następujące przykłady:

  • Wytrenuj model CNN na podstawie odręcznego zadania klasyfikacji cyfr MNIST z przycinaniem: kod
  • Trenuj LSTM w zadaniu klasyfikacji sentymentu IMDB z przycinaniem: kod

Aby uzyskać więcej informacji, zobacz Przycinać lub nie przycinać: badanie skuteczności przycinania dla kompresji modelu [ papier ].