LiteRT 是 Google 的裝置端架構,可透過高效轉換、執行階段和最佳化功能,在邊緣平台部署高效能 ML 和 GenAI。
最新版 LiteRT 2.x 推出 CompiledModel API,這項現代化執行階段介面可充分發揮硬體加速功能。雖然 Interpreter API (先前稱為 TensorFlow Lite) 仍可供使用,以確保回溯相容性,但對於想在裝置端 AI 應用程式中獲得頂尖效能的開發人員來說,CompiledModel API 是建議的選擇。
LiteRT 的主要功能
使用 LiteRT 簡化開發作業
自動選取加速器與明確建立委派項目。有效處理 I/O 緩衝區,並執行非同步作業,以提升效能。請參閱裝置端推論說明文件。
頂尖的 GPU 效能
這項功能採用 ML Drift 技術,目前支援 GPU API 上的機器學習和生成式 AI 模型。請參閱 GPU 加速說明文件。
統一 NPU 加速
透過主要晶片組供應商提供的簡化 NPU 存取權,加快模型運作速度。請參閱 NPU 加速說明文件。
優質 LLM 支援
LiteRT 可在行動裝置、電腦和網路平台,以高效能部署生成式 AI 模型。請參閱生成式 AI 部署說明文件。
支援多種機器學習架構
LiteRT 支援從 PyTorch、TensorFlow 和 JAX 架構簡化轉換為 .tflite 或 .litertlm 格式。請參閱模型轉換說明文件。
開始使用 CompiledModel API
如需傳統 ML 模型,請參閱下列示範應用程式。
- 圖片分割 Kotlin 應用程式:CPU/GPU/NPU 推論。
- 圖像分割 C++ 應用程式:使用 async 執行,透過 CPU/GPU/NPU 進行推論。
生成式 AI 模型:請參閱下列範例應用程式:
- EmbeddingGemma 語意相似度 C++ 應用程式: CPU/GPU/NPU 推論。
開發工作流程
LiteRT 會在 Android、iOS、Web、IoT 和桌機/筆電上,完全在裝置端執行推論。無論使用哪種裝置,最常見的工作流程如下,並附上詳細操作說明的連結。

找出最適合解決機器學習挑戰的方案
LiteRT 可讓使用者在解決機器學習問題時享有高度彈性和自訂空間,因此非常適合需要特定模型或專門實作方式的使用者。如果使用者需要即插即用的解決方案,可能更適合使用 MediaPipe Tasks,這項工具提供現成的解決方案,可執行常見的機器學習工作,例如物件偵測、文字分類和 LLM 推論。
取得及準備模型
LiteRT 模型以 FlatBuffers 這種高效率可攜格式呈現,並使用 .tflite 副檔名。
您可以透過下列方式取得 LiteRT 模型:
取得預先訓練的模型:適用於熱門的機器學習工作負載,例如圖像分割、物件偵測等。
最簡單的方法是使用
.tflite格式的 LiteRT 模型。這些模型不需要任何額外的轉換步驟。模型類型 預先訓練模型來源 傳統機器學習
(.tflite格式)前往 Kaggle 或 HuggingFace
例如:圖片區隔模型和範例應用程式生成式 AI
(.litertlm格式)LiteRT Hugging Face 頁面
例如 Gemma 系列如果您選擇不使用預先訓練的模型,請轉換所選的 PyTorch、TensorFlow 或 JAX 模型,使其成為 LiteRT 模型。[PRO USER]
模型架構 範例模型 轉換工具 Pytorch Hugging Face
Torchvision連結 TensorFlow Kaggle Models
Hugging Face連結 Jax Hugging Face 連結 使用 Generative API [專業版使用者] 撰寫 LLM,進一步最佳化。
我們的 Generative API 程式庫提供 PyTorch 內建的建構區塊,可使用適合行動裝置的抽象化功能,編寫 Transformer 模型,例如 Gemma、TinyLlama 和其他模型,藉此確保轉換作業,並在行動執行階段 LiteRT 上執行高效能作業。請參閱生成 API 說明文件。
量化 [PRO USER]
AI Edge Quantizer 適用於進階開發人員,可量化轉換後的 LiteRT 模型。這項功能旨在協助進階使用者,盡可能提升耗用大量資源的模型 (例如 生成式 AI 模型)。
詳情請參閱 AI Edge Quantizer 說明文件。
將模型整合至邊緣平台上的應用程式
LiteRT 可讓您完全在裝置端執行機器學習模型,並在 Android、iOS、網頁、電腦和 IoT 平台發揮高效能。
請參閱下列指南,在偏好的平台上整合 LiteRT 模型:
| 支援的平台 | 支援的裝置 | 支援的 API |
|---|---|---|
| 在 Android 裝置上執行 | Android 行動裝置 (不含平板電腦) | C++/Kotlin |
| 在 iOS/macOS 上執行 | iOS 行動裝置、Macbook | C++/Swift |
| 使用 LiteRT.js 在網頁上執行 | 安裝 Chrome、Firefox 或 Safari 的裝置 | JavaScript |
| 在 Linux 上執行 | Linux 工作站或 Linux 裝置 | C++/Python |
| 在 Windows 上執行 | Windows 工作站或筆電 | C++/Python |
| 在 Micro 上執行 | 內嵌裝置 | C++ |
下列程式碼片段顯示 Kotlin 和 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));
選擇硬體加速器
在 LiteRT 中納入後端最直接的方式,就是仰賴執行階段的內建智慧功能。透過 CompiledModel API,LiteRT 可指定目標後端做為選項,大幅簡化設定程序。請參閱裝置端推論指南,瞭解詳情。
| Android | iOS / macOS | 網頁 | Linux / Windows | IoT | |
|---|---|---|---|---|---|
| CPU | XNNPACK | XNNPACK | XNNPACK | XNNPACK | XNNPACK |
| GPU | WebGPU OpenCL |
WebGPU Metal |
WebGPU | WebGPU OpenCL |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - |
其他說明文件和支援
如需更多 LiteRT 範例應用程式,請參閱 LiteRT-Samples GitHub 存放區。
TensorFlow Lite 現有使用者請參閱遷移指南。
LiteRT 工具頁面,可查看效能、剖析、錯誤報告等資訊。