芯東西(公眾號:aichip001)
編譯 | 高歌
編輯 | 雲鵬
芯東西4月10日訊息,近期美國模擬AI晶片初創公司Areanna在微型機器學習峰會(tinyML Summit)上首次公開了其AI晶片架構。不同於一般的模擬AI晶片,該晶片透過採用SRAM陣列,在儲存陣列內部集成了模數轉換器(ADC)和數模轉換器(DAC)。
簡單來說,DAC就是把二進位制碼或BCD碼錶示的數字量轉換為與其成正比的模擬量輸出,而ADC則是將連續的模擬訊號轉換為數字訊號。
但是這兩種功能通常會在存內計算中佔用絕大部分的芯片面積和功耗,因此在儲存陣列中整合這兩項功能可以進一步降低記憶體功耗,其計算效能也有了更大的提升空間,美國半導體雜誌EE Times認為,該晶片可能會改變模擬計算技術。
一、曾獲NSF種子資金,獨特陣列設計或突破資料轉換瓶頸Areanna成立於2019年,以小企業創新研究(SBIR)贈款的形式獲得了美國國家科學基金會(US National Science Foundation)的種子資金,總計22.5萬美元。該公司在其架構上擁有兩項專利。
Areanna的兩位創始人Behdad Youssefi和Patrick Satarzadeh均出自電子儀器測量公司泰克(Tektronix),這兩位創始人也是Areanna僅有的全職員工。
Areanna創始人Behdad Youssefi
此外,Areanna還有兩名兼職工程師和數名顧問。在2020年,這家初創公司釋出了具有一顆Tile的測試晶片,能夠進行部分矩陣乘法。該晶片的基準功率效率為40 TOPS/W,運算密度為2 TOPS/mm2,每個核心的記憶體頻寬為2 TB/s。
Areanna的測試晶片在一種被稱為存內計算和量化(CQIM)的架構上執行。該架構基於模擬存內計算技術,與Mythic、Gyrfalcon等其他AI晶片初創公司的概念基本一致。但是,Areanna使用的是SRAM陣列,而不是常用的非易失性儲存器,還配有一些獨特的技術。
由於AI在邊緣的優勢,比如隱私、低延遲及對網路頻寬的有效利用等,AI邊緣裝置的研究受到了越來越多的關注,但邊緣裝置的功耗一直是個大問題。存內計算就是晶片在記憶體中進行計算,可以減少記憶體訪問的能量消耗,是AI邊緣的解決思路之一。
Areanna的SRAM陣列設計是其核心技術的關鍵,該陣列在內部集成了ADC和DAC功能,釋放了記憶體上的功耗和麵積,也使晶片效能可以進一步提高。
傳統的存內計算往往將DAC功能設計在每個行/輸入上,在每個列/輸出上使用ADC,根據Areanna的資料,這兩項功能佔據了晶片高達85%的功耗和98%的矽片面積。在tinyML Summit上,Behdad Youssefi稱傳統的模擬計算方法只是“用資料轉換瓶頸取代了馮·諾依曼體系結構的記憶體瓶頸”。
而在Areanna的CQIM架構中,模數、數模轉換是透過與計算相同的電路結構執行的,該結構被稱為乘法位單元(multiplying bit-cells,MBCs)。
二、模擬訊號完整度高,100%硬體利用率雖然Areanna的晶片是基於模擬計算開發的,但是其電路幾乎完全是數字化的,並且在製造中採用了數字處理技術。Youssefi曾對EE Times記者描述其模擬計算流程,該晶片透過從SRAM位單元讀取權重引數,然後將其輸入乘法器處理,再用金屬電容器將訊號轉換為電荷,並垂直累加結果,即可進行模擬計算。
模擬計算過程(來源:Areanna)
由於模擬計算採用了相同的MBC結構,所以當晶片進行模數、數模轉換時,這種架構節省了大量的芯片面積。並且這種設計可以不再使用ADC取樣電路,也在功耗上取得了突破。
該設計的一個重要特點是,無論模擬運算的解析度如何,每個點積計算只需要一個量化(一次模數轉換)。對於模擬訊號、數字訊號轉換來說,因為採集到的模擬訊號是連續、無限值的,所以想要獲得較好處理的有限值就需要進行量化處理。而在這過程中,如何準確、快速的處理就是難點所在。
Areanna晶片的每個MBC單元中都包含DAC和ADC功能(來源:Areanna)
Youssefi強調,在其他存內計算架構中,模擬AI晶片往往需要完成轉換後,對數字訊號進行縮放。而Areanna的晶片則會對模擬訊號縮放後,再進行量化處理,保留了模擬訊號的完整度。
在數模轉換中,訊號的轉換精度往往用解析度表示,解析度則由模電輸入二進位制數的有效位數給出。Youssefi提到,Areanna的架構設計提供了完全可程式設計的解析度,還能不損害硬體利用率。
他說:“(對於其他記憶體計算方案)如果你想提供可變的解析度,那麼你必須顯著降低硬體利用率。但我們不會因為從8位到4位再到1位而降低硬體利用率,無論解析度如何,它仍然是100%的硬體利用率。”
三、SRAM陣列功耗較低、擴充套件性好此外,與非易失性儲存器件相比,SRAM的讀寫功耗較低,使得晶片不用從外界引入很多能量,SRAM的低寫入能耗也使得資料流最佳化具有靈活性。
當前,AI晶片進行機器學習需要將資料和權重從記憶體移動到處理單元,然後將中間結果儲存回記憶體。這一方法效率較低,其無謂的資訊傳輸不僅增加了計算延遲,也增加了相應的功耗。這些“無增值”的資料移動消耗了很多的能量,實際上資料和計算單元權重只消耗了一小部分能量。
對於具有很多權重的大型神經網路層,保持權重固定或許可以有效提高效能。而對於處理高解析度影象的網路,輸入啟用資料是資料密集度最高的資料型別,因此使輸入啟用保持靜止可能會更有意義。
Areanna基於SRAM的架構允許雙重靜態資料流最佳化,也就是說,無需額外的硬體即可將兩種資料型別設為靜態,可以更好的降低硬體功耗。
Youssefi說:“因為我們的計算是在模擬域中並行完成的,所以我們實際上並不需要移動資料。憑藉該架構,Areanna晶片可以使權重或使用者選擇的任何資料固定,並且部分總和輸出始終固定。因此,這兩種資料型別沒有變化。”使用者可以選擇對演算法(或對於神經網路中的特定層)最有效的方式進行設定。
據Youssefi介紹,當前許多存內計算架構的可擴充套件性受到了限制。他提到,有些架構透過邏輯技術最佳化功率效能,有些則針對儲存密度作了改進。當這兩種技術放入同一晶片時,就會發現兩種技術根本無法相容。
Areanna的晶片則沒有這種問題,其架構由於幾乎完全建立在數位電路上,可以使用標準的CMOS工藝進行製造,也能和很多其他技術相容。
因為採用了標準化工藝,該晶片還可以隨摩爾定律進步,使用更小的工藝節點。下一步,該公司準備用多個計算Tile構建更大的測試晶片,預計第二顆測試晶片將在2022年問世。
結語:Areanna架構或解放存內計算功率負擔隨著人工智慧浪潮席捲各個領域,AI模型的複雜性日益提高。但是傳統的計算架構,因為能耗問題很難滿足AI邊緣應用的未來需求,此前臺積電曾公佈了一種改良的SRAM儲存器陣列,透過存內計算極大地降低了晶片功耗,某種程度上證明了SRAM陣列的可行性。
而模擬計算作為一種連續資料的計算方式,可以與數字計算形成互補,具有很大的潛力。Areanna的晶片透過在儲存陣列中整合ADC和DAC功能,為模擬計算提供了一種減少功耗和芯片面積的新思路。
來源:EE Times