Optymalizacja modelu TensorFlow

TensorFlow Model Optimization Toolkit minimalizuje złożoność optymalizacji wnioskowania uczenia maszynowego.

Wydajność wnioskowania jest krytycznym problemem podczas wdrażania modeli uczenia maszynowego ze względu na opóźnienia, wykorzystanie pamięci, a w wielu przypadkach zużycie energii. Szczególnie na urządzeniach brzegowych, takich jak urządzenia mobilne i Internet rzeczy (IoT), zasoby są jeszcze bardziej ograniczone, a rozmiar modelu i wydajność obliczeń stają się głównym problemem.

Zapotrzebowanie obliczeniowe na szkolenie rośnie wraz z liczbą modeli uczonych na różnych architekturach, podczas gdy obliczeniowe zapotrzebowanie na wnioskowanie rośnie proporcjonalnie do liczby użytkowników.

Przypadków użycia

Optymalizacja modelu jest przydatna m.in. do:

  • Zmniejszenie opóźnień i kosztów wnioskowania zarówno dla urządzeń w chmurze, jak i urządzeń brzegowych (np. urządzeń mobilnych, IoT).
  • Wdrażanie modeli na urządzeniach brzegowych z ograniczeniami przetwarzania, pamięci i/lub zużycia energii.
  • Zmniejszenie rozmiaru ładunku dla bezprzewodowych aktualizacji modeli.
  • Umożliwia wykonywanie na sprzęcie ograniczonym lub zoptymalizowanym pod kątem operacji stałoprzecinkowych.
  • Optymalizacja modeli pod akceleratory sprzętowe specjalnego przeznaczenia.

Techniki optymalizacji

Obszar optymalizacji modeli może obejmować różne techniki:

  • Zmniejsz liczbę parametrów dzięki przycinaniu i przycinaniu strukturalnemu.
  • Zmniejsz precyzję reprezentacji dzięki kwantyzacji.
  • Zaktualizuj oryginalną topologię modelu do bardziej wydajnej z obniżonymi parametrami lub szybszym wykonaniem. Na przykład metody dekompozycji tensorowej i destylacji

Nasz zestaw narzędzi obsługuje kwantyzację po szkoleniu , szkolenie uwzględniające kwantyzację , przycinanie i grupowanie . Zestaw narzędzi zapewnia również eksperymentalne wsparcie dla optymalizacji współpracy w celu łączenia różnych technik.

Kwantyzacja

Modele skwantyzowane to te, w których reprezentujemy modele z mniejszą precyzją, takie jak 8-bitowe liczby całkowite w przeciwieństwie do 32-bitowych liczb zmiennoprzecinkowych. Niższa precyzja jest wymagana do wykorzystania określonego sprzętu.

Rzadkość i przycinanie

Modele rzadkie to takie, w których połączenia pomiędzy operatorami (tj. warstwy sieci neuronowej) zostały przycięte, wprowadzając zera do tensorów parametrów.

Grupowanie

Modele klastrowe to takie, w których parametry oryginalnego modelu są zastępowane mniejszą liczbą unikalnych wartości.

Wspólna optymalizacja

Zestaw narzędzi zapewnia eksperymentalne wsparcie optymalizacji współpracy. Umożliwia to czerpanie korzyści z połączenia kilku technik kompresji modelu i jednoczesne osiągnięcie większej dokładności poprzez trening świadomy kwantyzacji.