今天這篇文章,我們來聊一個最近幾年很火的概念——存算一體。
█ 為什么會提出“存算一體”?
存算一體,英文叫Compute In Memory,簡稱CIM。顧名思義,就是將存儲和計算放在一起。
大家都知道,存儲和計算,是我們處理數(shù)據(jù)的兩種基本方式。自從計算機誕生以來,我們采用的主流計算架構(gòu),是著名的馮·諾伊曼架構(gòu)。在這個架構(gòu)中,存儲和計算是兩個相對獨立的模塊。存儲負責(zé)數(shù)據(jù)的存取,而計算則負責(zé)運算。
馮·諾依曼架構(gòu)
我們可以把存儲理解為配菜,計算理解為炒菜。兩者配合到位,才能完成菜品的制作(完成計算任務(wù))。
理論上來說,想要出菜的速度更快,一方面,要加快炒菜的速度(通過提升芯片的算力,例如采用更先進的工藝制程),另一方面,也要加快配菜的速度。
這個速度,簡單來說,就是存儲設(shè)備與計算芯片(CPU、GPU等)之間的數(shù)據(jù)傳輸能力。如果配菜太慢,炒菜師傅就要等待,從而影響整體效率。
以前給大家介紹存儲的時候曾經(jīng)說過,計算機的存儲,是典型的分級策略——越靠近處理器(計算單元)的存儲設(shè)備,速度越快,容量越小。有緩存(1級/2級/3級)、內(nèi)存、磁盤(固態(tài)/機械)、外部存儲器(本地磁陣、云存儲)這樣的不同類型存儲設(shè)備(單元)。
這是由存儲設(shè)備的成本決定的。速度越快的存儲設(shè)備,成本越高。全部都用最快的存儲,是不現(xiàn)實的,價格太高昂,所以才有了逐級存儲機制。
馮·諾依曼架構(gòu),我們用了幾十年,因為數(shù)據(jù)存儲和計算是明顯分開的,所以也叫做存算分離。
進入互聯(lián)網(wǎng)時代后,由于數(shù)據(jù)量呈現(xiàn)爆炸式增長,對數(shù)據(jù)計算效率的要求越來越高。這種傳統(tǒng)的架構(gòu)開始暴露出能力上的缺陷。
尤其是最近這些年,AI的崛起,讓數(shù)據(jù)計算強度又躍升了好幾個層級。計算芯片在瘋狂提速,而存儲傳輸速率的提升跟不上,由此產(chǎn)生了著名的兩堵墻——“存儲墻”和“功耗墻”。
所謂“存儲墻”,是指存儲設(shè)備和處理器之間的數(shù)據(jù)傳輸速度,遠遠跟不上處理器的計算速度。就像炒菜師傅手藝再好,配菜師傅跟不上節(jié)奏,也只能干著急。
業(yè)內(nèi)曾提出,AI運算需要的存算通道速率是1PB/s。SRAM的10-100TB/s、DRAM的40GB-1TB/s,都遠達不到要求。
而“功耗墻”則是指,在數(shù)據(jù)傳輸過程中,能耗巨大,導(dǎo)致整體系統(tǒng)的能效比不理想。這就像是為了快速配菜,不得不請很多幫手,結(jié)果人工成本大大增加。
例如,在7nm工藝下,數(shù)據(jù)搬運的功耗占比甚至達到了驚人的63.7%,遠遠大于數(shù)據(jù)計算的功耗。
大家應(yīng)該都聽說過HBM技術(shù)。
HBM(High Bandwidth Memory,高帶寬內(nèi)存),就是一種嘗試解決“存儲墻”和“功耗墻”問題的新型存儲技術(shù)。像英偉達這樣的芯片廠商,采用3D封裝等先進工藝,將存儲單元和計算單元封裝在一起,通過縮短兩者之間的距離,提高數(shù)據(jù)傳輸速度,同時降低能耗。
HBM在一定程度上緩解了問題,但并沒有從根本上改變存算分離的現(xiàn)狀。于是,業(yè)界提出了一個新的解決思路,那就是——存算一體。
既然存儲和計算分離會導(dǎo)致帶寬瓶頸,那么,把存儲和計算直接結(jié)合在一起,讓數(shù)據(jù)在存儲的過程中就能進行計算,或者在計算的過程中就能直接訪問存儲,從而減少數(shù)據(jù)的搬運次數(shù),不就行了嗎?
這樣一來,既可以提高整體計算效率,也可以降低功耗,徹底解決“兩堵墻”的問題。
實際上,我們的大腦,就是典型的存算一體結(jié)構(gòu)。神經(jīng)元既負責(zé)存儲信息(記憶),也負責(zé)處理信息(思考)。這種結(jié)構(gòu),使得大腦能夠以極高的效率處理復(fù)雜的任務(wù),而且能耗極低。
█存算一體的發(fā)展歷程
存算一體的研究,其實很早就已經(jīng)開始了。
早在1969年,斯坦福研究所的Kautz等人,率先提出了存算一體計算機的概念。但是,受限于當(dāng)時的技術(shù)和工藝,概念僅僅停留在理論研究階段,并未得到實際應(yīng)用。
后來,為了實現(xiàn)存算一體,科學(xué)家們進行了大量的研究和嘗試,但仍然進展緩慢。
進入21世紀后,芯片與半導(dǎo)體技術(shù)日趨成熟,存算一體化實現(xiàn)的曙光亦逐漸顯現(xiàn)??茖W(xué)家們發(fā)現(xiàn),某些特殊的材料或器件,能夠在存儲數(shù)據(jù)的同時,在存儲單元內(nèi)部執(zhí)行簡單的邏輯運算。這將大大減少數(shù)據(jù)的搬運次數(shù)和功耗。
2010年,惠普實驗室的Williams教授團隊提出并驗證利用憶阻器實現(xiàn)簡單布爾邏輯功能(聯(lián)合、相交、相減等)。
2016年,美國加州大學(xué)圣塔芭芭拉分校(UCSB)的謝源教授團隊,提出使用阻變存儲器(RRAM)構(gòu)建存算一體架構(gòu)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)(PRIME)。相較于傳統(tǒng)馮·諾伊曼架構(gòu)方案,PRIME可以實現(xiàn)功耗降低約20倍、速度提升約50倍。
2017年,在微處理器頂級年會(Micro 2017)上,包括英偉達、英特爾、微軟、三星、蘇黎世聯(lián)邦理工學(xué)院與加州大學(xué)圣塔芭芭拉分校等都推出了他們的存算一體系統(tǒng)原型,掀起了學(xué)術(shù)界和產(chǎn)業(yè)界的一股“存算一體”熱潮。
最近這幾年,隨著AI浪潮的到來,海量的大模型訓(xùn)練和推理計算需求爆發(fā),引發(fā)了算力產(chǎn)業(yè)的新一輪增長。存算一體,更是進入了一個高速發(fā)展的快車道。
除了傳統(tǒng)芯片巨頭在加緊研究之外,也有很多創(chuàng)業(yè)企業(yè)“扎堆”入場。國內(nèi)有蘋芯科技、后摩智能、知存科技、億鑄科技、智芯科、千芯科技、九天睿芯等。國外有Mythic、Syntiant等公司。
2023年9月,清華大學(xué)團隊宣布研發(fā)出全球首顆全系統(tǒng)集成的、支持高效片上學(xué)習(xí)的憶阻器存算一體芯片,再次將“存算一體”推上熱搜。
如今,存算一體已經(jīng)成為業(yè)界最熱門的研究方向,正在加速從理論研究走向產(chǎn)業(yè)落地。
█ 存算一體的技術(shù)路線
接下來,我們看看存算一體的具體技術(shù)分類。
目前,業(yè)界根據(jù)存儲和計算的距離遠近,將存算一體分為三類,分別是近存計算、存內(nèi)處理和存內(nèi)計算。
●近存計算(Processing Near Memory,PNM)
近存計算,通過芯片封裝和板卡組裝等方式,將存儲單元和計算單元集成,增加訪存帶寬、減少數(shù)據(jù)搬移,提升整體計算效率。
前面提到的HBM共封裝,就是近存計算。
近存計算又分為存儲上移和計算下移。HBM那個,屬于存儲上移。計算下移是采用板卡集成技術(shù),將數(shù)據(jù)處理能力卸載到存儲器,典型方案是CSD可計算存儲。
近存計算嚴格來說仍然是屬于存算分離架構(gòu)。這個路線比較容易實現(xiàn),現(xiàn)在已經(jīng)廣泛應(yīng)用于AI、大數(shù)據(jù)、邊緣計算、物聯(lián)網(wǎng)等場景。
●存內(nèi)處理(Processing In Memory,PlM)
存內(nèi)處理,是在芯片制造的過程中,將“存”與“算”集成在同一個晶粒(Die)中,使存儲器本身具備了一定的算力。
存內(nèi)處理本質(zhì)上仍是存算分離。相比于近存計算,“存”與“算”距離更近。
目前,業(yè)內(nèi)的存內(nèi)處理方案大多在內(nèi)存(DRAM)芯片中加“算力”,比較典型的產(chǎn)品形態(tài)為HBM-PIM(三星)和PIM-DIMM。這類方案適合應(yīng)用于語音識別、數(shù)據(jù)庫索引搜索、基因匹配等場景。
●存內(nèi)計算(Computing in Memory,ClM)
存內(nèi)計算,這是真正的存算一體了(也屬于業(yè)界所說的狹義的存算一體)。
在芯片設(shè)計的過程中,不再區(qū)分存儲單元和計算單元,直接消除“存”“算”界限,真正實現(xiàn)存算徹底融合。
這個方案的主要服務(wù)場景就是AI計算。
AI深度學(xué)習(xí)算法中包含了大量的矩陣乘法運算,其本質(zhì)是乘累加(Multiply Accumulate, MAC)運算。
存算一體技術(shù)可以將這些運算直接映射到存儲結(jié)構(gòu)中,在存儲單元的核心電路上做修改,從而在讀取的同時進行數(shù)據(jù)輸入和計算處理,在存儲陣列中完成卷積運算。這帶來了極高的能效比和極低的延遲。
存算一體芯片的大致架構(gòu)
█存算一體的存儲介質(zhì)
以前小棗君給大家介紹半導(dǎo)體存儲的時候說過,存儲器分為易失性存儲器和非易失性存儲器。
存內(nèi)計算的電路,也可以基于這兩種存儲器。
易失性,就是內(nèi)存那種,掉電了數(shù)據(jù)就沒了,例如SRAM、DRAM。
非易失性,掉電時數(shù)據(jù)不會丟失,如傳統(tǒng)的閃存NOR Flash和NAND Flash,以及一些新型存儲器:阻變存儲器RRAM(ReRAM)、磁性存儲器MRAM、鐵變存儲器FRAM(FeRAM)、相變存儲器PCRAM(PCM)等。
SRAM、DRAM、Flash等都是成熟的技術(shù),基于電荷的移動完成數(shù)據(jù)存儲。
DRAM成本低,容量大,但是可用的eDRAM IP核工藝節(jié)點不先進,讀取延遲(Latency)也大,且需要定期刷新數(shù)據(jù)。Flash則屬于非易失性存儲器件,具有低成本優(yōu)勢,一般適合小算力場景。SRAM在速度方面具有極大優(yōu)勢,有幾乎最高的能效比,容量密度略小,在精度增強后可以保證較高精度,一般適用于云計算等大算力場景。
目前,針對新型存儲器的研究非常熱門。例如RRAM、MRAM等,基于電阻大小的變化完成數(shù)據(jù)存儲功能。
新型存儲器中,憶阻器(RRAM)的研究熱度最高。
RRAM使用電阻調(diào)制來實現(xiàn)數(shù)據(jù)存儲,讀出電流信號而非傳統(tǒng)的電荷信號,可以獲得較好的線性電阻特性。但目前RRAM工藝良率爬坡還在進行中,而且依然需要面對非易失存儲器固有的可靠性問題。
需要說明的是,存內(nèi)計算主要包含模擬和數(shù)字兩種實現(xiàn)方式。
模擬存內(nèi)計算能效高,但誤差較大,實現(xiàn)低功耗低位寬的整數(shù)乘加計算,適用于低精度、低功耗計算場景,例如端側(cè)可穿戴設(shè)備等。模擬存內(nèi)計算通常使用FLASH、RRAM、PRAM等非易失性介質(zhì)作為存儲器件,存儲密度大,并行度高,但是對環(huán)境噪聲和溫度非常敏感。
數(shù)字存內(nèi)計算誤差低,但單位面積功耗較大,適用于高精度、功耗不敏感的計算場景,例如云端AI場景。數(shù)字存算一體主要以SRAM和RRAM作為存儲器件,具有高性能、高精度的優(yōu)勢,且具備很好的抗噪聲能力和可靠性,
█存算一體的應(yīng)用場景
前面已經(jīng)說過,存算一體天然適合AI相關(guān)的計算場景。
自然語言處理、信息檢索、圖神經(jīng)網(wǎng)絡(luò)、智能決策、具身智能等人工智能應(yīng)用,對算力效率以及系統(tǒng)能耗有極高的要求。傳統(tǒng)的“存算分離”難以應(yīng)對,存算一體則非常適合。
除了AI之外,就是AIoT智能物聯(lián)網(wǎng)產(chǎn)品。碎片化的AIoT市場對先進工藝芯片的需求并不強烈,反而更關(guān)注芯片的成本、功耗、開發(fā)難度。
存算一體芯片在這些方面都有優(yōu)勢,非常適合采用。
在一些大算力場景,例如云端AI計算,也是存算一體的用武之地。
目前的AI計算,基本上都是GPU為主。GPU在算力和能效上都無法同時與專用加速芯片(ASIC)競爭。在云計算算力市場,GPU的單一架構(gòu)也已經(jīng)不能適應(yīng)不同AI計算場景的算法離散化特點。例如在圖像、推薦、NLP領(lǐng)域,都有各自的主流算法架構(gòu)。
新型的存算一體芯片,具有能效優(yōu)勢,也適合固定場景的計算任務(wù),應(yīng)用潛力巨大。
此外,存算一體芯片還有一些其他延伸應(yīng)用,比如感存算一體、類腦計算等。這些也是非常具有潛力的市場領(lǐng)域。
█存算一體面臨的挑戰(zhàn)
存算一體的技術(shù)前景非常廣闊,但是我們也必須認識到,這項技術(shù)的實現(xiàn)和普及還面臨著諸多挑戰(zhàn)。
首先,是來自技術(shù)上的挑戰(zhàn)。
存算一體采用新型存儲技術(shù),對半導(dǎo)體工藝有更高的要求。在芯片架構(gòu)、電路設(shè)計和材料選擇等方面,都仍有待進一步研究和創(chuàng)新。
其次,是來自生態(tài)上的挑戰(zhàn)。
存算一體技術(shù)作為一個新興領(lǐng)域,其生態(tài)系統(tǒng)尚未完全建立。
例如,在芯片設(shè)計階段,由于存算一體芯片區(qū)別于常規(guī)的芯片設(shè)計方案,所以目前市面上沒有成熟的專用EDA工具輔助設(shè)計和仿真驗證。芯片流片之后,也沒有成熟的工具協(xié)助測試。在芯片落地應(yīng)用階段,沒有專用的軟件與之匹配。
為此,需要產(chǎn)業(yè)界協(xié)作,進一步提高設(shè)計工具鏈的成熟度,實現(xiàn)自動化EDA工具與跨平臺編譯器的支持,加強代工廠標(biāo)準(zhǔn)IP庫的建設(shè)與優(yōu)化多場景下的制造成本,以便提高產(chǎn)業(yè)鏈的整體協(xié)同能力。
最后,是來自市場上的挑戰(zhàn)。
雖然存算一體技術(shù)具有廣闊的市場前景,但目前市場上仍存在諸多不確定因素。存算一體芯片的架構(gòu)場景通用性及規(guī)模擴展能力較差。傳統(tǒng)存算分離架構(gòu)仍占據(jù)主導(dǎo)地位,存算一體技術(shù)需要與傳統(tǒng)架構(gòu)進行競爭。
存內(nèi)計算僅適合原本就對存儲需求較大的場景,而對于本身存儲需求并不高的場景,為了引入內(nèi)存計算而加上一塊大內(nèi)存反倒會增加成本適得其反。
用戶對性價比非常關(guān)注,需要考慮用戶的需求和場景是否能夠接受存算一體。存算一體,也要在AI的發(fā)展過程中尋找自己的落地場景。
總之,挑戰(zhàn)還是很多的。但是,隨著技術(shù)的不斷進步以及業(yè)界的不懈努力,相信這些問題都會得到逐步解決。
來源:鮮棗課堂
編輯:涼漸
轉(zhuǎn)載內(nèi)容僅代表作者觀點
不代表中科院物理所立場
如需轉(zhuǎn)載請聯(lián)系原公眾號
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.