谷歌发布新版 LiteRT,增强设备机器学习推理能力

  LiteRT(之前的 TensorFlow Lite)新版本已发布,引入了一个新的 API 来简化设备上的机器学习推理,提升 GPU 加速性能,支持高通 NPU(神经处理单元)加速器,并增加了高级推理功能。

  新版本 LiteRT 的一个目标是让开发者可以更容易地利用 GPU 和 NPU 加速,这在之前开发者需要使用特定的 API 或供应商特定的 SDK:

在移动 GPU 和 NPU 上加速 AI 模型,可以将模型的速度提高到 CPU 的 25 倍,同时将功耗降低到原来的五分之一。

  LiteRT 正对 GPU 引入了 MLDrift,一种新的 GPU 加速实现,与 TFLite 的 GPU 委托相比,它带来了几项改进:包括更高效的基于张量的数据组织、基于上下文和资源的智能计算,以及优化的数据传输和转换。

这使得其性能显著优于 CPU,优于之前版本的 TFLite GPU 委托,甚至优于其他支持 GPU 的框架,尤其是在 CNN 和 Transformer 模型方面。

  LiteRT 还针对神经处理单元(NPU)进行了优化,NPU 是专门用于加速推理的 AI 加速器。根据谷歌的内部基准测试,NPU 的性能可以达到 CPU 的 25 倍,同时仅消耗五分之一的电量。然而,目前并没有一种标准化的方式来整合这些加速器,通常需要使用定制的 SDK 和供应商特定的依赖项。

  因此,为了提供一种统一的 NPU 开发和部署模型的方式,谷歌与高通和联发科合作,在 LiteRT 中增加了对它们的 NPU 支持,从而能够加速视觉、音频和自然语言处理模型。这包括在安装 LiteRT 时自动下载 SDK,以及通过 Google Play 选择性地分发模型和运行时。

  此外,为了进一步简化 GPU 和 NPU 加速的处理过程,谷歌对 LiteRT 的 API 进行了简化,让开发者在创建编译模型时能够指定要使用的后端。这可以通过 CompiledModel::Create 方法来实现,该方法支持 CPU、XNNPack、GPU、NNAPI(用于 NPU)和 EdgeTPU 后端,与之前需要针对每个后端使用不同方法的版本相比,大大简化了流程。

  LiteRT API 还引入了一些优化推理性能的功能,尤其针对内存或处理器受限的环境。这些功能包括通过新的 TensorBuffer API 实现的缓冲区互操作性,该 API 消除了 GPU 内存和 CPU 内存之间的数据复制;以及支持在 CPU、GPU 和 NPU 之间异步、并发地执行模型的不同部分。据谷歌透露,这可以将延迟降低到原来的一半。

  LiteRT 可以从 GitHub 下载,其中包含了几个示例应用程序,演示如何使用它。

  原文链接:

  https://www.infoq.com/news/2025/05/google-litert-on-device-ai/