玄鐵趙思齊:RISC-V AME面向AI應用的高擴展性矩陣擴展
7月18日,第五屆RISC-V中國峰會在上海進入分論壇環節。作為未來電子產業最龐大的應用范疇之一,人工智能是不可回避的話題。人工智能的飛速發展,正以年均超過100%的算力需求增長驅動底層架構的革新,“開放、靈活、可定制”的RISC-V已成為構建自主AI算力基石的戰略支點。人工智能分論壇邀請各方企業探討RISC-V架構如何利用其開源、開放、可擴展的特性,實現AI計算架構的革新,以及RISC-V架構在AI軟硬件的最新進展和應用落地情況。
RISC-V生態已經存在好幾種Matrix架構,阿里巴巴達摩院技術專家、RISC-V國際基金會AME TG主席趙思齊在分論壇上詳細介紹了RISC-V面向AI應用的高擴展性矩陣擴展的最近進展,同時分享了關于AME本身及AME內部正在發生的一些事情,帶給現場觀眾一些更詳細、更具體的對于未來“AME會是什么”的一個想像。
AME擴展的指令作為CPU指令流的一部分,趙思齊首先澄清一點,AME擴展不是加速器,或者它主要設計目的不是加速器。我們并不排除AME可以被用在加速器上,但是它的目標仍然是為了加速、并且在CPU上面程序的矩陣運算。AME擴展是為矩陣運算提供額外的架構狀態,即軟件可見的矩陣寄存器,同時AME擴展提供新增的矩陣和向量運算指令。為什么除了矩陣指令外還需要向量指令?趙思齊介紹,在AI時代,RISC-V生態圍繞AI做了很多的工作,來自于A的需求使得AME 要引入很多至少是必要的向量運算指令。
AME擴展以AI應用為主要目標,兼顧HPC和嵌入式應用場景。這對AME的擴展性提出了不少的要求。AME為RISC-V架構引入了新的架構狀態,使得AME是最少受到限制的一種Matrix擴展,因此對AME的期望在極端情況下可以有極高的期望,它可以有極致的吞吐、極致的能效、極致的擴展性和軟件支持度,它也應該有非常軟件的應用程序支持。關于“應用程序支持”,Matrix軟件棧的總體支持RISC-V基金會內部已經把這個工作提到相當的高度,所以我們在未來可以對于這方面的工作有一定的期待。
AME擴展到底應該有什么樣的特點才能達到我們對它的美好愿景呢?首先趙思齊強調,以AI為重點的全新設計,為矩陣運算量身定制全新的架構定義針對AI應用重點設計。其次,靈活的集成方式讓SoC平臺可以自由選擇CPU核與AME單元的比例,自由定制算力。然后是,更靈活的實現,更少的對微架構設計的修改,更多可能的實現方式。AME這個單元本身的算力、本身的特性,也能夠依據各家SoC廠商、依據自己的應用場景需進行定制,AME本身也是具有更靈活實現的架構。最后就是更高的極致性能,提供獨立的運算單元,更多的架構創新,比如更加放的內存模型。AME因為是重新開發的、從頭開始的,極致情況下AME應該可以再到與投入硬件資源成比例的算力。架構層次因為AME是全新開始的設計,在架構層面上AME也能夠容納更多ISA層面的創新指令。
作為AME TG的主席,趙思齊還分享了AME TG的工作討論點,他介紹,工作組當前的議題和任務包括了矩陣tile狀態設計討論,Point-wise/Element-wise操作相關的定義討論,以及Relaxed內存模型。他還透露這個工作組現在努力的在為明年大概3月左右推出一個指令在努力。
矩陣討論關注的焦點首先是它的類型需要什么?到底是只有一種Tile通用的、對稱的Tile,還是需要將某些Tile獨立出來專門用于累加計算?這是一個問題。第二個問題是Tile的形狀到底是什么形狀的?如果是各種形狀,每邊的長度應該怎么設計?還有一個問題就是Tile到底要多少?這些我們正在進行組里分析,提取出一些能夠對這些架構參數進行約束的條件,以期望能夠將最終候選的組合縮小到一個或者幾個,以便于最后AME到底能夠成立成什么樣子。
Point-wise的設計也有三個點:(1)Point-wise/Element-wise操作類型。(2)如何利用架構狀態表示向量。(3)與Vector擴展如何配合?
這些也是非常密集的對AI模型、AI模型里面的算子進行大量的分析和提取工作,能夠最終獲得一些對架構設計的約束條件、最終達到問題的解決。
評論