楠木軒

台積電提出內存計算新方案,或可應用於AI邊緣

由 華愛利 發佈於 科技

備選標題:

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