Dziękujemy za zapoznanie się z Google I/O. Zobacz wszystkie sesje na żądanie Oglądaj na żądanie

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.