LiteRT ist das On-Device-Framework von Google für die Bereitstellung von leistungsstarkem ML und generativer KI auf Edge-Plattformen. Es nutzt effiziente Konvertierung, Laufzeit und Optimierung.
LiteRT 2.x enthält die neueste Runtime-API, die CompiledModel API, die die Interpreter API (auch bekannt als TensorFlow Lite APIs) verbessert, insbesondere durch Hardwarebeschleunigung und die Gesamtleistung für On-Device-ML- und KI-Anwendungen. Die CompiledModel API ist in der Betaversion verfügbar und kann sowohl in Kotlin als auch in C++ verwendet werden.
Wichtige LiteRT-Funktionen
Unterstützte Modelle
LiteRT unterstützt die optimierte Konvertierung von Pytorch-, TensorFlow- und JAX-Frameworks in das Format „.tflite“ oder „.litertlm“.
Entwicklung mit LiteRT optimieren
Automatische Beschleunigerauswahl im Vergleich zur expliziten Delegat-Erstellung. Einfache NPU-Laufzeit und Modellverteilung. Effiziente Verarbeitung von E/A-Puffern und asynchrone Ausführung für eine hervorragende Leistung.
Erstklassige GPU-Leistung
ML Drift unterstützt jetzt sowohl ML- als auch generative KI-Modelle in GPU-APIs.
Einheitliche NPU-Beschleunigung
Beschleunigen Sie Ihr Modell durch vereinfachten NPU-Zugriff von großen Chipherstellern.
Vereinfachte LLM-Unterstützung mit LiteRT
Sie können LiteRT-LM verwenden, das auf LiteRT basiert. LiteRT-LM unterstützt die neuesten LLMs und nützliche Funktionen wie Multimodalität und eingeschränktes Decodieren.
Entwicklungsworkflow
LiteRT führt Inferenzen vollständig auf dem Gerät aus, und zwar auf Android-, iOS-, Web-, IoT- und Desktop-/Laptop-Geräten. Unabhängig vom Gerät ist der folgende Workflow am häufigsten. Links zu weiteren Anleitungen finden Sie unten.

