Zestaw narzędzi do optymalizacji modelu TensorFlow minimalizuje złożoność optymalizacji wnioskowania uczenia maszynowego.
Efektywność 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 w przypadku urządzeń 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.
Obliczeniowe zapotrzebowanie na szkolenia rośnie wraz z liczbą modeli trenowanych 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 między innymi do:
- Zmniejszenie opóźnień i kosztów wnioskowania zarówno w przypadku chmury, jak i urządzeń brzegowych (np. Mobilnych, IoT).
- Wdrażanie modeli na urządzeniach brzegowych z ograniczeniami dotyczącymi przetwarzania, pamięci i / lub zużycia energii.
- Zmniejszenie rozmiaru ładunku w przypadku aktualizacji modeli bezprzewodowych.
- Umożliwienie wykonywania na sprzęcie ograniczonym lub zoptymalizowanym do operacji na punktach stałych.
- Optymalizacja modeli dla specjalnych akceleratorów sprzętowych.
Techniki optymalizacji
Obszar optymalizacji modelu może obejmować różne techniki:
- Zmniejsz liczbę parametrów dzięki przycinaniu i strukturalnemu przycinaniu.
- Zmniejsz precyzję reprezentacji dzięki kwantyzacji.
- Zaktualizuj oryginalną topologię modelu do bardziej wydajnej o zmniejszonych parametrach lub szybszej realizacji. Na przykład metody dekompozycji tensorowej i destylacja
Nasz zestaw narzędzi obsługuje kwantyzację po treningu , szkolenie świadome kwantyzacji , przycinanie i grupowanie .
Kwantyzacja
Modele kwantowane to takie, w których reprezentujemy modele z mniejszą dokładnością, na przykład 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
Rzadkie modele to takie, w których połączenia między operatorami (tj. Warstwy sieci neuronowej) zostały przycięte, wprowadzając zera do tensorów parametrów.
Grupowanie
Modele skupione to takie, w których parametry modelu oryginalnego są zastępowane mniejszą liczbą unikalnych wartości.