LiteRT (skrót od Lite Runtime), wcześniej znany jako TensorFlow Lite, to wydajne środowisko wykonawcze Google do obsługi AI na urządzeniu. Możesz znaleźć gotowe do uruchomienia modele LiteRT do wielu zadań związanych z uczeniem maszynowym i AI lub przekonwertować i uruchomić modele TensorFlow, PyTorch i JAX 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óźnienie (brak podróży w obie strony do serwera), prywatność (żadne dane osobowe nie opuszczają urządzenia), łączność (nie jest wymagane połączenie z internetem), rozmiar (zmniejszony rozmiar modelu i pliku binarnego) oraz zużycie energii (wydajne wnioskowanie i brak połączeń sieciowych).
Obsługa wielu platform: zgodność z urządzeniami z Android i iOS, wbudowanym systemem Linux oraz mikrokontrolerami.
Opcje modeli wieloplatformowych: AI Edge udostępnia narzędzia do konwertowania modeli z PyTorch i TensorFlow na format FlatBuffers (
.tflite), co umożliwia korzystanie z szerokiej gamy najnowocześniejszych modeli w LiteRT. Masz też dostęp do narzędzi do optymalizacji modeli, które mogą obsługiwać 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ść: akceleracja sprzętowa dzięki specjalistycznym delegatom, takim jak GPU i iOS Core ML.
Przepływ pracy w programowaniu
Proces tworzenia LiteRT obejmuje zidentyfikowanie problemu związanego z uczeniem maszynowym lub AI, wybranie modelu, który go rozwiązuje, i wdrożenie go na urządzeniu. Poniżej znajdziesz opis procesu i linki do dalszych instrukcji.
1. Wybieranie najbardziej odpowiedniego rozwiązania problemu związanego z uczeniem maszynowym
LiteRT zapewnia użytkownikom dużą elastyczność i możliwość dostosowywania podczas rozwiązywania problemów związanych z uczeniem maszynowym, dzięki czemu jest dobrym rozwiązaniem dla użytkowników, którzy potrzebują konkretnego modelu lub specjalistycznego wdrożenia. Użytkownicy szukający rozwiązań typu „plug and play” mogą preferować MediaPipe Tasks, które udostępnia gotowe rozwiązania do typowych zadań uczenia maszynowego, takich jak wykrywanie obiektów, klasyfikacja tekstu i wnioskowanie LLM.
Wybierz jedną z tych platform AI Edge:
- LiteRT elastyczne i dające się dostosowywać środowisko wykonawcze, które może uruchamiać szeroką gamę modeli. Wybierz model do swojego zastosowania, przekonwertuj go do formatu LiteRT (w razie potrzeby) i uruchom na urządzeniu. Jeśli chcesz używać LiteRT, czytaj dalej.
- MediaPipe Tasks: gotowe rozwiązania z modelami domyślnymi, które można dostosowywać. Wybierz zadanie, które rozwiązuje Twój problem związany z AI/ML, i wdroż je na wielu platformach. Jeśli zamierzasz używać interfejsu MediaPipe Tasks, zapoznaj się z dokumentacją MediaPipe Tasks.
2. Wybierz model
Model LiteRT jest reprezentowany w wydajnym, przenośnym formacie znanym jako FlatBuffers, który używa rozszerzenia pliku .tflite.
Modelu LiteRT możesz używać w ten sposób:
Użyj istniejącego modelu LiteRT: najprostszym rozwiązaniem jest użycie modelu LiteRT w formacie
.tflite. Te modele nie wymagają żadnych dodatkowych kroków konwersji. Modele LiteRT znajdziesz na Kaggle Models.Konwertowanie modelu na model LiteRT: możesz użyć konwertera PyTorch lub konwertera TensorFlow, aby przekonwertować modele na format FlatBuffers (
.tflite) i uruchamiać je w LiteRT. Aby rozpocząć, możesz znaleźć modele na tych stronach:- Modele PyTorch w Hugging Face i
torchvision - Modele TensorFlow na platformach Kaggle Models i Hugging Face
- Modele PyTorch w Hugging Face i
Model LiteRT może opcjonalnie zawierać metadane, które zawierają czytelne dla człowieka opisy modelu i dane odczytywane przez maszyny do automatycznego generowania potoków przetwarzania wstępnego i końcowego podczas wnioskowania na urządzeniu. Więcej informacji znajdziesz w artykule Dodawanie metadanych.
3. Zintegruj model z aplikacją
Modele LiteRT możesz wdrażać tak, aby wnioskowanie odbywało się w całości na urządzeniu – w przypadku urządzeń mobilnych, wbudowanych i internetowych. LiteRT zawiera interfejsy API dla Pythona, Javy i Kotlin na Androida, Swift na iOS-a oraz C++ na mikrourządzenia.
Aby wdrożyć model LiteRT na wybranej platformie, skorzystaj z tych przewodników:
- Uruchamianie na Androidzie: uruchamiaj modele na urządzeniach z Androidem za pomocą interfejsów API w językach Java i Kotlin.
- Uruchamianie na iOS: uruchamiaj modele na urządzeniach z iOS za pomocą interfejsów API Swift.
- Uruchamianie na urządzeniach Micro: uruchamiaj modele na urządzeniach wbudowanych za pomocą interfejsów C++.
Na urządzeniach z Androidem i iOS możesz zwiększyć wydajność, korzystając z akceleracji sprzętowej. Na obu platformach możesz używać GPU Delegate, a na iOS możesz używać Core ML Delegate. Aby dodać obsługę nowych akceleratorów sprzętowych, możesz zdefiniować własny delegat.
W zależności od typu modelu wnioskowanie możesz przeprowadzić na te sposoby:
Modele bez metadanych: użyj interfejsu LiteRT Interpreter API. Obsługiwane na wielu platformach i w wielu językach, takich jak Java, Swift, C++, Objective-C i Python.
Modele z metadanymi: możesz tworzyć niestandardowe potoki wnioskowania za pomocą biblioteki pomocy LiteRT.
Migracja z TF Lite
Aplikacje korzystające z bibliotek TF Lite będą nadal działać, ale wszystkie nowe aktywne prace rozwojowe i aktualizacje będą uwzględniane tylko w pakietach LiteRT. Interfejsy LiteRT API zawierają te same nazwy metod co interfejsy TF Lite API, więc migracja do LiteRT nie wymaga szczegółowych zmian w kodzie.
Więcej informacji znajdziesz w przewodniku po migracji.
Dalsze kroki
Nowi użytkownicy powinni zacząć od szybkiego wprowadzenia do LiteRT. Szczegółowe informacje znajdziesz w tych sekcjach:
Konwersja modelu
- Konwertowanie modeli PyTorch
- Konwertowanie modeli generatywnej AI PyTorch
- Konwertowanie modeli TensorFlow
- Konwertowanie modeli JAX
Przewodniki po platformach