Pomoc chronić Wielkiej Rafy Koralowej z TensorFlow na Kaggle Dołącz Wyzwanie

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 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 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 w przypadku aktualizacji modelu drogą radiową.
  • Umożliwia wykonywanie na sprzęcie ograniczonym lub zoptymalizowanym pod kątem operacji stałopunktowych.
  • 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

Nasze podpory Toolkit po treningu kwantyzacji , kwantyzacji świadomy trening , przycinanie i klastrów . 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. Pozwala to na czerpanie korzyści z połączenia kilku technik kompresji modelu i jednoczesne osiągnięcie większej dokładności poprzez trening świadomy kwantyzacji. .