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.
Mit der neuesten Version von LiteRT 2.x wird die CompiledModel API eingeführt, eine moderne Laufzeitschnittstelle, die für maximale Hardwarebeschleunigung entwickelt wurde. Die Interpreter API (früher TensorFlow Lite) ist zwar weiterhin aus Gründen der Abwärtskompatibilität verfügbar, die CompiledModel API ist jedoch die empfohlene Wahl für Entwickler, die in KI-Anwendungen auf dem Gerät eine optimale Leistung erzielen möchten.
Wichtige LiteRT-Funktionen
Entwicklung mit LiteRT optimieren
Automatisierte Auswahl von Beschleunigern im Vergleich zur expliziten Erstellung von Delegaten. Effiziente Verarbeitung von E/A-Puffern und asynchrone Ausführung für eine hervorragende Leistung. Weitere Informationen finden Sie in der Dokumentation zur Inferenz auf dem Gerät.
Erstklassige GPU-Leistung
ML Drift unterstützt jetzt sowohl ML- als auch generative KI-Modelle in GPU-APIs. Weitere Informationen finden Sie in der Dokumentation zur GPU-Beschleunigung.
Einheitliche NPU-Beschleunigung
Beschleunigen Sie Ihr Modell durch vereinfachten NPU-Zugriff von großen Chipherstellern. Weitere Informationen finden Sie in der Dokumentation zur NPU-Beschleunigung.
Bessere LLM-Unterstützung
LiteRT bietet eine leistungsstarke Bereitstellung für generative KI-Modelle auf Mobilgeräten, Computern und Webplattformen. Weitere Informationen finden Sie in der Dokumentation zur Bereitstellung von generativer KI.
Umfassende Unterstützung für ML-Frameworks
LiteRT unterstützt die optimierte Konvertierung von PyTorch-, TensorFlow- und JAX-Frameworks in das .tflite- oder .litertlm-Format. Weitere Informationen finden Sie in der Dokumentation zur Modellkonvertierung.
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).
Weitere Informationen finden Sie in der Dokumentation zum AI Edge Quantizer.
Modell in Ihre App auf Edge-Plattformen einbinden
Mit LiteRT können Sie ML-Modelle vollständig auf dem Gerät ausführen und dabei eine hohe Leistung auf Android-, iOS-, Web-, Desktop- und IoT-Plattformen erzielen.
Verwenden Sie die folgenden Anleitungen, um ein LiteRT-Modell auf Ihrer bevorzugten Plattform einzubinden:
| Unterstützte Plattform | Unterstützte Geräte | Unterstützte APIs |
|---|---|---|
| Auf Android-Geräten ausführen | Android-Mobilgeräte | C++/Kotlin |
| Auf iOS/macOS ausführen | iOS-Mobilgeräte, MacBooks | C++/Swift |
| Im Web mit LiteRT.js ausführen | Gerät mit Chrome, Firefox oder Safari | JavaScript |
| Unter Linux ausführen | Linux-Workstation oder Linux-basierte IoT-Geräte | C++/Python |
| Unter Windows ausführen | Windows-Workstation oder ‑Laptops | C++/Python |
| Auf Micro ausführen | Eingebettete Geräte | C++ |
Die folgenden Code-Snippets zeigen eine einfache Implementierung in Kotlin und C++.
Kotlin
// Load model and initialize runtime
val compiledModel = CompiledModel.create(
"/path/to/mymodel.tflite",
CompiledModel.Options(Accelerator.CPU))
// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()
// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
// Invoke
compiledModel.run(inputBuffers, outputBuffers)
// Read the output
val output = outputBuffers.get(0).readFloat()
C++
// Load model and initialize runtime
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));
// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
Hardwarebeschleuniger auswählen
Die einfachste Möglichkeit, Backends in LiteRT einzubinden, besteht darin, sich auf die integrierte Intelligenz der Laufzeit zu verlassen. Mit der CompiledModel API vereinfacht LiteRT die Einrichtung erheblich, da das Ziel-Backend als Option angegeben werden kann. Weitere Informationen
| Android | iOS / macOS | Web | Linux / Windows | IoT | |
|---|---|---|---|---|---|
| CPU | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | WebGPU OpenCL |
WebGPU Metal |
WebGPU | WebGPU OpenCL |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - |
Zusätzliche Dokumentation und Support
Weitere LiteRT-Beispiel-Apps finden Sie im GitHub-Repository für LiteRT-Beispiele.
Bestehende Nutzer von TensorFlow Lite finden weitere Informationen im Migrationsleitfaden.
LiteRT-Tools-Seite für Leistung, Profilerstellung, Fehlerberichte usw.