LiteRT (kurz für Lite Runtime), früher als TensorFlow Lite bekannt, ist die leistungsstarke Laufzeit von Google für KI auf dem Gerät. Sie können sofort einsatzbereite LiteRT-Modelle für eine Vielzahl von ML-/KI-Aufgaben finden oder TensorFlow-, PyTorch- und JAX-Modelle mit den AI Edge-Konvertierungs- und ‑Optimierungstools in das TFLite-Format konvertieren und ausführen.
Wichtige Features
Für On-Device Machine Learning optimiert: LiteRT erfüllt fünf wichtige ODML-Anforderungen: Latenz (keine Roundtrips zu einem Server), Datenschutz (keine personenbezogenen Daten verlassen das Gerät), Konnektivität (keine Internetverbindung erforderlich), Größe (reduzierte Modell- und Binärgröße) und Stromverbrauch (effiziente Inferenz und keine Netzwerkverbindungen).
Unterstützung mehrerer Plattformen: Kompatibel mit Android- und iOS-Geräten, Embedded Linux und Mikrocontrollern.
Optionen für Modelle mit mehreren Frameworks: AI Edge bietet Tools zum Konvertieren von Modellen aus PyTorch- und TensorFlow-Modellen in das FlatBuffers-Format (
.tflite). So können Sie eine Vielzahl von modernen Modellen in LiteRT verwenden. Außerdem haben Sie Zugriff auf Tools zur Modelloptimierung, mit denen sich Quantisierung und Metadaten verarbeiten lassen.Unterstützung verschiedener Sprachen: Enthält SDKs für Java/Kotlin, Swift, Objective-C, C++ und Python.
Hohe Leistung: Hardwarebeschleunigung durch spezielle Delegates wie GPU und iOS Core ML.
Entwicklungsworkflow
Der LiteRT-Entwicklungs-Workflow umfasst die Identifizierung eines ML-/KI-Problems, die Auswahl eines Modells, das dieses Problem löst, und die Implementierung des Modells auf dem Gerät. In den folgenden Schritten wird der Workflow beschrieben und es werden Links zu weiteren Anleitungen bereitgestellt.
1. Die am besten geeignete Lösung für das ML-Problem finden
LiteRT bietet Nutzern ein hohes Maß an Flexibilität und Anpassungsmöglichkeiten bei der Lösung von Problemen im Bereich des maschinellen Lernens. Es eignet sich daher gut für Nutzer, die ein bestimmtes Modell oder eine spezielle Implementierung benötigen. Nutzer, die Plug-and-Play-Lösungen suchen, bevorzugen möglicherweise MediaPipe Tasks. Diese bieten vorgefertigte Lösungen für gängige Aufgaben im Bereich maschinelles Lernen wie Objekterkennung, Textklassifizierung und LLM-Inferenz.
Wählen Sie eines der folgenden AI Edge-Frameworks aus:
- LiteRT: Flexible und anpassbare Laufzeit, mit der sich eine Vielzahl von Modellen ausführen lässt. Wählen Sie ein Modell für Ihren Anwendungsfall aus, konvertieren Sie es bei Bedarf in das LiteRT-Format und führen Sie es auf dem Gerät aus. Wenn Sie LiteRT verwenden möchten, lesen Sie weiter.
- MediaPipe Tasks: Plug-and-Play-Lösungen mit Standardmodellen, die angepasst werden können. Wählen Sie die Aufgabe aus, mit der sich Ihr KI-/ML-Problem lösen lässt, und implementieren Sie sie auf mehreren Plattformen. Wenn Sie MediaPipe Tasks verwenden möchten, lesen Sie die MediaPipe Tasks-Dokumentation.
2. Modell auswählen
Ein LiteRT-Modell wird in einem effizienten, portablen Format namens FlatBuffers dargestellt, das die Dateiendung .tflite verwendet.
Sie können ein LiteRT-Modell auf folgende Arten verwenden:
Vorhandenes LiteRT-Modell verwenden:Am einfachsten ist es, ein LiteRT-Modell zu verwenden, das bereits im
.tflite-Format vorliegt. Für diese Modelle sind keine zusätzlichen Conversionschritte erforderlich. LiteRT-Modelle finden Sie unter Kaggle Models.Modell in ein LiteRT-Modell konvertieren:Mit dem PyTorch-Converter oder dem TensorFlow-Converter können Sie Modelle in das FlatBuffers-Format (
.tflite) konvertieren und in LiteRT ausführen. Modelle finden Sie auf den folgenden Websites:- PyTorch-Modelle auf Hugging Face und
torchvision - TensorFlow-Modelle auf Kaggle Models und Hugging Face
- PyTorch-Modelle auf Hugging Face und
Ein LiteRT-Modell kann optional Metadaten enthalten, die für Menschen lesbare Modellbeschreibungen und maschinenlesbare Daten für die automatische Generierung von Pre- und Postprocessing-Pipelines während der Inferenz auf dem Gerät enthalten. Weitere Informationen finden Sie unter Metadaten hinzufügen.
3. Modell in Ihre App einbinden
Sie können Ihre LiteRT-Modelle so implementieren, dass Inferenzvorgänge vollständig auf Web-, eingebetteten und Mobilgeräten ausgeführt werden. LiteRT enthält APIs für Python, Java und Kotlin für Android, Swift für iOS und C++ für Mikrogeräte.
In den folgenden Leitfäden erfahren Sie, wie Sie ein LiteRT-Modell auf Ihrer bevorzugten Plattform implementieren:
- Auf Android ausführen: Modelle auf Android-Geräten mit den Java-/Kotlin-APIs ausführen.
- Auf iOS ausführen: Modelle auf iOS-Geräten mit den Swift-APIs ausführen.
- Run on Micro: Modelle auf eingebetteten Geräten mit den C++-APIs ausführen.
Auf Android- und iOS-Geräten können Sie die Leistung durch Hardwarebeschleunigung verbessern. Auf beiden Plattformen können Sie einen GPU-Delegate verwenden und auf iOS den Core ML-Delegate. Wenn Sie Unterstützung für neue Hardwarebeschleuniger hinzufügen möchten, können Sie einen eigenen Delegate definieren.
Je nach Modelltyp haben Sie folgende Möglichkeiten, Inferenz auszuführen:
Modelle ohne Metadaten: Verwenden Sie die LiteRT Interpreter API. Unterstützung für mehrere Plattformen und Sprachen wie Java, Swift, C++, Objective-C und Python.
Modelle mit Metadaten: Mit der LiteRT-Supportbibliothek können Sie benutzerdefinierte Inferenzpipelines erstellen.
Von TF Lite migrieren
Anwendungen, die TF Lite-Bibliotheken verwenden, funktionieren weiterhin. Alle neuen aktiven Entwicklungen und Updates sind jedoch nur in LiteRT-Paketen enthalten. Die LiteRT-APIs enthalten dieselben Methodennamen wie die TF Lite-APIs. Für die Migration zu LiteRT sind daher keine detaillierten Codeänderungen erforderlich.
Weitere Informationen finden Sie in der Migrationsanleitung.
Nächste Schritte
Neue Nutzer sollten mit der LiteRT-Kurzanleitung beginnen. Weitere Informationen finden Sie in den folgenden Abschnitten:
Modellkonvertierung
- PyTorch-Modelle konvertieren
- Generative KI-Modelle von PyTorch konvertieren
- TensorFlow-Modelle konvertieren
- JAX-Modelle konvertieren
Anleitungen für Plattformen