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.