今天看啥  ›  专栏  ›  大淘宝技术

端侧AI突破性能瓶颈:MNN 基于 SME2 指令集的大模型高效推理实现

大淘宝技术  · 公众号  · 程序员  · 2025-07-09 18:05
    

主要观点总结

文章介绍了Arm架构下的SME2指令集在MNN推理引擎的CPU后端实现矩阵乘算子的关键技术。基于生成式AI对算力与能效的严苛需求,文章从SME2的多向量指令、二维矩阵寄存器(ZA Array)、查表指令等核心架构特性出发,利用SME2的谓词寄存器控制、多向量数据流处理及查表加速机制,MNN CPU后端基于SME2指令实现了动态量化矩阵乘算子和浮点矩阵乘算子。通过矩阵乘法分块优化、INT8/FP16混合精度计算及外积累加(Outer Product and Accumulate)指令的高效应用,结合Mac M4 Pro平台的实测数据,验证了SME2在LLM推理中的性能优势。实验显示,其在预填充(Prefill)阶段实现单线程性能翻倍,在解码(Decode)阶段性能提升20%-30%。实验表明,在动态量化4bit权重场景下,SME2指令集在LLM模型(如Qwen2.5-1.5B/7B)中实现内存带宽节省与能效比显著提升,为端侧AI推理提供了兼具高性能与低功耗的技术方案。同时,针对计算机视觉(CV)任务,验证了浮点矩阵运算性能提升达200%-300%的技术可行性。截止2025年6月,支持SME指令集的手机只有苹果的iPhone,A17Pro芯片及后续A系列芯片的iPhone手机(iPhone15 Pro系列和iPhone16全系)都支持SME2指令集。支持SME2指令集的安卓手机预计将于2025年下半年上市,例如联发科的天玑9500芯片将会使用Arm新一代Cortex-X9超大核,该核心支持SME2指令集。SME2指令集特点包括SVE、SVE2、SME和SME2指令集的联系与区别,以及基础知识如向量寄存器和数组寄存器的用法,查表寄存器的原理,操作指令如数据的读取和存储指令、外积指令、内积指令、向量转置、和向量长度有关的指令操作等。此外,文章还探讨了寄存器的使用和恢复方法,以及SME2指令集和NEON指令的使用区别。

关键观点总结

关键观点1: SME2指令集在MNN推理引擎的应用

文章介绍了如何利用Arm架构下的SME2指令集在MNN推理引擎的CPU后端实现矩阵乘算子的关键技术,包括多向量指令、二维矩阵寄存器(ZA Array)、查表指令等核心架构特性的应用。

关键观点2: 性能提升与能效比

实验显示,在预填充(Prefill)阶段,基于SME2指令实现的矩阵乘kernel性能最高提升200%,解码(Decode)阶段性能提升20%-30%。在动态量化4bit权重场景下,SME2指令集实现了内存带宽节省与能效比显著提升。

关键观点3: 支持设备

截止2025年6月,支持SME指令集的手机只有苹果的iPhone,A17Pro芯片及后续A系列芯片的iPhone手机都支持SME2指令集。支持SME2指令集的安卓手机预计将于2025年下半年上市。

关键观点4: 指令集特性与基础知识

文章详细探讨了SVE、SVE2、SME和SME2指令集的联系与区别,介绍了向量寄存器和数组寄存器的用法,查表寄存器的原理,以及操作指令如数据的读取和存储指令、外积指令、内积指令、向量转置、和向量长度有关的指令操作等。

关键观点5: 寄存器使用和恢复方法

文章还介绍了寄存器的使用和恢复方法,以及SME2指令集和NEON指令的使用区别,展示了在AI计算中的巨大潜力。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照