Arm 為在各類技術領域運行無處不在的人工智能 (AI) 奠定了堅實的技術基礎。這得益于我們行業領先的架構可在全球數十億臺多樣化設備上支持各種計算工作負載。
Arm 始終專注于快速地進行架構演進,確保我們領先的生態系統能夠適應未來的技術趨勢和不斷變化的計算需求。雖然 AI 的迅猛崛起似乎是最近才出現的現象,但過去二十多年來,Arm 一直致力于為 AI 創新奠定基礎,先是在 Armv7 架構中引入了高級單指令多數據 (SIMD) 擴展,初探機器學習 (ML) 工作負載,再是如今的 Armv9 架構,我們在 Arm CPU 上集成了用于加速和保護如大語言模型 (LLM) 等先進的生成式 AI 工作負載的特性。
可伸縮矩陣擴展 (SME) 就是其中的一項創新特性,旨在滿足當今 AI 和 ML 工作負載日益增長的復雜性和功耗需求。除了加速當今的 AI 發展之外,SME 還為 Arm 架構提供了靈活性,便于管理不斷發展的生成式 AI 工作負載。
可伸縮矩陣擴展及其特性
SME 是 Armv9-A 架構中引入的指令集架構 (ISA) 擴展,可加速 AI 和 ML 工作負載,并為 Arm CPU 上運行的 AI 和 ML 應用提供更高的性能、能效和靈活性。具體而言是通過以下特性實現的:
顯著提升 Arm CPU 上的矩陣和矢量處理吞吐量和效率;
通過引入外積指令,減少內存帶寬壓力,盡可能地復用寄存器中加載的數據;
擴展壓縮用戶數據,在不增加內存負載帶寬的情況下提高輸入元素的吞吐量;
支持多種存儲和計算數據類型,使其成為適用于當前和未來多種用例的靈活解決方案;
允許在實現中選擇介于 128 至 2048 位的 Streaming Vector Length (SVL),從而實現 SVL^2 的矩陣-矩陣乘法吞吐量。
SME2 在 SME 的基礎上增加了多矢量指令,允許在矩陣和矢量運算中復用架構狀態 (ZA Array),并具有更高吞吐量的矢量處理能力。這有助于通過壓縮 AI 格式來減少內存帶寬并節省功耗,從而實現矢量和矩陣加速的平衡。SME2 還能夠靈活地動態去量化,并解壓縮 2 位和 4 位權重,以節省內存帶寬。在生成式 AI 工作負載日益復雜和耗電加劇的背景下,這些特性非常重要,同時也彰顯了 Arm 致力于應對 AI 無止盡的能源需求。
SME 和 SME2 的關鍵用例
SME 可加速如生成式 AI 和經典 ML 網絡,以及計算機視覺 (CV) 等各種類型的 AI 和 ML 工作負載。具體的實現途徑是 SME 能夠處理矩陣乘矩陣、矩陣乘矢量和多個矢量乘矢量運算,以及 ML 執行過程中所需的前處理和后處理階段。我們預計,SME 將有益于不同市場的各種 AI 用例,包括:
結合了 ML 和經典 CV/DSP 方法的應用,例如電影攝影、媒體處理、駕駛員監控、數字化座艙、音頻處理、先進駕駛輔助系統 (ADAS) L2+ 和實時語音助手等。
利用小語言模型和 LLM 的用例,包括聊天機器人、對話摘要和虛擬助手等。
矢量處理、矩陣處理和量化
要了解 SME 的工作原理,有必要解釋一下它所支持的不同 AI 處理技術,以及 SME 和 Armv9 架構為每種技術帶來的好處。其中包括:
矢量處理
矩陣處理
矩陣乘法
量化
矢量處理
在 AI 和 ML 語境中,矢量代表數值和數據點的一維數組,通常用于對神經網絡中的特征、輸入或權重進行編碼。矢量處理常用于現代 AI 框架和庫,例如 TensorFlow 和 PyTorch 等。利用此方法,AI 算法可以高效應對復雜計算,更快地處理大型數據集,從而縮短訓練時間,提高性能。SME 包含矢量指令,可并行計算多個值,而不是按順序處理每個值,從多方面大大加快了 AI 計算。
矩陣處理
矩陣是數值和數據點的二維數組,在包括 ML 和深度學習在內的各種 AI 技術中發揮著至關重要的作用。通過 SME 進行矩陣處理需要對這些矩陣進行運算,以提高基于 AI 的核心工作負載的性能和效率,包括線性代數運算(如矩陣乘法)和神經網絡。
矩陣乘法
矩陣乘法是 AI 和 ML 工作負載以及科學模擬和計算機視覺等其他計算工作負載的重要組成部分。矩陣-矩陣乘法運算對 CPU 上的 AI 加速越來越重要,并顯著受益于 SME。Arm 架構隨時間推移不斷演進,通過引入新特性提高了這些運算的性能和效率。例如:
Armv7 增加了高級 SIMD 擴展,也稱為 Arm Neon 指令。
Armv8.4-A 支持 8 位整數點積指令。
Armv8.6-A 支持各種數據類型的矢量內整數和浮點矩陣乘法指令,包括新的 BFloat16 數據類型。
Armv9-A 包括可伸縮矢量擴展 2 (SVE2),用于數字信號處理器 (DSP)、媒體和通用矢量化。
Armv9.2-A 引入了 SME。
量化
量化涉及降低數值的精度,通常是從浮點表示法轉換為定點表示法。SME 使用該過程來減少 AI 和 ML 模型的內存帶寬、占用空間以及計算復雜性,進而提高其效率,這對計算密集型生成式 AI 工作負載非常重要。這意味著它們可以部署在資源受限的設備上,如智能手機、移動設備、嵌入式系統和物聯網設備等。
Arm 架構長期致力支持 AI 特性
過去二十年來,Arm 一直致力于在架構上添加 AI 特性、規范和指令。2003 年首次發布的 Armv7 架構增加了高級 SIMD 擴展,也稱為 Arm Neon 指令。Neon 將寄存器視為由相同數據類型的元素組成的一維矢量,指令可同時對多個元素進行操作。隨后 Armv8 架構增加了一系列 AI 的規范和指令,包括點積指令、矢量內矩陣乘法指令和 BFloat16 支持。它還改進了高級 SIMD 擴展,將矢量寄存器的數量增加了一倍,并增加了浮點支持。所有這些改進和新增特性的目的都是用于加速 AI 和 ML 性能,以應對不斷發展的 AI 工作負載。除了 SVE2、SME 和新的 SME2 之外,Armv9 架構還集成包含了所有這些特性、規范和指令。
SME 的核心優勢
Armv9 架構上的 SME 顯著提高了 Arm CPU 對現有 AI 和 ML 工作負載的處理能力,從而在各種 AI 驅動的設備和應用中帶來速度更快、響應更靈敏的用戶體驗。它還能加速一系列使用矩陣運算的應用,如 DSP、科學計算、增強現實 (AR)、虛擬現實 (VR) 和圖像處理等等,AI 和 ML 在所有這些應用中都扮演著日益重要的角色。
與能夠以多種不同數據格式運行各種神經網絡的 Arm CPU 類似,SME 也提供了靈活性,旨在滿足不斷發展的 AI 和 ML 工作負載日益復雜的要求。這將確保 Arm 架構在快速發展的 AI 時代及未來仍適用于至關重要的計算工作負載。展望未來,我們將繼續在指令集中添加更多 AI 功能,以助益 Arm 領先的生態系統,讓我們的合作伙伴能夠為其 AI 解決方案提供更高的性能、創新特性和可擴展性。
基于 AI 的 Arm 架構創新
SME 體現了 Arm 在架構方面的不斷創新。隨著 AI 的不斷發展壯大,SME 將確保 Arm CPU 能夠高效地處理新的高能耗生成式 AI 工作負載,從而在數十億臺 Arm 技術驅動的設備上提供更好的 AI 體驗。這將夯實 Arm 持續作為全球 AI 基石的地位。
-
ARM
+關注
關注
134文章
9084瀏覽量
367387 -
cpu
+關注
關注
68文章
10854瀏覽量
211584 -
AI
+關注
關注
87文章
30728瀏覽量
268887 -
SME
+關注
關注
0文章
8瀏覽量
7046
原文標題:Armv9 SME 賦能 AI 創新
文章出處:【微信號:Arm社區,微信公眾號:Arm社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論