LiteRT (kurz für Lite Runtime), früher TensorFlow Lite, ist die leistungsstarke Laufzeit von Google für On-Device-KI. Sie finden hier LiteRT-Modelle, die für eine Vielzahl von ML-/KI-Aufgaben sofort einsatzbereit sind. Außerdem können Sie mit den Konvertierungs- und Optimierungstools für KI-Edge-Modelle TensorFlow-, PyTorch- und JAX-Modelle in das TFLite-Format konvertieren und ausführen.
Wichtige Features
Für maschinelles Lernen auf dem Gerät optimiert: LiteRT löst fünf wichtige Einschränkungen von On-Device-ML: Latenz (kein Hin- und Rücklauf zu einem Server), Datenschutz (keine personenbezogenen Daten verlassen das Gerät), Konnektivität (keine Internetverbindung erforderlich), Größe (verringerte Modell- und Binärgröße) und Energieverbrauch (effiziente Inferenz und keine Netzwerkverbindungen).
Plattformübergreifende Unterstützung: Kompatibel mit Android- und iOS-Geräten, eingebettetem Linux und Mikrocontrollern.
Modelloptionen für mehrere Frameworks: AI Edge bietet Tools zum Konvertieren von TensorFlow-, PyTorch- und JAX-Modellen in das FlatBuffers-Format (
.tflite
). So können Sie eine breite Palette moderner Modelle in LiteRT verwenden. Außerdem haben Sie Zugriff auf Tools zur Modelloptimierung, die Quantisierung und Metadaten verarbeiten können.Unterstützung verschiedener Sprachen: Umfasst SDKs für Java/Kotlin, Swift, Objective-C, C++ und Python.
Hohe Leistung: Hardwarebeschleunigung durch spezielle Delegaten wie GPU und iOS Core ML.
Entwicklungsablauf
Der LiteRT-Entwicklungsablauf 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 werden Sie durch den Workflow geführt und es werden Links zu weiteren Anleitungen bereitgestellt.
1. Die am besten geeignete Lösung für das ML-Problem identifizieren
LiteRT bietet Nutzern ein hohes Maß an Flexibilität und Anpassungsmöglichkeiten bei der Lösung von Problemen mit maschinellem Lernen. Daher eignet es sich gut für Nutzer, die ein bestimmtes Modell oder eine spezielle Implementierung benötigen. Nutzer, die nach Plug-and-Play-Lösungen suchen, bevorzugen möglicherweise MediaPipe Tasks, das vorgefertigte Lösungen für gängige Aufgaben des maschinellen Lernens wie Objekterkennung, Textklassifizierung und LLM-Inferenz bietet.
Wählen Sie eines der folgenden KI-Edge-Frameworks aus:
- LiteRT: Flexible und anpassbare Laufzeit, mit der eine Vielzahl von Modellen ausgeführt werden kann. 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-Aufgaben: Plug-and-Play-Lösungen mit Standardmodellen, die sich anpassen lassen. Wählen Sie die Aufgabe aus, mit der Sie Ihr KI-/ML-Problem lösen, und implementieren Sie sie auf mehreren Plattformen. Wenn Sie MediaPipe Tasks verwenden möchten, lesen Sie die Dokumentation zu MediaPipe Tasks.
2. Modell auswählen
Ein LiteRT-Modell wird in einem effizienten, portablen Format namens FlatBuffers dargestellt, das die Dateiendung .tflite
verwendet.
Sie haben folgende Möglichkeiten, ein LiteRT-Modell zu 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 Conversion-Schritte erforderlich. LiteRT-Modelle finden Sie auf Kaggle.Modell in ein LiteRT-Modell konvertieren:Mit dem TensorFlow-Converter, dem PyTorch-Converter oder dem JAX-Converter können Sie Modelle in das FlatBuffers-Format (
.tflite
) konvertieren und in LiteRT ausführen. Zu Beginn können Sie Modelle auf den folgenden Websites finden:- TensorFlow-Modelle auf Kaggle-Modellen und Hugging Face
- PyTorch-Modelle bei Hugging Face und
torchvision
- JAX-Modelle bei Hugging Face
Ein LiteRT-Modell kann optional Metadaten enthalten, die visuell lesbare Modellbeschreibungen und maschinenlesbare Daten für die automatische Generierung von Vor- und Nachverarbeitungspipelines während der On-Device-Inferenz enthalten. Weitere Informationen finden Sie unter Metadaten hinzufügen.
3. Modell in Ihre App einbinden
Sie können Ihre LiteRT-Modelle implementieren, um Inferenzen vollständig auf dem Gerät auf Web-, eingebetteten und Mobilgeräten auszuführen. 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 Anleitungen erfahren Sie, wie Sie ein LiteRT-Modell auf Ihrer bevorzugten Plattform implementieren:
- Auf Android-Geräten ausführen: Modelle mithilfe der Java-/Kotlin-APIs auf Android-Geräten ausführen.
- Auf iOS-Geräten ausführen: Mit den Swift APIs Modelle auf iOS-Geräten ausführen.
- Run on Micro: Modelle mithilfe der C++ APIs auf eingebetteten Geräten ausführen.
Auf Android- und iOS-Geräten lässt sich die Leistung mithilfe der Hardwarebeschleunigung verbessern. Auf beiden Plattformen können Sie einen GPU-Delegierten verwenden. Auf iOS-Geräten können Sie auch den Core ML-Delegierten verwenden. Wenn Sie Unterstützung für neue Hardwarebeschleuniger hinzufügen möchten, können Sie einen eigenen Delegate definieren.
Je nach Modelltyp können Sie die Inferenz auf folgende Arten ausführen:
Modelle ohne Metadaten: Verwenden Sie die LiteRT Interpreter API. Unterstützt auf mehreren Plattformen und in mehreren Sprachen wie Java, Swift, C++, Objective-C und Python.
Modelle mit Metadaten: Mit der LiteRT-Unterstützungsbibliothek können Sie benutzerdefinierte Inferenzpipelines erstellen.
Von TF Lite migrieren
Anwendungen, die TF Lite-Bibliotheken verwenden, funktionieren weiterhin. Alle neuen aktiven Entwicklungen und Updates werden jedoch nur in LiteRT-Paketen enthalten sein. Die LiteRT APIs enthalten dieselben Methodennamen wie die TF Lite APIs. Daher sind für die Migration zu LiteRT 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
- TensorFlow-Modelle konvertieren
- PyTorch-Modelle konvertieren
- PyTorch-Modelle für die generative KI konvertieren
- JAX-Modelle konvertieren
Plattformanleitungen