LiteRT CompiledModel API 代表了设备端 ML 推断的现代标准,可提供简化的硬件加速,性能远超 Interpreter API。该接口可提供统一的开发者体验和旨在最大限度提高硬件效率的高级功能,从而简化 .tflite 模型在各种边缘平台上的部署。
为何选择 CompiledModel API?
虽然 Interpreter API 仍可用于实现向后兼容性,但 CompiledModel API 会优先考虑新的性能和加速器功能。建议选择此方法的原因如下:
出色的 GPU 加速:利用先进的 GPU 加速库 ML Drift,在移动设备、Web、桌面设备和 IoT 设备上提供可靠的 GPU 推理。请参阅使用 LiteRT 进行 GPU 加速。
统一的 NPU 访问:提供一致的开发者体验,以便访问来自 Google Tensor、Qualcomm、MediaTek 等各种提供商的 NPU,从而抽象出特定于供应商的编译器和运行时复杂性。请参阅使用 LiteRT 进行 NPU 加速。
自动选择硬件:根据可用硬件和内部优先级逻辑,在 CPU、GPU 和 NPU 之间自动选择最佳后端,无需手动配置委托。
异步执行:利用操作系统级机制(如同步栅栏)使硬件加速器能够在完成之前的任务后直接触发,而无需涉及 CPU。这可将延迟时间缩短多达 2 倍,并确保提供更顺畅、更具互动性的 AI 体验。
高效的 I/O 缓冲区管理:利用
TensorBufferAPI 管理加速器之间的高性能数据流。这包括跨AHardwareBuffer、OpenCL 和 OpenGL 的零复制缓冲区互操作,从而消除了预处理、推理和后处理阶段之间代价高昂的数据复制。
CompiledModel API 使用入门
对于经典机器学习模型,请参阅以下演示应用。
- 图片分割 Kotlin 应用:CPU/GPU/NPU 推理。
- 图像分割 C++ 应用:使用异步执行的 CPU/GPU/NPU 推理。
对于生成式 AI 模型,请参阅以下演示应用:
- EmbeddingGemma 语义相似度 C++ 应用:CPU/GPU/NPU 推理。
支持的平台
LiteRT CompiledModel API 支持在 Android、iOS、Web、IoT 和桌面设备上进行高性能推理。请参阅平台专用指南。