跳到正文
Google Developers Blog·· 23 小时前精选AI 评分64

Google Play services 中的 LiteRT 迎来升级,GPU 推理提速约 1.4 倍

Smaller apps and faster GPU inference with LiteRT in Google Play services

AI 导读

Google 为 Google Play services 中的端侧推理运行时 LiteRT 推出升级,基于 ML Drift 的 GPU 推理比旧版 GPU delegate 快约 1.4 倍,并通过新的 CompiledModel API 提供。

推荐理由

原文给出了 GPU 推理提速幅度、APK 体积变化和迁移代码量,读者可据此判断端侧推理的接入成本。

正文 · AI 翻译

2026年10月28日

Google Play 服务中的 LiteRT 是 Android 面向自定义模型的端侧推理运行时,每天在数十亿台设备上处理超过一万亿次推理。如今,它迎来了迄今为止最大的一次升级:GPU 推理速度比旧版 GPU delegate 快约 1.4 倍,由 ML Drift 提供支持,并可通过全新的 CompiledModel API 使用——这是 LiteRT 对旧版 Interpreter API 的现代替代方案。

在此之前,要利用这套更快的 GPU 技术栈,需要将 LiteRT 打包进你的应用。在我们的测试中,改用 Google Play 服务中 LiteRT 的应用体积缩小了约 8 MB,使其下载更快、对用户设备的负担更轻,因为运行时(包括 GPU 加速器)随 Play 服务一次性分发,而不再打包进每个应用。目前有超过 10 万个 Android 应用自带 LiteRT 或 TensorFlow Lite 副本,因此随着应用切换,节省效果会迅速累积。

如果你的 Android 应用在 CPU 或 GPU 上运行自定义 ML 模型,我们鼓励你改用 Google Play 服务中的 LiteRT。你可以在 Google AI Edge Gallery 应用中看到它的实际效果,其中 Scrapbook 功能的图像分割就运行在 Google Play 服务中的 LiteRT 上。

为什么使用 Google Play 服务中的 LiteRT

采用 Google Play 服务中 LiteRT 的开发者可立即获益:

  • 应用更小,更多可用存储:由于 APK 中不再打包 ML 运行时,你的应用体积更小、下载更快。此外,由于应用共享同一个运行时,每有一个应用切换,存储和内存的节省就会增加。
  • 自动更新:性能改进、错误修复和安全补丁通过 Play 服务以分阶段推送的方式到达,可及早发现特定设备的问题,而无需你发布应用更新。
  • 更多运行平台:Play 服务中的 LiteRT 可运行在低至 Android 7(API 级别 24)的手机上,现在还支持 Wear OS 4+ 和 Android Automotive OS(Android 11+)。
  • 经过大规模测试:ML Kit 的视觉和文本 API(如 Subject Segmentation 和 Document Scanner)已在数十亿台 Android 设备上大规模由 Google Play 服务中的 LiteRT 提供支持。采用 Google Play 服务中的 LiteRT,你就是在自己的应用中使用同样经过实战检验的基础设施。

CompiledModel API


LiteRT 是 TensorFlow Lite 的演进版本。它保留了你所依赖的相同 .tflite 模型格式,并新增了 CompiledModel API,使跨碎片化硬件的加速变得可靠:

  • 更简单:CPU 和 GPU 加速采用同一套工作流程,而不再需要为每种加速器使用不同的 delegate 和设置路径。LiteRT 在可用时使用 OpenCL,否则使用 OpenGL。如果你同时请求 GPU 和 CPU,在没有可用 GPU 的设备上它会回退到 CPU。
  • 更快:由 ML Drift 提供支持,这是 LiteRT 最新的开源 GPU 引擎,已被 Google 应用每天在数百万台设备上使用。GPU 推理速度比旧版 TensorFlow Lite GPU delegate 快约 1.4 倍。
  • 可移植:支持跨平台,因此同一个 .tflite 模型可运行在 Android、iOS、桌面端和 Web 上。
  • 灵活:旧版 Interpreter API 在 CPU 上仍受支持,因此你可以分阶段迁移。

开始使用与升级

无论你是全新开始,还是从打包的 LiteRT 切换过来,使用 Google Play 服务中的 LiteRT 只需几行代码:

  1. 添加 com.google.android.gms:play-services-litert:17.0.0(或更高版本)。如果你目前打包了 LiteRT,请移除 litert 依赖。
  2. 从 Play services 获取 LiteRT 环境:
val liteRtEnvironment =
    LiteRt.initialize(
        context,
        LiteRtDsl.initializationOptions { setEnableGpu(true) }
    ).await()

Kotlin

已复制

  1. 创建 CompiledModel 时传入 LiteRT environment。其余代码保持不变。

如果你已经在 Google Play services 中使用旧版 Interpreter API,切换到 play-services-litert 后,你的 Interpreter 代码仍可在 CPU 上运行。要在 GPU 上运行,请迁移到 CompiledModel API。

让你的编码智能体来完成这项工作。在 Agent Mode 中,适用于 Android Studio 的全新 LiteRT 技能可自动完成向 Google Play services 中的 LiteRT 以及 CompiledModel API 的迁移。让它“将我的 TFLite 代码迁移到 CompiledModel”,或输入 @litert-runtime,它就会将你的应用切换到 play-services-litert、重写你的 Interpreter 调用,并设置带 CPU 回退的 GPU 加速。它还可以搭建新的 LiteRT 应用。请将其视为一次扎实的初稿:审查差异、构建,并在真机上比较输出。在 GitHub 上获取该技能。

要从旧版 API 升级?旧版 GPU delegate 和自定义 delegate API 已弃用,取而代之的是 CompiledModel GPU 加速以及 Compiler Plugin 和 Dispatch API,并且 NNAPI 将从 2027 年起被移除。较旧的 SDK 现在仅接收关键安全修复。你已发布的应用仍可继续运行,但现在就应规划迁移到 CompiledModel API:使用已弃用 API 的代码将无法针对最新 SDK 编译,而随着其他依赖项向前推进,继续使用较旧 SDK 可能导致冲突。详情请参阅版本说明。

接下来

展望未来,Google Play services 中的 LiteRT 是我们在 Android 上运行你自己的任务专用模型的基础,并支持 CPU 和 GPU 加速。

  • LiteRT 将持续获得定期更新,包括更好的 GPU 加速和更广泛的模型覆盖。
  • Play services 中的 NPU 支持正在积极开发中。

准备好开始了吗?

我们迫不及待想看到你构建的作品。

上一页

下一页

来源:Google Developers Blog · developers.googleblog.com