Die am besten geeignete Lösung für die ML-Herausforderung finden
LiteRT bietet Nutzern ein hohes Maß an Flexibilität und Anpassbarkeit bei der Lösung von Problemen im Bereich des maschinellen Lernens. Daher ist es gut für Nutzer geeignet, die ein bestimmtes Modell oder eine spezielle Implementierung benötigen. Nutzer, die Plug-and-Play-Lösungen suchen, bevorzugen möglicherweise MediaPipe Tasks. Diese Bibliothek bietet vorgefertigte Lösungen für gängige Aufgaben im Bereich maschinelles Lernen wie Objekterkennung, Textklassifizierung und LLM-Inferenz.
Modell abrufen und vorbereiten
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 erhalten:
Vortrainiertes Modell abrufen:für beliebte ML-Arbeitslasten wie Bildsegmentierung, Objekterkennung usw.
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.Modelltyp Quelle des vortrainierten Modells Klassisches ML
(.tflite-Format)Kaggle oder HuggingFace
z.B. Modelle zur Bildsegmentierung und Beispiel-AppGenerative KI
(.litertlm-Format)LiteRT-Hugging Face-Seite
z.B. Gemma-FamilieKonvertieren Sie Ihr ausgewähltes PyTorch-, TensorFlow- oder JAX-Modell in ein LiteRT-Modell, wenn Sie kein vortrainiertes Modell verwenden möchten. [PRO USER]
Modell-Framework Beispielmodelle Konvertierungstool PyTorch Hugging Face
TorchvisionLink TensorFlow Kaggle-Modelle
Hugging FaceLink Jax Hugging Face Link LLM erstellen, um es mit der Generative API weiter zu optimieren [PRO-NUTZER]
Unsere Generative API-Bibliothek bietet integrierte PyTorch-Bausteine zum Erstellen von Transformer-Modellen wie Gemma, TinyLlama und anderen mithilfe von mobilfreundlichen Abstraktionen, durch die wir die Konvertierung und die leistungsstarke Ausführung in unserer mobilen Laufzeit, LiteRT, garantieren können. Dokumentation zur generativen API
Quantisierung [PRO USER]
AI Edge Quantizer für fortgeschrittene Entwickler ist ein Tool zum Quantisieren konvertierter LiteRT-Modelle. Sie soll es fortgeschrittenen Nutzern ermöglichen, eine optimale Leistung bei ressourcenintensiven Modellen zu erzielen (z.B. GenAI-Modelle).
Informationen zu Modellen für maschinelles Lernen und generative KI-Modelle finden Sie in der Dokumentation zur Ai-Edge-Quantisierung.
Voraussetzungen für den Einstieg
- Python 3.10–3.12
.tflite-Modelldatei- Weitere Informationen finden Sie im jeweiligen Plattformabschnitt.
Modell in Ihre App auf Edge-Plattformen einbinden
Sie können Ihre LiteRT-Modelle so implementieren, dass Inferenzvorgänge vollständig auf dem Gerät ausgeführt werden, und zwar auf Android-, iOS-, Web-, IoT- und Desktop-Geräten. 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:
| Modell-Framework | Beispielmodelle | Konvertierungstool |
|---|---|---|
| Auf Android-Geräten ausführen | Android-Mobilgeräte | C++/Kotlin-APIs |
| Auf iOS ausführen | iOS-Mobilgeräte | C++/Swift*-APIs |
| Im Web mit LiteRT.js ausführen | Gerät mit Chrome, Firefox oder Safari | JavaScript APIs |
| Auf Micro ausführen | Eingebettete Geräte | C++-APIs |
*Demnächst verfügbar
Kotlin-Codebeispiel
// Load model and initialize runtime
val compiledModel = CompiledModel.create("/path/to/mymodel.tflite", CompiledModel.Options(Accelerator.CPU))
// Prepare I/O buffers and fill in the data
val inputBuffers = compiledModel.createInputBuffers()
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
val outputBuffers = compiledModel.createOutputBuffers()
// Execute model
compiledModel.run(inputBuffers, outputBuffers)
// Access model output
val output = outputBuffers.get(0).readFloat()
inputBuffers.forEach { it.close() }
outputBuffers.forEach { it.close() }
compiledModel.close()
C++-Codebeispiel
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Backend auswählen
Die einfachste Möglichkeit, Backends in LiteRT einzubinden, besteht darin, sich auf die integrierte Intelligenz der Laufzeit zu verlassen. Durch die neuesten Änderungen wird die Einrichtung von LiteRT deutlich vereinfacht, da das Ziel-Backend als Option angegeben werden kann.
Das Herzstück von LiteRT v2.x ist das CompiledModel-Objekt. Wenn Sie ein Modell laden, wählt LiteRT das optimale Backend anhand der verfügbaren Hardware des Systems und der internen Prioritätslogik aus, ohne dass eine manuelle Konfiguration erforderlich ist. Weitere Informationen
| Android | Computer | Web | iOS | macOS | IoT | |
|---|---|---|---|---|---|---|
| CPU | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack |
| GPU | WebGPU OpenCL |
WebGPU OpenCL |
WebGPU | WebGPU Metal |
WebGPU Metal |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - | - |
Zusätzliche Dokumentation und Support
LiteRT v2.x-Beispiel-App Siehe LiteRT Image Segmentation Sample App
Für bestehende Nutzer von TensorFlow Lite Migrationsleitfaden
Ops Coverage Kompatible Operatoren
Unterstützte LLM-Modelle LiteRT Hugging Face und Gen API – Beispiele
Tools LiteRT-Toolseite – Leistung, Profilerstellung, Fehlerberichte usw.