作者:Arm 工程部首席軟件工程師 Gian Marco Iodice
自 Arm KleidiAI 首次集成到 XNNPack 已過去整整一年。KleidiAI 是一款高度優(yōu)化的軟件庫,旨在加速 Arm CPU 上的人工智能 (AI) 推理。在過去一年中,從推出 INT4 矩陣乘法 (matmul) 優(yōu)化以增強 Google Gemma 2 模型性能開始,到后續(xù)完成多項底層技術(shù)增強,Arm 在 XNNPack 上實現(xiàn)了顯著的性能提升。
而更值得注意的是,開發(fā)者對此無需做任何改動。所有這些提升均實現(xiàn)了完全透明化,既不用修改代碼,也無需額外的依賴項。只需像往常一樣基于 XNNPack 構(gòu)建并運行應(yīng)用,就能自動享受到 Arm 通過 KleidiAI 引入的最新底層優(yōu)化。
本文就將為你詳細(xì)介紹最新的增強功能。
XNNPack 中的最新 KleidiAI 優(yōu)化
面向 SDOT 和 i8mm 的 F32 x INT8 矩陣乘法
在先前 INT4 優(yōu)化基礎(chǔ)上,此次優(yōu)化聚焦于通過動態(tài)量化加速 INT8 矩陣乘法,拓寬性能提升的覆蓋范圍,以支持各類 AI 模型。從卷積神經(jīng)網(wǎng)絡(luò)到前沿的生成式 AI 模型(例如 2025 年 5 月發(fā)布的 Stable Audio Open Small),這項優(yōu)化帶來了切實可見的性能提升。例如,該優(yōu)化使擴散模塊 (diffusion module) 的性能提升了 30% 以上。
與此前的 INT4 增強功能一樣,INT8 優(yōu)化借助 SDOT 指令和 i8mm 指令,在各類 CPU 上提升了動態(tài)量化性能。
面向 F32、F16 和 INT8 矩陣乘法的 SME2 優(yōu)化
近期最令人振奮的進展之一,是 Armv9 架構(gòu)上對可伸縮矩陣擴展 (SME2)的支持。這為 F32 (Float32)、F16 (Float16) 和 INT8 矩陣乘法帶來了顯著的性能躍升,為新的高性能應(yīng)用鋪平道路。因此,無論是對于當(dāng)前還是未來的 AI 工作負(fù)載,都能從一開始實現(xiàn)無縫加速,且無需任何額外投入。
什么是 SME2?
SME2 是 Armv9-A CPU 架構(gòu)中引入的一項全新 Arm 技術(shù)。SME2 基于可伸縮向量擴展 (SVE2) 技術(shù)構(gòu)建,并通過可惠及 AI、計算機視覺、線性代數(shù)等多個領(lǐng)域的特性拓展了其應(yīng)用范圍。
SME2 的一項突出特性是矩陣外積累加 (Matrix Outer Product Accumulate, MOPA) 指令,該指令能夠?qū)崿F(xiàn)高效的外積運算。如下圖所示,外積與點積的區(qū)別在于,點積的運算結(jié)果是一個標(biāo)量,而外積則由兩個輸入向量生成一個矩陣。
通過以下矩陣乘法示例來直觀理解這一區(qū)別:
該矩陣乘法可分解為一系列外積運算,如下圖所示:
明確這一概念后,再來深入探討構(gòu)成優(yōu)化的矩陣乘法例程核心的 SME2 匯編指令:
FMOPA za0.s, p0/m, p1/m, z1.s, z3.s
各操作數(shù)的含義如下:
FMOPA:浮點矩陣外積累加指令。
ZA0.s:用于存儲和累積外積結(jié)果的 ZA 寄存器塊。
p0/m 和 p1/m:用于定義有效計算通道(掩碼操作)的 Predicate 寄存器。
z1.s 和 z3.s:參與外積運算的輸入向量。
該指令支持多種數(shù)據(jù)類型,涵蓋浮點格式(如 F32 和 F16)及整數(shù)類型(如 INT8)。得益于 SVE 技術(shù)的應(yīng)用,它具備向量長度無關(guān)性,這意味著其能隨硬件向量尺寸自動適配擴展,無需修改任何代碼。
為展現(xiàn) SME2 的性能潛力,不妨看看它在 Google Gemma 3 模型中通過 INT8 外積指令加速 INT4 矩陣乘法的效果。相比同一設(shè)備未啟用 SME2 的情況,當(dāng) Gemma 3 模型部署在支持 SME2 的硬件上時,聊天機器人用例的 AI 響應(yīng)速度最高可提升六倍。
此外,借助單 CPU 核心上的 SME2 加速,Gemma 3 能在一秒內(nèi)開始對一篇四段文字的文本內(nèi)容生成摘要,充分印證了該架構(gòu)在響應(yīng)速度與運行效率上的提升。
優(yōu)化所帶來的實際意義
通過這些更新,XNNPack 成為首個支持 SME2 的 AI 推理庫,能夠在 Arm CPU 上進一步實現(xiàn)前所未有的性能表現(xiàn)。
無論是專注于生成式 AI 還是基于 CNN 神經(jīng)網(wǎng)絡(luò)的開發(fā)者,都能在無需修改任何代碼的情況下,在其應(yīng)用上實現(xiàn)顯著的性能提升。
展望 Arm KleidiAI 的未來
過去一年的實踐證明,透明化加速不僅切實可行,更已具備實際應(yīng)用價值。隨著 KleidiAI 不斷突破 XNNPack 上的性能表現(xiàn),開發(fā)者可專注于打造出色的 AI 體驗,而運行時性能也將持續(xù)提升。
-
ARM
+關(guān)注
關(guān)注
135文章
9444瀏覽量
385451 -
cpu
+關(guān)注
關(guān)注
68文章
11186瀏覽量
221177 -
AI
+關(guān)注
關(guān)注
88文章
36973瀏覽量
289793
原文標(biāo)題:集成一周年,Arm KleidiAI 與 XNNPack 實現(xiàn)無縫且透明性 AI 性能
文章出處:【微信號:Arm社區(qū),微信公眾號:Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Arm KleidiAI助力提升PyTorch上LLM推理性能

Arm+AWS實現(xiàn)AI定義汽車 基于Arm KleidiAI優(yōu)化并由AWS提供支持

Keil當(dāng)下有集成AI技術(shù)的規(guī)劃嗎
《電子發(fā)燒友電子設(shè)計周報》聚焦硬科技領(lǐng)域核心價值 第23期:2025.08.04--2025.08.08
Firefly支持AI引擎Tengine,性能提升,輕松搭建AI計算框架
重大性能更新:Wasm 后端將利用 SIMD指令和 XNNPACK多線程

ARM發(fā)布旗艦手機芯片:性能提升、AI性能增強、節(jié)能減耗
Arm KleidiAI軟件庫的功能解析

Arm成功將Arm KleidiAI軟件庫集成到騰訊自研的Angel 機器學(xué)習(xí)框架
利用Arm Kleidi技術(shù)實現(xiàn)PyTorch優(yōu)化

Arm 與微軟合作,為基于 Arm 架構(gòu)的 PC 和移動設(shè)備應(yīng)用提供超強 AI 體驗

Arm率先適配騰訊混元開源模型,助力端側(cè)AI創(chuàng)新開發(fā)

Arm神經(jīng)技術(shù)是業(yè)界首創(chuàng)在 Arm GPU 上增添專用神經(jīng)加速器的技術(shù),移動設(shè)備上實現(xiàn)PC級別的AI圖形性能
全新Arm Lumex CSS平臺實現(xiàn)兩位數(shù)性能提升

評論