存算一體作為一種新型架構,將數據存儲和計算融合一體化,有望突破算力與功耗瓶頸。存內計算可分為模擬和數字兩大類別。接下來我們將重點介紹數字存內計算與模擬存內計算及其優劣。
一.數字存內計算
數字存內計算利用全數字電路執行計算,指將數字邏輯集成到存內計算中,能夠將逐位數字乘積累加運算直接集成到存儲器陣列。由于數字存內計算結構上對乘積累加計算有良好的支持,在神經網絡需求的運算場景中應用潛力巨大,如智能手表、藍牙耳機中的語音處理,智能手機中的神經網絡運算加速,模型訓練加速卡等。
數字存內計算的主要優勢就是存儲器中權重可更換、高帶寬以及高魯棒性,但面積和功耗開銷都比較大,適用于高精度、對功耗等要求不高的應用場景。
圖 1 數字存內計算核結構[1]
以ISSCC 2022中的文獻[1]中展示的數字存內計算總體結構為例,解釋數字存內計算的運算方式,其結構如圖1所示。
該運算核結構由64個如圖中頂層所示的MAC array構成。在每一個MAC array中,存儲器存儲權重數據(圖1中左側12T bitcell array部分),乘法器計算輸入數據與權重數據的元素乘積結果,加法器樹計算元素乘積結果的和(圖中4b×1b multiplier & 6 stages adder tree部分),移位累加器將加法器樹計算得到的結果移位累加(圖中Bit shifter & accumulator部分)。
運算核計算64×1的4bit輸入向量XIN[63:0][3:0]與64×64的4bit權重矩陣的內積結果,其結果為一列64×1的14bit向量NOUT[63:0][13:0]。計算過程為:權重矩陣的權重信息被拆分為64個64×1的4bit權重向量存儲在每一層MAC array的存儲器中,寫入過程受到WA[7:0]信號控制,每次寫入向量中一個元素的4bit信息D[4:0],一共64個MAC array,一次需要寫入D[255:0]。輸入向量受XINSEL[3:0]控制按比特由高到低依次輸入,每個時鐘周期計算一個輸入比特64 XINLBs與權重向量256 RBLBs的元素乘積,并求和,將四個周期的結果移位累加便得到該MAC array的權重向量與輸入向量的內積,將每層MAC array的結果組成為一個向量,即為NOUT[63:0][13:0]。
據悉已有基于數字存內計算的產品產出。后摩于2023年5月推出鴻途?H30,該芯片基于SRAM存儲介質,據其官網信息,該產品擁有極低的訪存功耗和超高的計算密度,在Int8數據精度條件下,其AI核心IPU能效比高達15Tops/W,是傳統架構芯片的7倍以上,暫未落地到市場化應用實測性能。
二.模擬存內計算[2]
不同于前述的數字存內計算,模擬存內計算主要基于物理定律(歐姆定律和基爾霍夫定律),在存算陣列上實現乘積累加運算。對于模擬存內計算,其存內計算電路的計算模式通過定制模擬計算電路模塊來實現,通過這些模擬計算電路與存儲單元的結合來實現高能效存內計算,一般使用RRAM(阻變隨機存儲器,又名憶阻器)和Flash(閃存)。
模擬存內計算面積、功耗等開銷小,能量效率高,但是缺乏準確性,適用于需要低功耗、對精度要求不高的應用場景。
下面以RRAM為例,來描述模擬存內計算的原理。
憶阻器電路可以做成陣列結構,如下圖2所示,與矩陣類似,利用其矩陣運算能力,可以廣泛應用于人工智能推理場景中。在推理過程中,通過輸入矢量與模型的參數(也即權重)矩陣完成乘加運算,便可以得到推理結果。
圖 2 3×3交叉陣列的模擬型憶阻器[3]
圖 3 交叉陣列進行矩陣乘加運算示意圖[4]
關于矩陣乘加運算,如上圖3所示,將模型的輸入數據設為矩陣[V],模型的參數設為矩陣[G],運算后的輸出數據設為矩陣[I]。運算前,先將模型參數矩陣按行列位置存入憶阻器(即[G]),在輸入端給定電壓值來表示輸入矢量(即[V]),根據歐姆定律,便可在輸出端得到對應的電流矢量,再根據基爾霍夫定律將電流相加,即得到輸出結果(即[I])。此外,多個存算陣列并行,便可完成多個矩陣乘加計算。
目前模擬存內計算研究已經有了很多成果。例如,2023年10月,清華錢鶴、吳華強帶領團隊創新設計出適用于RRAM存算一體的高效片上學習的新型通用算法和架構(STELLAR),研制出全球首顆全系統集成的、支持高效片上學習的RRAM存算一體芯片,該成果已發表在《Science》上。此外,基于Flash的模擬存內計算也是研究重點。2022年,國內的知存科技率先量產商用WTM2101芯片,結合了RISC-V指令集與NOR Flash存內計算陣列,使用特殊的電路設計抑制閾值電壓漂移對計算精度的影響,可實現低功耗計算與低功耗控制,其陣列結構與芯片架構如圖4所示,包括1.8 MB NOR Flash存內計算陣列,一個RISC-V核,一個數字計算加速器組,320 kB RAM以及多種外設接口[5]。WTM2101芯片適配低功耗AIoT應用,可使用微瓦到毫瓦級功耗完成大規模深度學習運算,可應用于智能語音、智能健康等市場領域,目前已完成批量生產和市場應用。此外,知存科技也推出了WTM-8系列產品芯片,這是針對視頻增強處理的一款高性能低功耗的存算一體AI處理芯片,采用第二代3D存內計算架構,為全球首粒端側大算力存算一體芯片,即將量產,具備高算力、低功耗、高能效、低成本的核心優勢,應用于1080P-4K視頻的實時處理和空間計算[6]。WTM2101和WTM-8的主要產品性能如下表1所示, 未公開的數據用“-”表示,請酌情采信。
備注:用于智能可穿戴設備的高算力低功耗定位,主要應用于智能語音和智能健康
定位為移動設備計算視覺芯片,具有4核高精度存內計算,支持linux,支持AI超分、插幀、HDR、識別和檢測,應用于1080P-4K視頻實時處理和空間計算
圖 4 WTM2101芯片陣列及架構[7]
三.二者優劣對比分析
數字存內計算與模擬存內計算都是存算一體發展進程中的重點發展路徑,二者有著不同的優缺點與應用場景。
數字存內計算主要以SRAM作為存儲器件,采用先進邏輯工藝,具有高性能高精度的優勢,且具備很好的抗噪聲能力和可靠性,可以避免由于工藝變化、數據轉換開銷和模擬電路的可縮放性差而導致的不準確,因此更適合大規模高計算精度芯片的實現。然而,數字存內計算單位面積功耗高,在功率和面積等方面都遇到了新的問題,比如一個一般的CMOS全加器單元就需要28個晶體管,面積和功耗開銷都比較大。綜上,數字存內計算更適用于高精度、對功耗不敏感的大算力計算場景,比如云邊AI場景。
模擬存內計算通常以RRAM、Flash等非易失性介質作為存儲器件,存儲密度大,并行度高,面積、功耗等開銷小,成本較低,能量效率高。但是模擬存內計算對環境噪聲和溫度非常敏感,由于晶體管變化和ADC(模數轉換器)等的影響,SNR(信噪比)不足,模擬存內計算往往缺乏準確性,更適用于低功耗、功能靈活性要求不高、對精度要求不高的高能效小算力應用場景,如端側可穿戴設備等[8]。兩種存內計算模式的優劣對比如下表2所示。
總而言之,數字存內計算與模擬存內計算各有優劣,都是存算一體發展進程中的重點發展路徑,數字存內計算由于其高速、高精度、抗噪性強、工藝技術成熟、能效比高等特點,更適用于大算力、云計算、邊緣計算等應用場景;模擬存內計算由于其非易失性、高密度、低成本、功耗低等特點,更適用于小算力、端側、需長時待機等的應用場景。在如今可穿戴設備、智能家具、玩具機器人等應用走進千家萬戶的背景下,模擬存內計算的高能效、小面積、低成本等市場優勢逐漸凸顯,比如前面所提到的知存科技WTM2101已率先進入市場規?;瘧?,在商業化進程中處于領先地位,且更高算力WTM-8系列即將量產,在端側AI市場具有極大的應用潛力。
不論是數字存內計算還是模擬存內計算,目前都面臨各自的一些挑戰,比如編程模型的復雜性、硬件設計的復雜性、硬件系統的可靠性等等,但隨著研究人員的不斷努力,這些難題將逐步得到解決,存內計算芯片的未來將大有可期。
參考文獻
[1] Yan B, Hsu J L, Yu P C, et al. A 1.041-Mb/MM 2 27.38-TOPS/W signed-INT8 dynamic-logic-based ADC-less SRAM compute-in-memory macro in 28nm with reconfigurable bitwise operation for AI and embedded applications[C]//2022 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2022, 65: 188-190.
[2][4] 存算一體白皮書(2022年),中國移動通信有限公司研究院.
[3] 針對憶阻器的工作原理和發展的研究-知乎.
[5][7] 郭昕婕,王光燿,王紹迪.存內計算芯片研究進展及應用[J].電子與信息學報,2023,45(05):1888-1898.
[6] 知存科技官網 (witintech.com).
[8] Chih Y D, Lee P H, Fujiwara H, et al. 16.4 An 89TOPS/W and 16.3 TOPS/mm 2 all-digital SRAM-based full-precision compute-in memory macro in 22nm for machine-learning edge applications[C]//2021 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2021, 64: 252-254.
審核編輯 黃宇
-
存儲器
+關注
關注
38文章
7528瀏覽量
164340 -
模擬
+關注
關注
7文章
1429瀏覽量
83983 -
矩陣運算
+關注
關注
1文章
5瀏覽量
7513 -
RRAM
+關注
關注
0文章
28瀏覽量
21373 -
存內計算
+關注
關注
0文章
30瀏覽量
1402
發布評論請先 登錄
相關推薦
評論