LiteRT (skrót od Lite Runtime), wcześniej znany jako TensorFlow Lite, to środowisko wykonawcze Google o wysokiej wydajności do uruchamiania AI na urządzeniu. Możesz znaleźć gotowe do użycia modele LiteRT do wielu zadań związanych z ML/AI lub przekonwertować modele TensorFlow, PyTorch i JAX oraz uruchomić je w formacie TFLite za pomocą narzędzi do konwersji i optymalizacji AI Edge.
Najważniejsze funkcje
Zoptymalizowany pod kątem uczenia maszynowego na urządzeniu: LiteRT rozwiązuje 5 kluczowych ograniczeń ODML: opóźnienia (brak komunikacji z serwerem), prywatność (dane osobowe nie opuszczają urządzenia), łączność (nie jest wymagane połączenie z internetem), rozmiar (zmniejszony rozmiar modelu i plików binarnych) oraz zużycie energii (wydajne wnioskowanie i brak połączeń sieciowych).
Obsługa wielu platform: zgodność z urządzeniami z systemem Android i iOS, wbudowanym systemem Linux oraz mikrokontrolerami.
Opcje modeli w wielu platformach: AI Edge udostępnia narzędzia do konwertowania modeli z TensorFlow, PyTorch i JAX do formatu FlatBuffers (
.tflite
), co umożliwia korzystanie z wielu najnowocześniejszych modeli w LiteRT. Masz też dostęp do narzędzi do optymalizacji modeli, które obsługują kwantyzację i metadane.Obsługa różnych języków: obejmuje pakiety SDK dla języków Java/Kotlin, Swift, Objective-C, C++ i Python.
Wysoka wydajność: przyspieszanie sprzętowe za pomocą wyspecjalizowanych delegowanych funkcji, takich jak GPU i iOS Core ML.
Proces rozwoju
Proces rozwoju LiteRT obejmuje zidentyfikowanie problemu związanego z ML/AI, wybranie modelu, który rozwiązuje ten problem, i wdrażanie modelu na urządzeniu. Poniżej znajdziesz instrukcje dotyczące tego procesu oraz linki do dalszych informacji.
1. Wybierz najbardziej odpowiednie rozwiązanie problemu związanego z systemami uczącymi się
LiteRT zapewnia użytkownikom dużą elastyczność i możliwość dostosowania do potrzeb w zakresie rozwiązywania problemów związanych z uczeniem maszynowym, dzięki czemu jest odpowiednim rozwiązaniem dla użytkowników, którzy potrzebują konkretnego modelu lub specjalistycznej implementacji. Użytkownicy, którzy szukają gotowych rozwiązań, mogą preferować MediaPipe Tasks, które oferuje gotowe rozwiązania do typowych zadań związanych z uczeniem maszynowym, takich jak wykrywanie obiektów, klasyfikacja tekstu i wyciąganie wniosków z modeli LLM.
Wybierz jedną z tych platform AI Edge:
- LiteRT elastyczne i spersonalizowane środowisko uruchomieniowe, które może obsługiwać wiele modeli. Wybierz model do danego zastosowania, przekonwertuj go do formatu LiteRT (w razie potrzeby) i uruchom go na urządzeniu. Jeśli chcesz używać LiteRT, czytaj dalej.
- MediaPipe Tasks: rozwiązania typu „podłącz i używaj” z modelami domyślnymi, które umożliwiają dostosowywanie. Wybierz zadanie, które rozwiąże Twój problem z AI/ML, i wdróż je na wielu platformach. Jeśli chcesz używać Listy zadań MediaPipe, zapoznaj się z dokumentacją Listy zadań MediaPipe.
2. Wybierz model
Model LiteRT jest reprezentowany w wydajnym formacie przenośnym znanym jako FlatBuffers, który wykorzystuje rozszerzenie pliku .tflite
.
Model LiteRT możesz wykorzystać na te sposoby:
Użycie istniejącego modelu LiteRT: najprostszym podejściem jest użycie modelu LiteRT w formacie
.tflite
. Te modele nie wymagają żadnych dodatkowych kroków konwersji. Modele LiteRT znajdziesz na stronie Kaggle Models.Konwertowanie modelu na model LiteRT: możesz użyć konwertera TensorFlow, PyTorch lub JAX, aby przekonwertować modele do formatu FlatBuffers (
.tflite
) i uruchamiać je w LiteRT. Na początek możesz znaleźć modele na tych stronach:- modele TensorFlow w Kaggle Models i Hugging Face,
- modele PyTorch w Hugging Face i
torchvision
, - Modele JAX w Hugging Face
Model LiteRT może opcjonalnie zawierać metadane z opisywalnym dla człowieka opisem modelu i danymi czytelnymi dla maszyny, które służą do automatycznego generowania potoków wstępnego i pośredniego przetwarzania podczas wnioskowania na urządzeniu. Więcej informacji znajdziesz w artykule Dodawanie metadanych.
3. Integrowanie modelu z aplikacją
Modele LiteRT możesz wdrażać na urządzeniach, aby przeprowadzać na nich całkowicie na miejscu wnioskowanie na potrzeby urządzeń mobilnych, wbudowanych i internetowych. LiteRT zawiera interfejsy API dla Pythona, Java i Kotlin na Androida, Swift na iOS oraz C++ na mikrourządzenia.
Aby zaimplementować model LiteRT na wybranej platformie, skorzystaj z tych przewodników:
- Uruchamianie na Androidzie: modele można uruchamiać na urządzeniach z Androidem za pomocą interfejsów API Java lub Kotlin.
- Uruchamianie na iOS: uruchamianie modeli na urządzeniach z iOS za pomocą interfejsów API Swift.
- Uruchamianie na Micro: uruchamianie modeli na urządzeniach wbudowanych za pomocą interfejsów C++.
Na urządzeniach z Androidem i iOS możesz zwiększyć wydajność, korzystając z przyspieszania sprzętowego. Na obu platformach możesz użyć GPUDelegate, a na iOS – Core MLDelegate. Aby dodać obsługę nowych akceleratorów sprzętowych, możesz zdefiniować własnego delegata.
W zależności od typu modelu możesz uruchamiać wnioskowanie na te sposoby:
Modele bez metadanych: użyj interfejsu LiteRT Interpreter API. Obsługiwane na wielu platformach i w różnych językach, takich jak Java, Swift, C++, Objective-C i Python.
Modele z metadanymi: za pomocą biblioteki LiteRT Support Library możesz tworzyć niestandardowe potoki wnioskowania.
Migracja z TF Lite
Aplikacje, które korzystają z bibliotek TF Lite, będą nadal działać, ale wszystkie nowe funkcje i aktualizacje będą uwzględniane tylko w pakietach LiteRT. Interfejsy LiteRT mają te same nazwy metod co interfejsy TF Lite, więc przejście na LiteRT nie wymaga szczegółowych zmian w kodzie.
Więcej informacji znajdziesz w przewodniku po migracji.
Dalsze kroki
Nowi użytkownicy powinni zapoznać się z podręcznikiem LiteRT. Szczegółowe informacje znajdziesz w tych sekcjach:
Konwersja modelowana
- Konwertowanie modeli TensorFlow
- Konwertowanie modeli PyTorch
- Konwertowanie modeli generatywnej AI PyTorch
- Konwertowanie modeli JAX
Przewodniki po platformach