构建 LiteRT 模型

本页面提供有关构建 TensorFlow 模型以转换为 LiteRT 模型格式的指南。您通过 LiteRT 使用的机器学习 (ML) 模型最初是使用 TensorFlow 核心库和工具构建和训练的。使用 TensorFlow 核心构建模型后,您可以将其转换为更小、更高效的机器学习模型格式,即 LiteRT 模型。

如果您已有要转换的模型,请参阅转换模型概览页面,获取有关转换模型的指导。

构建模型

如果您要为特定应用场景构建自定义模型,则应先开发和训练 TensorFlow 模型或扩展现有模型。

模型设计限制

在开始模型开发流程之前,您应了解 LiteRT 模型的限制,并在构建模型时考虑到这些限制:

  • 计算能力有限 - 与配备多个 CPU、高内存容量和 GPU、TPU 等专用处理器的完整服务器相比,移动设备和边缘设备的计算能力要有限得多。虽然这些设备在计算能力和专用硬件兼容性方面不断提升,但您可以使用它们有效处理的模型和数据仍然相对有限。
  • 模型大小 - 模型的总体复杂程度(包括数据预处理逻辑和模型中的层数)会增加模型的内存中大小。大型模型可能运行速度过慢,无法接受,或者根本无法放入移动设备或边缘设备的可用内存中。
  • 数据大小 - 在移动设备或边缘设备上,机器学习模型可有效处理的输入数据大小有限。使用大型数据库(例如语言库、图片库或视频片段库)的模型可能无法在这些设备上运行,可能需要使用设备外存储和访问解决方案。
  • 支持的 TensorFlow 操作 - 与常规 TensorFlow 模型相比,LiteRT 运行时环境支持的机器学习模型操作子集较小。在开发用于 LiteRT 的模型时,您应跟踪模型与 LiteRT 运行时环境的功能的兼容性。

如需详细了解如何为 LiteRT 构建有效、兼容且高性能的模型,请参阅性能最佳实践

模型开发

如需构建 LiteRT 模型,您首先需要使用 TensorFlow 核心库构建模型。TensorFlow 核心库是提供 API 来构建、训练和部署机器学习模型的较低级别库。

TFLite build 工作流程

TensorFlow 提供了两种实现此目的的方法。您可以开发自己的自定义模型代码,也可以从 TensorFlow Model Garden 中提供的模型实现入手。

Model Garden

TensorFlow Model Garden 提供了许多最先进的机器学习 (ML) 模型(用于视觉和自然语言处理 (NLP))的实现。您还可以找到工作流工具,以便在标准数据集上快速配置和运行这些模型。模型园地中的机器学习模型包含完整代码,因此您可以使用自己的数据集来测试、训练或重新训练这些模型。

无论您是想为知名模型设置性能基准、验证最新发布的研究成果,还是扩展现有模型,Model Garden 都能帮助您实现机器学习目标。

自定义模型

如果您的使用情形不在 Model Garden 中模型支持的范围内,您可以使用 Keras 等高级别库来开发自定义训练代码。如需了解 TensorFlow 的基础知识,请参阅 TensorFlow 指南。如需开始使用示例,请参阅 TensorFlow 教程概览,其中包含指向从初级到专家级教程的指针。

模型评估

开发模型后,您应评估其性能并在最终用户设备上对其进行测试。TensorFlow 提供了几种方法来实现此目的。

  • TensorBoard 是一种工具,用于在机器学习工作流期间提供所需的测量结果和可视化效果。它支持跟踪实验指标(例如损失和准确率)、直观呈现模型图以及将嵌入内容投影到较低维度空间,等等。
  • 每种受支持的平台(例如 Android 基准测试应用和 iOS 基准测试应用)都有相应的基准测试工具。您可以使用这些工具来衡量和计算重要性能指标的统计信息。

模型优化

由于 TensorFlow Lite 模型存在特定的资源限制,因此模型优化有助于确保模型性能良好并使用更少的计算资源。机器学习模型性能通常需要在模型大小和推理速度与准确率之间取得平衡。LiteRT 目前支持通过量化、剪枝和聚类进行优化。如需详细了解这些技术,请参阅模型优化主题。 TensorFlow 还提供了一个模型优化工具包,其中包含一个实现这些技术的 API。

后续步骤