Arm 可扩展矩阵扩展 2 将如何加速 Android 设备端 AI?

3次阅读
没有评论

共计 997 个字符,预计需要花费 3 分钟才能阅读完成。

Arm 可扩展矩阵扩展 2(SME2)是 Armv9-A 架构中的一组高级 CPU 指令,旨在加速矩阵密集型计算。这项新技术将帮助移动开发者直接在 CPU 上运行高级 AI 模型,无需对应用程序进行任何更改,即可提升性能和效率。

SME2 基于之前可用的 SME 扩展,该扩展引入了矩阵操作和流式向量处理。SME2 在此基础上增加了对多向量数据处理指令的加速支持、多向量的加载和存储,以及多向量预测机制。

Arm 可扩展矩阵扩展 2 将如何加速 Android 设备端 AI?

虽然 SME2 的性能优势已经在最新的 iOS 设备和 Apple M4 系列芯片上得到体现,但 Arm 的 AI 和开发者平台与服务副总裁 Alex Spinelli 表示,它很快也将登陆 Android 设备。

矩阵工作流对于实时移动推理任务(如图像和语言处理以及语音生成)至关重要。Arm 表示,启用 SME2 的工作流与未启用 SME2 的工作流相比,性能有显著提升。例如,在启用 SME2 的硬件上,Google 的 Gemma 3 模型提供了 6 倍更快的聊天响应速度,并且可以在单个 CPU 核心上在不到一秒的时间内开始总结多达 800 个单词。同样,在运行 3.8B 参数 Phi-3 Mini 模型的 vivo X200 Pro 旗舰智能手机上,提示处理速度提升了 2.6 倍。

为了帮助开发者利用 SME2,Arm 提供了一个名为 KleidiAI 的库,该库已集成到 Google 的 XNNPACK 中。XNNPACK 为多个机器学习和 AI 框架提供支持,包括阿里巴巴的 MNN、Google 的 LiteRT、微软的 ONNX Runtime 和 llama.cpp。当 SME2 启用且兼容时,XNNPACK 会自动通过 KleidiAI 将矩阵密集型操作路由到 SME2,因此开发者无需更改应用程序逻辑或基础设施即可直接受益。

KleidiAI 基于微内核架构,旨在轻松集成到 C 和 C++ 代码库中。在 Arm 的术语中,微内核指的是“以高性能加速给定 ML 操作所需的最少软件量”,例如打包或矩阵乘法。微内核不仅仅是一个函数的关键细节在于,每个微内核只处理输出张量的一部分,从而使整个操作可以分派到多个线程上。此外,KleidiAI 还具有其他对开发者友好的特性,包括不依赖外部依赖项、不使用动态内存或需要内存管理,以及高度模块化的设计,其中每个微内核都是一个独立的库,仅由 .c 和 .h 文件组成。

为了帮助开发者利用 SME2,Arm 还发布了展示基于 LLM 的实际应用示例的额外资源,这些示例使用了 LiteRT、MNN、PyTorch 和其他支持的框架。

正文完
 0
admin-gah
版权声明:本文于2025-07-13转载自infoq.com,共计997字。
转载提示:此文章非本站原创文章,若需转载请联系原作者获得转载授权。
评论(没有评论)
验证码