備選標題:
1、台積電提出擴展SRAM陣列,緩解邊緣計算能耗問題
2、台積電內存計算新突破!SRAM陣列5nm節點功率效率提升19倍
芯東西(公眾號:aichip001)
編譯 | 高歌
編輯 | 雲鵬
芯東西3月16日消息,近期,台積電的研究人員在ISSCC 2021會議上公佈了一種改良的SRAM存儲器陣列,這種SRAM陣列或許可以應用於AI邊緣設備。與傳統的馮·諾依曼架構相比,該方法可以提升數據傳輸效率,降低設備功耗,滿足未來AI邊緣應用的部分需求。
台積電通過擴展常規SRAM陣列,使得頻繁寫入權重值的大型與/或邏輯可重新配置網絡進行內存計算,支持可編程位寬、有符號或無符號(signed or unsigned)以及4種不同位寬權重(weight)的輸入激活。
論文鏈接:https://ieeexplore.ieee.org/document/9365766/authors#authors
一、ReRAM耐用性較差,難以應用於大型神經網絡在最近的2021年國際固態電路會議(ISSCC 2021)上,多個技術會議針對存儲器陣列技術展開,以支持機器學習算法的計算需求。
當前,機器學習需要將數據和權重從內存移動到處理單元,然後將中間結果存儲回內存。
這一方法效率較低,其無謂的信息傳輸不僅增加了計算延遲,也增加了相應的功耗。
其“無增值(no value add)”的數據移動是耗散能量的很大一部分,甚至大於“增值(value add)”計算的能量消耗,數據和計算單元權值實際只消耗了一小部分能量。
各部分能量損耗(來源:深度神經網絡能量估算工具)
對於在邊緣實施機器學習的系統來説,提高內存計算效率、降低能量損耗十分重要。
在機器學習中想要提高內存計算效率,重點在於優化每個神經網絡節點關聯的向量乘法累加(MAC)操作。
訓練網絡計算每個數據輸入與權重的乘積,並將其提供偏差和激活函數。
訓練網絡計算方式(來源:IEEE Xplore)
對於一般網絡來説,數據和權重通常是多位數。權值向量對於經過訓練的邊緣AI網絡可以使用有符號、無符號或二進制補碼整數位表示形式。
內存計算最終的MAC輸出則是通過添加部分乘法乘積實現的。
每個節點中(數據*權重)的位寬是明確定義的。例如,2n-bit向量覆蓋2n-bit無符號整數乘積。但是將所有(數據*權重)乘積累加到高度連接的網絡中需要更多bit才能準確表示MAC結果。
當前內存計算研究的一個重點方法是:使用電阻式RAM(ReRAM)實現位線電流檢測。活動存儲器行字線(active memory row wordline)的數據輸入和存儲在ReRAM中權值的乘積會產生可區分的位線電流,該電流用於為參考電容充電。
之後模數轉換器(ADC)將該電容電壓轉換為等效的二進制值,進行後續的MAC移位累加。
儘管ReRAM內存計算的面積效率(area-efficient)較高,但它也有缺點:
1、由於電壓範圍,噪聲和PVT的變化,模擬位線電流檢測和ADC的精度受到限制
2、ReRAM陣列的寫入週期時間長
3、ReRAM陣列的耐用性較差,限制了通用內存存儲陣列的適用性
因此在推理神經網絡較小、數據矢量表示受到限制(8位或更少)時,使用ReRAM陣列可以提升面積效率。
但是當神經網絡較大、數據精度要求很高,存儲陣列需要更大的網絡和重構工作負載的情況下,更新權重經常會阻礙ReRAM對位電流進行檢測。
二、台積電提出改良SRAM陣列支持更大神經網絡計算在ISSCC上,台積電的研究人員提出了一種替代ReRAM的方法,他們使用改良的SRAM陣列進行(數據*權值)計算,這種方法不需要採用新穎的存儲技術,因此可以支持更豐富的機器學習網絡集。
台積電的SRAM陣列(來源:IEEE Xplore)
如果層數較大,SRAM陣列可以加載數據輸入與權值進行節點計算,可以保存輸出值並對後續層進行檢索。
與ReRAM相比,SRAM陣列減少了數據和權值傳遞的能耗,解決了ReRAM的耐用性問題。
每個slice具有256個數據輸入,它們連接到“ X”邏輯。數據輸入向量的連續字節在時鐘週期中被提供給“ X”門。
一個slice中存儲了256個4-bit權值,每個數據輸入代表一個權值,每個權值連接到“ X”邏輯的另一個輸入。
SRAM陣列中的邏輯集成示意圖(來源:IEEE Xplore)
“X ”是一個雙輸入或非門(NOR Gate),由一個數據輸入和一個權重值作為輸入,在面積效率和功率方面都具有一定優勢。每個slice之間,集成了樹形加法器(adder tree)和部分累加邏輯。
樹形加法器示意圖(來源:IEEE Xplore)
樹形加法器中的權重存儲使用了傳統的SRAM拓撲結構-權位字線和位線像往常一樣連接,對於一個6T-bit單元。每個單元的存儲值扇向NOR門的一個輸入。
每個slice的輸出表示每個權值向量的部分乘積和總和。擴展數組之外的其他邏輯提供了移位加計算,以支持更寬的權值表示。例如,一個(有符號或無符號整數)16-bit權重將組合來自四個slice的累加結果。
三、預計5nm工藝電源電壓和功率效率將分別提升2.8倍和19倍台積電基於SRAM的全數字測試器件突出顯示了256輸入,16 slice(4-bit 權重半字節)的宏設計。
台積電基於SRAM的全數字測試器件的顯微圖(來源:IEEE Xplore)
其基於SRAM的內存計算宏可以在陣列中提升更新權重的效率,而且該陣列基於數字邏輯的MAC操作可在很寬的電源電壓範圍內使用。
SRAM陣列的電源電壓(TOPS)和功率效率(TOPS/W)測試性能(來源:IEEE Xplore)
儘管此內存計算是在較舊的22nm工藝中進行測試,但是台積電的研究人員提供了5nm節點的面積功率與功率效率估值。
與22nm節點相比,5nm節點的電源電壓(TOPS)和功率效率(TOPS/W)提升了2.8倍和19倍。
結語:內存計算或解決AI邊緣設備能耗問題從雲到邊緣設備,人工智能(AI)和機器學習(ML)被廣泛用於圖像分類、語音識別等任務。近年來,由於AI在邊緣的優勢,比如隱私、低延遲及對網絡帶寬的有效利用等,AI邊緣設備的研究受到了越來越多的關注。
但是,傳統的計算架構,如CPU,GPU,FPGA等因為能耗問題很難滿足AI邊緣應用的未來需求。本次台積電的這種SRAM陣列通過在內存中進行計算,可以減少內存訪問的能量消耗,或許可以解決AI邊緣的能耗問題。
來源:SemiWiki、IEEE Xplore