作者:豐寧
近年來,隨著AI應(yīng)用場景的爆發(fā)式增長,AI算法對算力的需求急劇上升,這一增速已顯著超越了摩爾定律所預(yù)測的硬件性能提升速度。傳統(tǒng)的計算芯片,在計算資源、處理時延以及功耗控制方面,逐漸顯現(xiàn)出難以滿足AI高并行計算需求的局限性。
在智能芯片領(lǐng)域,傳統(tǒng)的馮·諾依曼架構(gòu)以計算為核心,處理器與存儲器之間的物理分離導(dǎo)致了大規(guī)模數(shù)據(jù)頻繁遷移,這進一步限制了AI芯片的整體性能。因此,傳統(tǒng)芯片架構(gòu)面臨著“存儲墻”、“功耗墻”及“算力墻”等嚴峻挑戰(zhàn),難以滿足AI應(yīng)用對于低時延、高能效以及高可擴展性的迫切需求。
針對上述一系列問題,業(yè)內(nèi)給出了一種名為“存算一體”的解決方案。那么到底什么是“存儲墻”、“功耗墻”和“編譯墻”?存算一體芯片是什么?它又是如何解決這些問題的?存算一體技術(shù)的出現(xiàn)給產(chǎn)業(yè)界帶來了哪些驚喜?
?01芯片發(fā)展面前的三堵墻
首先一起了解一下什么是“存儲墻”。
存儲墻
指的是內(nèi)存性能嚴重限制CPU性能發(fā)揮的現(xiàn)象。在過去的20多年中,處理器的性能以每年大約55%速度快速提升,而內(nèi)存性能的提升速度則只有每年10%左右。長期累積下來,不均衡的發(fā)展速度造成了當(dāng)前內(nèi)存的存取速度嚴重滯后于處理器的計算速度,內(nèi)存瓶頸導(dǎo)致高性能處理器難以發(fā)揮出應(yīng)有的功效,這對日益增長的高性能計算形成了極大的制約。這種嚴重阻礙處理器性能發(fā)揮的內(nèi)存瓶頸命名為"內(nèi)存墻",也叫“存儲墻”。
伴隨著“存儲墻”問題同時出現(xiàn)的,是大量能耗消耗在了數(shù)據(jù)傳輸過程中,導(dǎo)致芯片的能效比顯著降低,即“功耗墻”問題。
“功耗墻”的問題主要是因為隨著計算系統(tǒng)對內(nèi)存帶寬需求的不斷增加,以及對更高容量和更快訪問速度的追求,傳統(tǒng)DRAM和其他類型內(nèi)存的功耗急劇上升,最終會達到一個無法通過簡單增加功率預(yù)算來解決的臨界點。
這一方面是因為數(shù)據(jù)從DRAM搬運到CPU需要跨過多個層級的存儲層次,包括L1、L2、L3緩存。有研究表明:在特定情況下,將1比特數(shù)據(jù)從DRAM搬運到CPU所消耗的能量比在CPU上處理這個比特所需的能量還要高幾倍到幾十倍。根據(jù)英特爾的研究表明,當(dāng)半導(dǎo)體工藝達到 7nm 時,數(shù)據(jù)搬運功耗高達 35pJ/bit,占總功耗的63.7%。數(shù)據(jù)傳輸造成的功耗損失越來越嚴重,限制了芯片發(fā)展的速度和效率。
“編譯墻”問題隱于二者之中,極短時間下的大量數(shù)據(jù)搬運使得編譯器無法在靜態(tài)可預(yù)測的情況下對算子、函數(shù)、程序或者網(wǎng)絡(luò)做整體的優(yōu)化,手動優(yōu)化又消耗了大量時間。過去,憑借先進制程不斷突破,這三座“大山”的弊病還能通過快速提升的算力來彌補。但一個殘酷的現(xiàn)實是,過去數(shù)十年間,通過工藝制程的提升改善芯片算力問題的“老辦法”正在逐步失效——摩爾定律正在走向物理極限,HBM、3D DRAM、更好的互聯(lián)等傳統(tǒng)“解法”也“治標不治本”,晶體管微縮越來越難,提升算力性能兼具降低功耗這條路越走越艱辛。隨著大模型時代來臨,激增的數(shù)據(jù)計算,無疑進一步放大了“三道墻”的影響。而存算一體技術(shù)的出現(xiàn),是對上述難題的有力回應(yīng)。
?02存算一體,帶來了哪些驚喜?
從存算一體技術(shù)的原理來看,存算一體的核心是將存儲功能與計算功能融合在同一個芯片上,直接利用存儲單元進行數(shù)據(jù)處理——通過修改“讀”電路的存內(nèi)計算架構(gòu),可以在“讀”電路中獲取運算結(jié)果,并將結(jié)果直接“寫”回存儲器的目的地址,不再需要在計算單元和存儲單元之間進行頻繁的數(shù)據(jù)轉(zhuǎn)移,消除了數(shù)據(jù)搬移帶來的消耗,極大降低了功耗,大幅提升計算效率。
正因此,存算一體技術(shù)可以有效地克服馮·諾依曼架構(gòu)瓶頸。那么存算一體技術(shù)憑借其技術(shù)優(yōu)勢,在實際應(yīng)用中都可以帶來哪些效能提升?存算一體芯片在特定領(lǐng)域可以提供更大算力(1000TOPS以上)和更高能效(超過10-100TOPS/W),明顯超越現(xiàn)有ASIC算力芯片。
存算一體技術(shù)還可以通過使用存儲單元參與邏輯計算提升算力,這等效于在面積不變的情況下規(guī)?;黾佑嬎愫诵臄?shù)。在能耗控制方面,存算一體技術(shù)可以通過減少不必要的數(shù)據(jù)搬運將能耗降低至之前的1/10~1/100。提升了計算效率、降低了功耗,存算一體自然也能帶來更好的成本回報。
?03存算一體技術(shù)的分類
根據(jù)存儲與計算的距離遠近,將廣義存算一體的技術(shù)方案分為三大類,分別是近存計算(Processing Near Memory, PNM)、存內(nèi)處理 (Processing In Memory, PIM)和存內(nèi)計算(Computing in Memory, CIM)。
近存計算是一種較為成熟的技術(shù)路徑。它利用先進的封裝技術(shù),將計算邏輯芯片和存儲器封裝到一起,通過減少內(nèi)存和處理單元之間的路徑,實現(xiàn)高I/O密度,進而實現(xiàn)高內(nèi)存帶寬以及較低的訪問開銷。近存計算主要通過2.5D、3D堆疊等技術(shù)來實現(xiàn),廣泛應(yīng)用于各類CPU和GPU上。
存內(nèi)處理則主要側(cè)重于將計算過程盡可能地嵌入到存儲器內(nèi)部。這種實現(xiàn)方式旨在減少處理器訪問存儲器的頻率,因為大部分計算已經(jīng)在存儲器內(nèi)部完成。這種設(shè)計有助于消除馮·諾依曼瓶頸帶來的問題,提高數(shù)據(jù)處理速度和效率。存內(nèi)計算同樣是將計算和存儲合二為一的技術(shù)。
它有兩種主要思路。第一種思路是通過電路革新,讓存儲器本身就具有計算能力。這通常需要對SRAM或者MRAM等存儲器進行改動,以在數(shù)據(jù)讀出的解碼器等地方實現(xiàn)計算功能。這種方法的能效比通常較高,但計算精度可能受限。其中,近存計算和存內(nèi)計算是目前存算一體技術(shù)實現(xiàn)的主流路徑。
大廠們對存算一體架構(gòu)的需求是實用且落地快,而作為最接近工程落地的技術(shù),近存計算成為大廠們的首選。近存計算的典型代表是AMD的Zen系列CPU。國內(nèi)初創(chuàng)企業(yè)則聚焦于無需考慮先進制程技術(shù)的存內(nèi)計算,典型代表有Mythic、千芯科技、閃億、知存、九天睿芯等。
?04存儲介質(zhì)的三種主要選擇
存算一體芯片的存儲介質(zhì)主要可分為兩大類:一種是易失性存儲器,即在正常關(guān)閉系統(tǒng)或者突然性、意外性關(guān)閉系統(tǒng)的時候,數(shù)據(jù)會丟失,如SRAM和DRAM等。另一種是非易失性存儲器,在上述情況下數(shù)據(jù)不會丟失,如傳統(tǒng)的閃存NOR Flash 和 NAND Flash,以及新型存儲器:阻變存儲器RRAM(ReRAM)、磁性存儲器MRAM、鐵變存儲器FRAM(FeRAM)、相變存儲器PCRAM(PCM)等。
那么,該如何選擇合適的技術(shù)路徑,這些技術(shù)路徑又有何特點、壁壘和優(yōu)勢呢?
從器件工藝成熟度來看,SRAM、DRAM和Flash都是成熟的存儲技術(shù)。Flash屬于非易失性存儲器件,具有低成本優(yōu)勢,一般適合小算力場景;DRAM成本低,容量大,但是可用的eDRAM IP核工藝節(jié)點不先進,讀取延遲也大,且需要定期刷新數(shù)據(jù);SRAM在速度方面具有極大優(yōu)勢,有幾乎最高的能效比,容量密度略小,在精度增強后可以保證較高精度,一般適用于云計算等大算力場景。
在制程工藝方面,SRAM可以在先進工藝上如5nm上制造,DRAM和Flash可在10-20nm工藝上制造。
在電路設(shè)計難度上,存內(nèi)計算DRAM > 存內(nèi)計算SRAM > 存內(nèi)計算Flash。在存內(nèi)計算方面,SRAM和DRAM更難設(shè)計,它們是易失性存儲器,工藝偏差會大幅度增加模擬計算的設(shè)計難度,F(xiàn)lash是非易失存儲器,他的狀態(tài)是連續(xù)可編程的,可以通過編程等方式來校準工藝偏差,從而提高精度。而近存計算的設(shè)計相對簡單,可采用成熟的存儲器技術(shù)和邏輯電路設(shè)計技術(shù)。
除成熟的存儲技術(shù)外,學(xué)術(shù)界也比較關(guān)注各種RRAM在神經(jīng)網(wǎng)絡(luò)計算中的引入。RRAM使用電阻調(diào)制來實現(xiàn)數(shù)據(jù)存儲,讀出電流信號而非傳統(tǒng)的電荷信號,可以獲得較好的線性電阻特性。但目前RRAM工藝良率爬坡還在進行中,而且依然需要面對非易失存儲器固有的可靠性問題,因此目前還主要用于端側(cè)小算力和邊緣AI計算。
?05存算一體芯片的適用場景有哪些?
小算力場景:邊緣側(cè)對成本、功耗、時延、開發(fā)難度非常敏感
中早期的存算一體芯片算力較小,從小算力1TOPS開始往上走,解決的是音頻類、健康類及低功耗視覺終端側(cè)應(yīng)用場景,AI落地的芯片性能及功耗問題。比如:AIoT的應(yīng)用。眾所周知,碎片化的AIoT市場對先進工藝芯片的需求并不強烈,反而更青睞低成本、低功耗、易開發(fā)的芯片。存算一體正是符合這一系列要求的芯片。
首先,存算一體技術(shù)能夠減少數(shù)據(jù)在存儲單元和計算單元之間的移動,從而顯著降低能耗。例如,傳統(tǒng)架構(gòu)中,大量的數(shù)據(jù)傳輸會消耗大量能量,而存算一體架構(gòu)可以避免這種不必要的能耗,使得像電池供電的物聯(lián)網(wǎng)設(shè)備能夠更長時間地運行。
其次,通過減少數(shù)據(jù)傳輸和提高集成度,存算一體技術(shù)可以降低芯片的制造成本。對于大規(guī)模部署的 AIoT 設(shè)備來說,成本的降低有助于更廣泛的應(yīng)用推廣。
最后,存算一體芯片還可以大幅提高運算速度并節(jié)省空間,而這兩項也是給AIoT應(yīng)用帶來助力的兩大因素。
大算力場景:GPU在算力和能效上都無法同時與專用加速芯片競爭
目前云計算算力市場,GPU的單一架構(gòu)已經(jīng)不能適應(yīng)不同AI計算場景的算法離散化特點,如在圖像、推薦、NLP領(lǐng)域有各自的主流算法架構(gòu)。隨著存算一體芯片算力不斷提升,使用范圍逐漸擴展到大算力應(yīng)用領(lǐng)域。針對大算力場景>100TOPS,在無人車、泛機器人、智能駕駛,云計算領(lǐng)域提供高性能大算力和高性價比的產(chǎn)品。此外,存算一體芯片還有一些其他延伸應(yīng)用,比如感存算一體、類腦計算等。
?06國內(nèi)存算一體技術(shù)進程
著眼于該技術(shù)的廣闊發(fā)展前景,國際傳統(tǒng)存儲大廠紛紛踴躍入局。
國際方面,三星電子在多個技術(shù)路線進行嘗試,發(fā)布新型 HBM-PIM(存內(nèi)計算)芯片、全球首個基于 MRAM(磁性隨機存儲器)的存內(nèi)計算研究等。臺積電在 ISSCC 2021 上提出基于數(shù)字改良的 SRAM 設(shè)計存內(nèi)計算方案。英特爾也早早提出近內(nèi)存計算戰(zhàn)略,將數(shù)據(jù)在存儲層級向上移動,使其更接近處理單元進行計算。國內(nèi)方面,存算一體芯片企業(yè)也“扎堆”入場,并在2021年后逐步實現(xiàn)量產(chǎn)和產(chǎn)業(yè)化。
較早成立的公司傾向于采用較為成熟的技術(shù),比如:閃易、新憶科技、蘋芯科技、知存科技等公司專注于物聯(lián)網(wǎng)、可穿戴設(shè)備、智能家居等邊緣小算力場景。隨著相關(guān)技術(shù)和應(yīng)用的不斷成熟,近年來成立的初創(chuàng)企業(yè)勇于嘗試,在大算力布局和新技術(shù)應(yīng)用方面布局。比如:億鑄科技、千芯科技等專注于大模型計算、自動駕駛等AI大算力場景。
在小算力領(lǐng)域,知存科技成功量產(chǎn)了全球首顆基于模擬Flash存算一體的芯片WTM2101。該芯片以極低功耗完成大規(guī)模深度學(xué)習(xí)運算,廣泛應(yīng)用于可穿戴設(shè)備中的智能語音和智能健康服務(wù)等場景。在這顆芯片進入市場不到一年的時間里,其出貨量就已經(jīng)接近百萬顆。
近日,蘋芯科技發(fā)布基于存算一體的28nm及22nm節(jié)點的PIMCHIP-N300存算一體NPU和PIMCHIP-S300多模態(tài)智能感知芯片,支持智能可穿戴設(shè)備、智能安防、AI大模型、健康數(shù)據(jù)分析等領(lǐng)域,尤其支持AI與大模型推理加速等各類計算任務(wù)場景。
在大算力方面,后摩智能發(fā)布了首款存算一體智駕芯片后摩鴻途H30,其物理算力達到了256TOPS,成為國內(nèi)首家成功落地存算一體大算力AI芯片的公司。H30已開始送測給Alpha客戶,而第二代H50正在研發(fā)中,計劃于2024年推出,為支持2025年的量產(chǎn)車型做好準備。
去年億鑄科技也點亮了基于ReRAM的高精度、低功耗存算一體AI大算力PoC芯片。此外,億鑄科技基于存算一體超異構(gòu)概念的下一代芯片設(shè)計工作也已經(jīng)開始推進。隨著技術(shù)的不斷進步和應(yīng)用場景的不斷拓展,存內(nèi)計算將在未來發(fā)揮更加重要的作用,推動算力新時代的發(fā)展。然而,存內(nèi)計算技術(shù)仍面臨一些挑戰(zhàn)和問題。例如,存算一體器件的研發(fā)需要突破關(guān)鍵技術(shù)難題,提高性能和可靠性;同時,存內(nèi)計算系統(tǒng)的設(shè)計和優(yōu)化也需要充分考慮實際應(yīng)用需求,提高系統(tǒng)的可擴展性和靈活性等。
存算一體芯片大規(guī)模落地的時刻尚未明確,但這一天的到來值得我們期待。技術(shù)的演進從不停止,市場的需求也在不斷變化,當(dāng)各種條件成熟之際,或許就是存算一體芯片大放異彩之時。