7月18日,第五屆RISC-V中國峰會上,AI分論壇聚焦于RISC-V架構(gòu)在人工智能領(lǐng)域的創(chuàng)新與發(fā)展。隨著生成式AI的崛起,全球科技格局正在被重塑,而RISC-V憑借其“開放、靈活、可定制”的特性,已成為構(gòu)建自主AI算力基石的戰(zhàn)略支點。SiFive聯(lián)合創(chuàng)始人兼首席架構(gòu)師Krste Asanovic在AI分論壇深入探討了RISC-V架構(gòu)如何利用其開源、開放、可擴展的特性,實現(xiàn)AI計算架構(gòu)的革新,以及RISC-V架構(gòu)在AI軟硬件的最新進展和應(yīng)用落地情況。
在分論壇上,Krste Asanovic發(fā)表了題為“RISC-V AI指令擴展:從向量到矩陣的架構(gòu)選擇與挑戰(zhàn)”的主旨演講。他指出,人工智能的飛速發(fā)展正以年均超過100%的算力需求增長驅(qū)動底層架構(gòu)的革新。
AI用例和模型的共同點在于:需要對小型、專門的數(shù)據(jù)類型進行大量計算,同時需要大量的內(nèi)存來保存模型參數(shù),并且需要大量的內(nèi)存帶寬來獲取參數(shù)并在層之間通信。
Asanovic強調(diào),RISC-V支持通用計算模型,能夠平衡標(biāo)量、向量和矩陣功能。這種通用性使得RISC-V內(nèi)核不僅可以運行非AI部分的應(yīng)用程序,還可以運行AI部分,從而簡化軟件、降低延遲并提高利用率。此外,RISC-V能夠通過多核擴展實現(xiàn)任意高性能,新模型也可以在為早期模型設(shè)計的RISC-V硬件上運行得相當(dāng)好。不同微架構(gòu)可以在當(dāng)前或未來的RISC-V代際中實現(xiàn)標(biāo)量、向量和矩陣功能的不同平衡,而無需改變編程模型。
Asanovic詳細介紹了RISC-V向量擴展(RVV)對AI的重要性。向量是矩陣加速的關(guān)鍵,因為許多AI算法中的關(guān)鍵步驟無法作為矩陣乘法執(zhí)行。向量性能限制了AI的吞吐量,尤其是當(dāng)矩陣乘法被加速時。RVV旨在通過LMUL支持多種數(shù)據(jù)類型和混合精度操作,例如擴展乘加和縮小轉(zhuǎn)換。RVV設(shè)計為編譯器目標(biāo),目前已得到主要編譯器框架后端的支持。在AI領(lǐng)域,RVV 1.0支持INT{8,16,32,64}和IEEE FP{16,32,64}。經(jīng)過批準(zhǔn)的Zvfbfmin支持向量BF16轉(zhuǎn)換,而Zvbfwma則增加了向量擴展BF16乘加到FP32的功能。目前,正在討論通過在vtype CSR中使用新的altfmt位來以一種干凈的方式編碼新數(shù)據(jù)類型,而無需擴展指令長度或占用太多操作碼。未來,預(yù)計圍繞新向量數(shù)據(jù)類型的活動將顯著增加,包括對MXFP8/6/4的討論。
Asanovic進一步探討了RISC-V矩陣擴展的多種方法。矩陣乘法(matmul)指令可以在AI應(yīng)用的關(guān)鍵計算部分提供顯著的加速。然而,不同的RISC-V實現(xiàn)和應(yīng)用領(lǐng)域可能需要不同的矩陣乘法微架構(gòu),這可能導(dǎo)致不同的指令集架構(gòu)(ISA)選擇,甚至可能根本不使用矩陣乘法。目前,RISC-V社區(qū)正在探索四種主要的矩陣擴展方法:
- 向量批量點積(Zvbdot):這是一種快速跟蹤擴展,不引入新的狀態(tài),而是使用現(xiàn)有的向量寄存器。它可以計算多個點積,每個點積的輸入長度為VLEN位。這種方法適用于較小的向量長度,也可以滿足一些數(shù)字信號處理(DSP)的需求,但在較大的向量長度上無法擴展性能。
- 矩陣在向量(Matrix-in-Vector):這種方法不引入新的矩陣狀態(tài),而是將向量寄存器視為存儲一個或多個矩陣塊。它支持外積風(fēng)格的矩陣乘法,并且隨著向量寄存器長度的增加,算術(shù)強度也會增加。然而,這種方法的設(shè)計空間較大,可能需要更長時間才能達成共識。
- 向量矩陣(Vector-Matrix):這種方法為已經(jīng)具有RVV的處理器添加了新的矩陣狀態(tài),以保持矩陣C。它支持外積風(fēng)格的矩陣乘法,并且可以提供非常高的吞吐量,因為矩陣C的累加器狀態(tài)位于算術(shù)單元附近。這種方法維護了向量ISA和內(nèi)存模型,設(shè)計空間較小,預(yù)計會更快達成共識。
- 分離矩陣(Separate Matrix):這種方法引入了新的大型矩陣狀態(tài),用于存儲A、B和C。它不需要RVV向量,但如果存在RVV,則可以利用它們。這種方法的設(shè)計空間最大,軟件工作量也最大,預(yù)計需要最長時間才能達成共識。