谷歌推出 LiteRT Tensor API",一个轻量级 C++ API,让开发者可以直接面向端侧构建、定制和优化机器学习模型。谷歌表示,它兼顾原生模型开发的灵活性与跨平台可移植性。

谷歌表示,传统方法是开发者使用 C++ 手动编写计算逻辑以获得最大控制权,但存在明显的短板:

实现代码与特定后端(如 Metal、OpenCL 或 Vulkan)紧密耦合,每新增一种硬件目标都要重写代码。此外,要在 CPU、GPU、NPU 之间实现零拷贝缓冲区互通与同步,同时将预处理、推理和后处理拼接在一起,需要大量的人工开发工作。

LiteRT Tensor API" 旨在解决这些痛点:开发者可以用 C++ 逐个算子搭建计算图。这提供了对模型架构、优化和加速器执行的更大控制权,同时使相同的计算图能够通过 LiteRT 在 CPU、GPU 和 NPU 硬件上运行,无需为每个新目标重新编写。

除了提供对模型图的完全控制外,该 API 的其他关键能力还包括:直接权重导入,开发者可以直接从检查点加载权重,包括 Hugging Face 的 .safetensors 文件;零拷贝缓冲区互操作,避免在预处理、推理和后处理之间复制加速器缓冲区;与 AI 编码智能体的兼容性,智能体可以通过生成 C++ 代码来构建、修改、验证和基准测试模型图。

谷歌用编码智能体构建了一个演示应用,演示如何使用 LiteRT Tensor API" 进行多对象分割和跟踪。该应用还被作为跨平台性能基准测试的基础:

我们在三种设备上运行了同一份 SAM 2 模型的 C++ 代码:一台 macOS 笔记本电脑(Metal)、一部 iOS 手机(Metal)和一部 Android 手机(OpenCL)。在我们的测试中,它在 MacBook Pro 上比 Apple MLX(fp16,图像编码器加掩码解码器)快约 1.5 倍。

谷歌强调,由于模型图是用纯 C++ 定义的,编码智能体能够进行多项优化。具体来说,它“将 SAM 2 的逐帧决策(例如对象是否仍然可见)从 CPU 代码移入计算图中”,并重写了在 WebGPU 上触发 CPU 回退的操作,改用兼容 GPU 的算术运算。

Arm AI 总监 Laurence Moroney 在 LinkedIn 上评论这一公告时强调,开发者应始终从模型转换开始",只有在“需要图级控制或希望预处理和后处理保留在加速器上”时才考虑这个 C++ API。他还强调了用纯 C++ 定义模型图的好处:

在 WebGPU 上,512×512 分辨率下帧率从不足 10fps 提升至 30fps 以上,且整个迭代优化由编码智能体完成,足以说明结构化原语可以帮助智能体实现真实的性能优化。

谷歌还规划了多项后续改进,包括原生支持 ML Drift" 后端、更多对 NPU 友好的操作、自动全图量化,以及针对不同图像尺寸、批大小和序列长度的扩展动态形状支持。

查看英文原文:https://www.infoq.com/news/2026/11/litert-tensor-api/"