作者:Arm 物聯(lián)網(wǎng)事業(yè)部產(chǎn)品管理總監(jiān) Tim Menasveta
Arm Cortex-A320 是目前最小型的 Armv9-A 架構(gòu) CPU。得益于該處理器的推出,開(kāi)發(fā)者現(xiàn)在能有更多選擇決定如何處理物聯(lián)網(wǎng)邊緣人工智能 (AI) 工作負(fù)載。然而,面對(duì)多樣化的選擇,要確定適合特定 AI 應(yīng)用的處理器,系統(tǒng)開(kāi)發(fā)者需要通過(guò)比較基于 Arm Cortex-A、Arm Cortex-M 和 Arm Ethos-U NPU 的設(shè)備及其可能的搭配進(jìn)行決策。除了成本的考量,開(kāi)發(fā)者還需了解各款處理器具備的 AI 功能,以及自身的項(xiàng)目可以通過(guò)何種軟件開(kāi)發(fā)流程實(shí)現(xiàn)簡(jiǎn)化。
在嵌入式設(shè)備中實(shí)現(xiàn)高能效 AI 計(jì)算
近年來(lái),嵌入式設(shè)備中的 AI 計(jì)算效率突飛猛進(jìn)。Arm 的 M 和 A 處理器架構(gòu)的提升使得每單位能耗的機(jī)器學(xué)習(xí) (ML) 推理性能呈數(shù)倍增長(zhǎng)。特別是在 M 處理器架構(gòu)上,基于 Armv8.1-M 架構(gòu)的 Cortex-M52、Cortex-M55 和 Cortex-M85 CPU 集成了可編程的 Helium 向量擴(kuò)展,從而解鎖了在微控制器級(jí)設(shè)備上實(shí)現(xiàn)新 AI 用例的能力。此外,得益于可伸縮向量擴(kuò)展 (SVE2) 的引入,基于 Armv9 架構(gòu)的 Cortex-A 處理器(如最新推出的 Cortex-A320)相較其前代產(chǎn)品進(jìn)一步提升了 AI 性能。而 Ethos-U 系列 NPU 的最新一代產(chǎn)品 Ethos-U85,尤其在處理 Transformer 網(wǎng)絡(luò)時(shí),表現(xiàn)更為高效。
如何選擇合適的硬件?
每種架構(gòu)在不同方面各有優(yōu)勢(shì)。在考慮哪款硬件最適合時(shí),原始性能應(yīng)與設(shè)計(jì)靈活性相權(quán)衡。此外,還需要將包括 CI/CD 要求在內(nèi)的軟件開(kāi)發(fā)流程納入考量。
性能
滿足所需的 AI 處理性能至關(guān)重要。Cortex-A 處理器本就是一款面向多種應(yīng)用的可編程處理器,集成了 Neon/SVE2 向量引擎,旨在加速神經(jīng)網(wǎng)絡(luò)和各種向量化代碼,并能原生支持多種數(shù)據(jù)類(lèi)型。而帶有 Helium 向量引擎的 Cortex-M 處理器具備相同特性,且更適用于成本和能耗相對(duì)有限的目標(biāo)用例。相比之下,包含 Ethos-U85 在內(nèi)的 Ethos-U NPU 則專為處理神經(jīng)網(wǎng)絡(luò)算子而設(shè)計(jì),尤其還具備了量化的 8 位整數(shù)數(shù)據(jù)權(quán)重的能力,對(duì)于可以映射到這些 NPU 硬件的網(wǎng)絡(luò)算子,其任務(wù)表現(xiàn)十分高效。
基于 Armv9 架構(gòu)的最新一代 Cortex-A CPU 支持 BF16 等廣泛的數(shù)據(jù)類(lèi)型。此外,引入的新矩陣乘法指令顯著提高了神經(jīng)網(wǎng)絡(luò)的處理性能。關(guān)于如何通過(guò) SVE2 實(shí)現(xiàn)矩陣乘法的詳細(xì)解釋,推薦閱讀《Neon、SVE 和 SME 實(shí)現(xiàn)矩陣-矩陣乘法的比較》。
Cortex-M55 是首款集成 Helium 向量技術(shù)的 Cortex-M 處理器,此后推出的 Cortex-M85 也集成了這一技術(shù)。兩者都實(shí)現(xiàn)了雙節(jié)拍 (dual-beat) Helium 配置,每個(gè)時(shí)鐘周期可執(zhí)行多達(dá)八次的 8 位整數(shù)乘積累加運(yùn)算 (MAC) 操作。此外,Helium 還原生支持 FP16、FP32 等其他數(shù)據(jù)類(lèi)型。
最后,在具有量化數(shù)據(jù)類(lèi)型的模型上,具體來(lái)說(shuō)是 INT8 權(quán)重,以及 INT8 或 INT16 激活數(shù)據(jù),Ethos-U NPU 可以非常高效地處理神經(jīng)網(wǎng)絡(luò)。這種設(shè)計(jì)雖會(huì)限制其適用的數(shù)據(jù)類(lèi)型,但可提高 NPU 的執(zhí)行效率。
評(píng)估處理器在實(shí)際 AI 工作負(fù)載中性能的方法之一,是分析其每種數(shù)據(jù)類(lèi)型和每個(gè)時(shí)鐘周期的理論 MAC 執(zhí)行能力。由于神經(jīng)網(wǎng)絡(luò)處理使用大型數(shù)據(jù)集,因此內(nèi)存訪問(wèn)性能是另一大關(guān)鍵因素。不過(guò)在本例中,我們著重于處理器密集 (processor-bound) 性能,而非內(nèi)存密集 (memory-bound) 性能。
神經(jīng)網(wǎng)絡(luò)處理速率通常受限于底層硬件的 MAC 操作速率。雖然實(shí)際的網(wǎng)絡(luò)處理性能因網(wǎng)絡(luò)結(jié)構(gòu)而異,但下表所示的的理論 MAC 處理速率提供了硬件能力的指標(biāo)。
軟件
另外一個(gè)考慮的因素是每個(gè)硬件方案的軟件支持。Arm 為包括 Cortex-A、Cortex-M 和 Ethos-U 等在內(nèi)的各類(lèi) AI 硬件解決方案提供全面的開(kāi)源運(yùn)行時(shí)支持軟件。Arm 為各種 ML 框架和運(yùn)行時(shí)提供硬件加速支持,包括 PyTorch、ExecuTorch、Llama.cpp、TensorFlow 和 LiteRT(通過(guò) XNNPACK)。任何 ML 框架都可通過(guò)優(yōu)化,進(jìn)而充分利用 Arm 的 AI 特性。在 Arm 處理器上執(zhí)行的運(yùn)行時(shí)可利用 CMSIS-NN(針對(duì) Cortex-M/Helium)和 Arm Compute Library 或 Arm KleidiAI(針對(duì) Neon/SVE2 中的 INT8 和 BF16)等軟件加速庫(kù)。Vela 編譯器是一個(gè)通過(guò)優(yōu)化模型來(lái)實(shí)現(xiàn)高效部署的離線工具,可在 Ethos-U 上進(jìn)一步調(diào)優(yōu)可執(zhí)行二進(jìn)制文件,從而實(shí)現(xiàn)更卓越的硬件性能。
何時(shí)使用 Ethos-U?
一些具有明確定義的 AI 工作負(fù)載的邊緣 AI 用例可以通過(guò)將神經(jīng)網(wǎng)絡(luò)處理卸載到專用 NPU 上,從而釋放主處理器的計(jì)算密集型任務(wù),并由此獲益。如前所述,Ethos-U NPU 在處理具有量化的 8 位整數(shù)權(quán)重的神經(jīng)網(wǎng)絡(luò)時(shí)非常高效。Transformer 網(wǎng)絡(luò)特別適合在 Ethos-U85 上運(yùn)行。然而,Ethos-U85 NPU 需由一個(gè)主處理器(可以是 Cortex-M 或 Cortex-A)進(jìn)行驅(qū)動(dòng)。
主處理器與 Ethos-U 間可以有多種配置方式。Ethos-U 可由像 Cortex-M55 等啟用 Helium 的 Cortex-M 處理器驅(qū)動(dòng)使用。目前市面上已有這種系統(tǒng)級(jí)芯片 (SoC) 配置的示例。近期,在小語(yǔ)言模型 (SLM) 上運(yùn)行生成式 AI 工作負(fù)載愈發(fā)受到業(yè)界關(guān)注。Ethos-U 與啟用 Helium 的 Cortex-M 處理器相結(jié)合,是此類(lèi)用例的上佳之選。
此外,還有基于 Cortex-A 處理器的 SoC 集成了基于 Cortex-M 核心的 ML 島與 Ethos-U。這類(lèi) SoC 通常適合運(yùn)行 Linux 等功能豐富的操作系統(tǒng),并支持更大、更靈活的內(nèi)存系統(tǒng)。Cortex-M CPU 擁有 32 位可尋址內(nèi)存地址空間,能實(shí)現(xiàn)直接內(nèi)存地址映射,而像 Cortex-A320 等更新款的 Cortex-A 處理器則具有 40 位內(nèi)存可尋址空間,還可以通過(guò)內(nèi)存管理單元 (MMU) 的虛擬內(nèi)存尋址。
隨著大語(yǔ)言模型 (LLM) 的執(zhí)行逐漸轉(zhuǎn)向邊緣 AI 設(shè)備,擁有更大和更靈活的內(nèi)存系統(tǒng)可以簡(jiǎn)化較大參數(shù)規(guī)模(例如大于 10 億參數(shù)的 LLM)模型的執(zhí)行。Cortex-M 和 Ethos-U85 的組合很適合于越來(lái)越受到歡迎的小語(yǔ)言模型。Cortex-M 處理器具有 4GB 的尋址空間,并保留了其中一些空間用于系統(tǒng)功能。隨著 LLM 模型規(guī)模的增長(zhǎng),具有更大和更靈活內(nèi)存的 Cortex-A 系統(tǒng)將變得至關(guān)重要。
Arm 近期又宣布了另一種配置方式,稱為“直接驅(qū)動(dòng) (direct drive)”,即 Cortex-A 處理器直接驅(qū)動(dòng) Ethos-U NPU。這種配置無(wú)需專門(mén)的 Cortex-M 作為“驅(qū)動(dòng)”處理器。Ethos-U85 的 Linux 驅(qū)動(dòng)程序可在 Cortex-A 主控制器上運(yùn)行。
利用 Cortex-A320滿足邊緣設(shè)備的生成式 AI 需求
邊緣 AI 系統(tǒng)開(kāi)發(fā)者現(xiàn)在有更多的選擇來(lái)優(yōu)化物聯(lián)網(wǎng)中最靠近邊緣側(cè)的 AI。無(wú)論選擇 Cortex-M、Cortex-A 還是 Ethos-U 加速系統(tǒng),每種選擇都可滿足不同的需求。Cortex-A320 處理器能夠直接驅(qū)動(dòng) Ethos-U85,這讓設(shè)計(jì)人員獲得了更多的靈活性。作為 Arm 最小型、最高能效的 Armv9-A 處理器,Cortex-A320 在提高邊緣側(cè) AI 能效的同時(shí),適應(yīng)嵌入式系統(tǒng)中生成式 AI 演進(jìn)的需求。
-
處理器
+關(guān)注
關(guān)注
68文章
19500瀏覽量
231627 -
ARM
+關(guān)注
關(guān)注
134文章
9200瀏覽量
370415 -
AI
+關(guān)注
關(guān)注
87文章
32143瀏覽量
271056 -
嵌入式設(shè)備
+關(guān)注
關(guān)注
0文章
113瀏覽量
17092
原文標(biāo)題:如何為 AI 應(yīng)用選擇合適的 Arm 邊緣 AI 解決方案?
文章出處:【微信號(hào):Arm社區(qū),微信公眾號(hào):Arm社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Firefly支持AI引擎Tengine,性能提升,輕松搭建AI計(jì)算框架
嵌入式ARM的體系與內(nèi)核
嵌入式AI平臺(tái)有哪些?
ARM推出全新超高能效Cortex-A32處理器,擴(kuò)大嵌入式與物聯(lián)網(wǎng)產(chǎn)品陣容
基于ARM Cortex_A8的嵌入式Linux開(kāi)發(fā)的平臺(tái)構(gòu)建

ARM仿真器與嵌入式系統(tǒng)設(shè)計(jì)講解
幾種基本嵌入式處理器的介紹和應(yīng)用概述包括Sitara,ARM,Cortex等

使用ARM核設(shè)計(jì)實(shí)現(xiàn)嵌入式CPU的AHB接口說(shuō)明

評(píng)論