LiteRT 概览

LiteRT(简称 Lite Runtime,以前称为 TensorFlow Lite)是 Google 面向设备端 AI 的高性能运行时。您可以找到适用于各种机器学习/AI 任务的 LiteRT 就绪模型,也可以使用 AI Edge 转换和优化工具将 TensorFlow、PyTorch 和 JAX 模型转换为 TFLite 格式并运行。

主要特性

  • 针对设备端机器学习进行了优化:LiteRT 解决了五项关键的 ODML 约束条件:延迟时间(无需往返服务器)、隐私性(没有个人数据离开设备)、连接性(无需连接到互联网)、大小(缩减了模型和二进制文件大小)和功耗(高效推理和缺少网络连接)。

  • 支持多平台:与 AndroidiOS 设备、嵌入式 Linux微控制器兼容。

  • 多框架模型选项:AI Edge 提供了用于将 TensorFlow、PyTorch 和 JAX 模型转换为 FlatBuffers 格式 (.tflite) 的工具,让您能够在 LiteRT 上使用各种先进的模型。您还可以使用可处理量化和元数据的模型优化工具。

  • 支持多种语言:包括适用于 Java/Kotlin、Swift、Objective-C、C++ 和 Python 的 SDK。

  • 高性能:通过 GPU 和 iOS Core ML 等专用代理实现硬件加速

开发工作流程

LiteRT 开发工作流包括识别机器学习/AI 问题、选择用于解决该问题的模型,以及在设备端实现该模型。以下步骤将引导您完成工作流程,并提供了指向进一步说明的链接。

1. 确定最适合机器学习问题的解决方案

在解决机器学习问题方面,LiteRT 为用户提供了极高的灵活性和自定义性,非常适合需要特定模型或专用实现的用户。寻找即插即用解决方案的用户可能更喜欢 MediaPipe Tasks,它为对象检测、文本分类和 LLM 推理等常见机器学习任务提供了现成解决方案。

选择以下 AI 边缘框架之一:

  • LiteRT:灵活可定制的运行时,可运行各种模型。为您的用例选择一个模型,将其转换为 LiteRT 格式(如有必要),然后在设备上运行该模型。如果您打算使用 LiteRT,请继续阅读。
  • MediaPipe Tasks:即插即用解决方案,包含可自定义的默认模型。选择可解决 AI/机器学习问题的任务,并在多个平台上实现该任务。如果您打算使用 MediaPipe Tasks,请参阅 MediaPipe Tasks 文档。

2. 选择模型

LiteRT 模型以名为 FlatBuffers 的高效可移植格式表示,该格式使用 .tflite 文件扩展名。

您可以通过以下方式使用 LiteRT 模型:

LiteRT 模型可以选择包含元数据,并在元数据中添加人类可读的模型说明和机器可读的数据,以便在设备推理过程中自动生成处理前和处理后流水线。如需了解详情,请参阅添加元数据

3. 将模型集成到您的应用中

您可以实现 LiteRT 模型,以便在 Web 设备、嵌入式设备和移动设备上完全在设备端运行推理。LiteRT 包含适用于 Python、适用于 Android 的 Java 和 Kotlin、适用于 iOS 的 Swift 以及适用于微型设备的 C++ 的 API。

请使用以下指南在您的首选平台上实现 LiteRT 模型:

在 Android 和 iOS 设备上,您可以使用硬件加速来提升性能。在任何一个平台上,您都可以使用 GPU 代理;在 iOS 上,您可以使用 Core ML 代理。如需添加对新的硬件加速器的支持,您可以定义自己的代理

您可以通过以下方式运行推理,具体取决于模型类型:

  • 不含元数据的模型:使用 LiteRT Interpreter API。在多种平台和语言(如 Java、Swift、C++、Objective-C 和 Python)中均受支持。

  • 包含元数据的模型:您可以使用 LiteRT Support 库构建自定义推理流水线。

从 TF Lite 迁移

使用 TF Lite 库的应用将继续运行,但所有新的活跃开发和更新都将仅包含在 LiteRT 软件包中。LiteRT API 包含与 TF Lite API 相同的方法名称,因此迁移到 LiteRT 不需要进行详细的代码更改。

如需了解详情,请参阅迁移指南

后续步骤

新用户应先参阅 LiteRT 快速入门。如需了解具体信息,请参阅以下部分:

模型转换

平台指南