LiteRT adalah framework di perangkat Google untuk deployment ML & AI Generatif berperforma tinggi di platform edge, menggunakan konversi, runtime, dan pengoptimalan yang efisien.
Rilis LiteRT 2.x terbaru memperkenalkan CompiledModel API, antarmuka runtime modern yang dirancang untuk memaksimalkan akselerasi hardware. Meskipun Interpreter API (sebelumnya TensorFlow Lite) tetap tersedia untuk kompatibilitas mundur, CompiledModel API adalah pilihan yang direkomendasikan bagi developer yang mencari performa canggih dalam aplikasi AI di perangkat.
Fitur utama LiteRT
Menyederhanakan pengembangan dengan LiteRT
Pemilihan akselerator otomatis versus pembuatan delegasi eksplisit. Penanganan buffer I/O yang efisien dan eksekusi asinkron untuk performa yang lebih baik. Lihat dokumentasi inferensi di perangkat.
Performa GPU terbaik di kelasnya
Didukung oleh ML Drift, yang kini mendukung model ML dan AI Generatif di GPU API. Lihat dokumentasi akselerasi GPU.
Akselerasi NPU terpadu
Percepat model Anda menggunakan akses NPU yang disederhanakan dari penyedia chipset utama. Lihat dokumentasi akselerasi NPU.
Dukungan LLM yang Unggul
LiteRT memberikan deployment berperforma tinggi untuk model AI Generatif di seluruh platform seluler, desktop, dan web. Lihat dokumentasi deployment AI Generatif.
Dukungan framework ML yang luas
LiteRT mendukung konversi yang disederhanakan dari Framework PyTorch, TensorFlow, dan JAX ke format .tflite atau .litertlm. Lihat
dokumentasi konversi model.
Mulai Menggunakan CompiledModel API
Untuk model ML klasik, lihat aplikasi demo berikut.
- Aplikasi Kotlin segmentasi gambar: Inferensi CPU/GPU/NPU.
- Aplikasi C++ segmentasi gambar: Inferensi CPU/GPU/NPU dengan eksekusi asinkron.
Untuk model AI Generatif, lihat aplikasi demo berikut:
- Aplikasi C++ kesamaan semantik EmbeddingGemma: Inferensi CPU/GPU/NPU.
Alur kerja pengembangan
LiteRT menjalankan inferensi sepenuhnya di perangkat Android, iOS, Web, IoT, dan di desktop/laptop. Terlepas dari perangkat, berikut adalah alur kerja yang paling umum, dengan link ke petunjuk lebih lanjut.
Mengidentifikasi solusi yang paling sesuai untuk tantangan ML
LiteRT menawarkan tingkat fleksibilitas dan kemampuan penyesuaian yang tinggi kepada pengguna saat memecahkan masalah machine learning, sehingga cocok untuk pengguna yang memerlukan model tertentu atau implementasi khusus. Pengguna yang mencari solusi plug-and-play mungkin lebih memilih MediaPipe Tasks, yang menyediakan solusi siap pakai untuk tugas machine learning umum seperti deteksi objek, klasifikasi teks, dan inferensi LLM.

Mendapatkan dan menyiapkan model
Model LiteRT direpresentasikan dalam format portabel yang efisien yang dikenal sebagai
FlatBuffers, yang menggunakan .tflite
ekstensi file.
Anda dapat memperoleh model LiteRT dengan cara berikut:
Mendapatkan model terlatih: untuk workload ML populer seperti segmentasi Gambar, Deteksi objek, dll.
Pendekatan paling sederhana adalah menggunakan model LiteRT yang sudah dalam format
.tflite. Model ini tidak memerlukan langkah konversi tambahan.Jenis model Sumber model terlatih ML Klasik
(.tfliteformat)Kunjungi Kaggle atau HuggingFace
Misalnya, model segmentasi gambar dan aplikasi contohAI Generatif
(format.litertlm)Halaman Hugging Face LiteRT
Misalnya, Keluarga GemmaKonversikan model PyTorch, TensorFlow, atau JAX yang Anda pilih menjadi model LiteRT jika Anda memilih untuk tidak menggunakan model terlatih. [PENGGUNA PROFESIONAL]
Framework model Contoh model Alat konversi PyTorch Hugging Face
TorchvisionLink TensorFlow Model Kaggle
Hugging FaceLink Jax Hugging Face Link Buat LLM Anda untuk pengoptimalan lebih lanjut menggunakan API Generatif [PENGGUNA PROFESIONAL]
Library API Generatif kami menyediakan blok penyusun bawaan PyTorch untuk menyusun model Transformer seperti Gemma, TinyLlama dan lainnya menggunakan abstraksi yang kompatibel dengan perangkat seluler, sehingga kami dapat menjamin konversi, dan eksekusi berperforma tinggi di runtime seluler kami, LiteRT. Lihat dokumentasi API Generatif.
Mengoptimalkan [PENGGUNA PROFESIONAL]
AI Edge Quantizer untuk developer lanjutan adalah alat untuk mengkuantisasi model LiteRT yang dikonversi. Tujuannya adalah untuk memudahkan pengguna lanjutan dalam mengupayakan performa optimal pada model yang memerlukan banyak resource (misalnya, model AI Generatif).
Lihat detail selengkapnya dari dokumentasi AI Edge Quantizer.
Mengintegrasikan model ke dalam aplikasi Anda di platform edge
LiteRT memungkinkan Anda menjalankan model ML sepenuhnya di perangkat dengan performa tinggi di seluruh platform Android, iOS, Web, Desktop, dan IoT.
Gunakan panduan berikut untuk mengintegrasikan model LiteRT di platform pilihan Anda:
| Platform yang didukung | Perangkat yang didukung | API yang didukung |
|---|---|---|
| Jalankan di Android | Perangkat seluler Android | C++/Kotlin |
| Jalankan di iOS/macOS | Perangkat seluler iOS, Macbook | C++/Swift |
| Jalankan di Web menggunakan LiteRT.js | Perangkat dengan Chrome, Firefox, atau Safari | JavaScript |
| Jalankan di Linux | Workstation Linux atau perangkat IoT berbasis Linux | C++/Python |
| Jalankan di Windows | Workstation atau laptop Windows | C++/Python |
| Jalankan di IoT | Perangkat tersemat | C++ |
Cuplikan kode berikut menunjukkan implementasi dasar di Kotlin dan 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));
Memilih backend
Cara paling mudah untuk menggabungkan backend di LiteRT adalah dengan mengandalkan kecerdasan bawaan runtime. Dengan CompiledModel API, LiteRT menyederhanakan penyiapan secara signifikan dengan kemampuan untuk menentukan backend target sebagai opsi. Lihat panduan inferensi di perangkat untuk mengetahui detail selengkapnya.
| Android | iOS / macOS | Web | Linux | Windows | IoT | |
|---|---|---|---|---|---|---|
| CPU | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | OpenGL OpenCL |
Metal WebGPU |
WebGPU | WebGPU OpenCL |
WebGPU OpenCL |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | Qualcomm | - | Qualcomm |
Dokumentasi dan dukungan tambahan
Repo GitHub LiteRT-Samples untuk aplikasi contoh LiteRT lainnya.
Untuk pengguna TensorFlow Lite yang sudah ada, lihat panduan migrasi.
Halaman Alat LiteRT untuk performa, pembuatan profil, pelaporan error, dll.