Przytnij nieistotne ciężary

Ten dokument zawiera przegląd czyszczenia modelu, który pomoże Ci określić, jak pasuje on do Twojego przypadku użycia.

Przegląd

Przycinanie wag w oparciu o wielkość stopniowo zeruje wagi modeli podczas procesu uczenia, aby osiągnąć rzadkość modelu. Modele rzadkie są łatwiejsze do kompresji i możemy pominąć zera podczas wnioskowania, aby poprawić opóźnienia.

Technika ta zapewnia ulepszenia poprzez kompresję modelu. W przyszłości wsparcie ramowe dla tej techniki zapewni poprawę opóźnień. Zaobserwowaliśmy nawet 6-krotną 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 przetwarzanie tekstu na mowę, a także była testowana w różnych modelach widzenia i tłumaczenia.

Matryca zgodności API

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

  • Budowanie modelu: 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 wykonania TensorFlow: zarówno wykres, jak i chętny
  • Uczenie rozproszone: tf.distribute z wykonaniem tylko wykresu

Naszym planem działania jest dodanie wsparcia w następujących obszarach:

Wyniki

Klasyfikacja obrazu

Model Nierzadka dokładność na najwyższym poziomie Losowa, rzadka dokładność Losowa rzadkość Strukturalna rzadka dokładność Strukturalna rzadkość
IncepcjaV3 78,1% 78,0% 50% 75,8% 2 na 4
76,1% 75%
74,6% 87,5%
MobilenetV1 224 71,04% 70,84% 50% 67,35% 2 na 4
MobilenetV2 224 71,77% 69,64% 50% 66,75% 2 na 4

Modele testowano w serwisie 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 zbiór danych WMT16 z news-test2013 jako zestawem deweloperskim i news-test2015 jako zestawem testowym.

Model wyszukiwania słów kluczowych

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

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

Przykłady

Oprócz samouczka Prune with Keras zapoznaj się z następującymi przykładami:

  • Wytrenuj model CNN w zakresie zadania klasyfikacji cyfr pisanych odręcznie MNIST z przycinaniem: kod
  • Trenuj LSTM w zadaniu klasyfikacji tonacji IMDB za pomocą czyszczenia: code

Więcej informacji można znaleźć w artykule Przycinać czy nie przycinać: badanie skuteczności przycinania w celu kompresji modelu [ artykuł ].