Plan działania TensorFlow Lite

Aktualizacja: maj 2021 r

Poniżej przedstawiono ogólny przegląd naszego planu działania. Należy mieć świadomość, że niniejszy plan działania może ulec zmianie w dowolnym momencie, a poniższa kolejność nie odzwierciedla żadnego rodzaju priorytetów.

Dzielimy nasz plan działania na cztery kluczowe segmenty: użyteczność, wydajność, optymalizacja i przenośność. Gorąco zachęcamy do komentowania naszego planu działania i przekazywania nam opinii w grupie dyskusyjnej TensorFlow Lite .

Użyteczność

  • Rozszerzony zasięg operacji
    • Dodaj ukierunkowane operacje na podstawie opinii użytkowników.
    • Dodaj ukierunkowane zestawy operacji dla określonych domen i obszarów, w tym operacje losowe, podstawowe operacje warstwy Keras, tabele skrótów i wybrane operacje szkoleniowe.
  • Więcej narzędzi wspomagających
    • Udostępnij adnotacje na wykresach TensorFlow i narzędzia zgodności, aby sprawdzić kompatybilność TFLite i akceleratora sprzętowego podczas szkolenia i po konwersji.
    • Zezwalaj na kierowanie i optymalizację pod kątem określonych akceleratorów podczas konwersji.
  • Szkolenia na urządzeniu
    • Obsługuj szkolenia na urządzeniu dotyczące personalizacji i transferu wiedzy, w tym Colab demonstrujący kompleksowe wykorzystanie.
    • Obsługa typów zmiennych/zasobów (zarówno do wnioskowania, jak i uczenia)
    • Obsługa konwertowania i wykonywania wykresów z wieloma punktami wejścia funkcji (lub sygnatur).
  • Ulepszona integracja Android Studio
    • Przeciągnij i upuść modele TFLite do Android Studio, aby wygenerować interfejsy modeli.
    • Ulepsz obsługę profilowania Android Studio, w tym profilowanie pamięci.
  • Modelarz
    • Obsługuj nowsze zadania, w tym wykrywanie obiektów, rekomendacje i klasyfikację dźwięku, obejmujące szeroki zakres typowych zastosowań.
    • Obsługuj więcej zestawów danych, aby ułatwić naukę transferu.
  • Biblioteka zadań
    • Obsługa większej liczby typów modeli (np. audio, NLP) z powiązanymi możliwościami przetwarzania wstępnego i końcowego.
    • Zaktualizuj więcej przykładów referencyjnych za pomocą interfejsów API zadań.
    • Obsługa natychmiastowego przyspieszenia dla wszystkich zadań.
  • Więcej modeli i przykładów SOTA
    • Dodaj więcej przykładów (np. audio, NLP, związanych z danymi strukturalnymi), aby zademonstrować użycie modelu, a także nowe funkcje i interfejsy API, obejmujące różne platformy.
    • Twórz udostępniane modele szkieletowe dla urządzeń, aby zmniejszyć koszty szkoleń i wdrożeń.
  • Bezproblemowe wdrażanie na wielu platformach
    • Uruchamiaj modele TensorFlow Lite w Internecie.
  • Ulepszona obsługa wielu platform
    • Rozszerzaj i ulepszaj interfejsy API dla Java na Androidzie, Swift na iOS, Python na RPi.
    • Ulepsz obsługę CMake (np. szerszą obsługę akceleratorów).
  • Lepsze wsparcie frontendowe
    • Popraw kompatybilność z różnymi interfejsami autorskimi, w tym Keras, tf.numpy.

Wydajność

  • Lepsze oprzyrządowanie
    • Publiczny pulpit nawigacyjny do śledzenia wzrostu wydajności w każdej wersji.
    • Narzędzia do lepszego zrozumienia zgodności wykresów z akceleratorami docelowymi.
  • Poprawiona wydajność procesora
    • XNNPack jest domyślnie włączony w celu szybszego wnioskowania zmiennoprzecinkowego.
    • Kompleksowa obsługa połowy precyzji (float16) ze zoptymalizowanymi jądrami.
  • Zaktualizowano obsługę interfejsu API NN
    • Pełna obsługa nowszych funkcji, operacji i typów interfejsu API NN w wersji Androida.
  • Optymalizacje GPU
    • Poprawiony czas uruchamiania dzięki obsłudze serializacji delegatów.
    • Współpraca buforów sprzętowych w celu wnioskowania o zerowej kopii.
    • Szersza dostępność akceleracji na urządzeniu.
    • Lepszy zasięg operacyjny.

Optymalizacja

  • Kwantyzacja

    • Selektywna kwantyzacja potreningowa w celu wykluczenia niektórych warstw z kwantyzacji.
    • Debuger kwantyzacji do sprawdzania strat błędów kwantyzacji na każdą warstwę.
    • Stosowanie szkolenia uwzględniającego kwantyzację w przypadku większego pokrycia modelu, np. TensorFlow Model Garden.
    • Poprawa jakości i wydajności kwantyzacji zakresu dynamicznego po treningu.
    • Interfejs API kompresji Tensor umożliwiający stosowanie algorytmów kompresji, takich jak SVD.
  • Przycinanie / rzadkość

    • Połącz konfigurowalne interfejsy API przeznaczone do szkolenia (przycinanie + szkolenie uwzględniające kwantyzację).
    • Zwiększ aplikację sparity w modelach TF Model Garden.
    • Obsługa wykonywania modeli rzadkich w TensorFlow Lite.

Ruchliwość

  • Obsługa mikrokontrolera
    • Dodaj obsługę szeregu przypadków użycia 32-bitowej architektury MCU do klasyfikacji mowy i obrazu.
    • Interfejs audio: obsługa wstępnego przetwarzania i przyspieszania dźwięku w grafie
    • Przykładowy kod i modele danych wizyjnych i dźwiękowych.