存算一體技術(shù)是什么?發(fā)展史、優(yōu)勢、應(yīng)用方向、主要介質(zhì)
01 什么是存算一體
存算一體(Computing in Memory)是在存儲器中嵌入計算能力,以新的運算架構(gòu)進行二維和三維矩陣乘法/加法運算。
存算一體技術(shù)概念的形成,最早可以追溯到上個世紀70年代。隨著近幾年云計算和人工智能(AI)應(yīng)用的發(fā)展,面對計算中心的數(shù)據(jù)洪流,數(shù)據(jù)搬運慢、搬運能耗大等問題成為了計算的關(guān)鍵瓶頸。在過去二十年,處理器性能以每年大約55%的速度提升,內(nèi)存性能的提升速度每年只有10%左右。結(jié)果長期下來,不均衡的發(fā)展速度造成了當(dāng)前的存儲速度嚴重滯后于處理器的計算速度。在傳統(tǒng)計算機的設(shè)定里,存儲模塊是為計算服務(wù)的,因此設(shè)計上會考慮存儲與計算的分離與優(yōu)先級。但是如今,存儲和計算不得不整體考慮,以最佳的配合方式為數(shù)據(jù)采集、傳輸和處理服務(wù)。這里面,存儲與計算的再分配過程就會面臨各種問題,而它們主要體現(xiàn)為存儲墻、帶寬墻和功耗墻問題。算力發(fā)展速度遠超存儲(來源:amirgholami@github)雖然多核(例如CPU)/眾核(例如GPU)并行加速技術(shù)也能提升算力,但在后摩爾時代,存儲帶寬制約了計算系統(tǒng)的有效帶寬,芯片算力增長步履維艱。從處理單元外的存儲器提取數(shù)據(jù),搬運時間往往是運算時間的成百上千倍,整個過程的無用能耗大概在60%-90%之間,能效非常低,“存儲墻”成為了數(shù)據(jù)計算應(yīng)用的一大障礙。特別是,深度學(xué)習(xí)加速的最大挑戰(zhàn)就是數(shù)據(jù)在計算單元和存儲單元之間頻繁的移動。數(shù)據(jù)搬運占據(jù)AI計算的主要能耗存內(nèi)計算和存內(nèi)邏輯,即存算一體技術(shù)直接利用存儲器進行數(shù)據(jù)處理或計算,從而把數(shù)據(jù)存儲與計算融合在同一個芯片的同一片區(qū)之中,可以徹底消除馮諾依曼計算架構(gòu)瓶頸,特別適用于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)這種大數(shù)據(jù)量大規(guī)模并行的應(yīng)用場景。需要注意的是,一般的存算一體指的是“compute-in-memory”或“compute-near-memory”,與存儲服務(wù)器的分布式設(shè)計或服務(wù)器內(nèi)存計算不是一個細分領(lǐng)域的。對于國內(nèi)一些做ssd controller+AI的芯片,個人建議直接稱之為“compute-in-ssd”或“compute-in-storage”,避免交流時的歧義。計算芯片架構(gòu)的演進
02 存算一體發(fā)展史
1969年,斯坦福研究所的Kautz等人提出了存算一體計算機的概念。但受限于當(dāng)時的芯片制造技術(shù)和算力需求的匱乏,那時存算一體僅僅停留在理論研究階段,并未得到實際應(yīng)用。
為了打破馮諾依曼計算架構(gòu)瓶頸,降低“存儲-內(nèi)存-處理單元”過程數(shù)據(jù)搬移帶來的開銷,學(xué)術(shù)界和工業(yè)界嘗試了多種方法。其中比較直接的方法是近存計算,減少內(nèi)存和處理單元之間的路徑,如通過3D封裝技術(shù)實現(xiàn)3D堆疊,將多層DRAM堆疊而成的新型內(nèi)存,能提供更大的內(nèi)存容量和內(nèi)存帶寬。此外,Intel和Micron合作開發(fā)的基于PRAM存儲介質(zhì)的3D Xpoint屬于堆疊型內(nèi)存,旨在縮短片上存儲與內(nèi)存之間的路徑。但上述方案并沒有改變數(shù)據(jù)存儲與數(shù)據(jù)處理分離的問題,并不能從根本上解決馮諾依曼計算架構(gòu)瓶頸。近年來,隨著半導(dǎo)體制造技術(shù)的突飛猛進,以及AI、元宇宙等算力密集的應(yīng)用場景的崛起,為存算一體技術(shù)提供新的制造平臺和產(chǎn)業(yè)驅(qū)動力。2010年,惠普實驗室的Williams教授團隊用憶阻器實現(xiàn)簡單布爾邏輯功能。2016年,美國加州大學(xué)圣塔芭芭拉分校(UCSB)的謝源教授團隊提出使用RRAM構(gòu)建存算一體架構(gòu)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)(PRIME)。相較于傳統(tǒng)馮諾伊曼架構(gòu)的傳統(tǒng)方案,PRIME可以實現(xiàn)功耗降低約20倍、速度提升約50倍,引起產(chǎn)業(yè)界廣泛關(guān)注。隨著人工智能等大數(shù)據(jù)應(yīng)用的興起,存算一體技術(shù)得到國內(nèi)外學(xué)術(shù)界與產(chǎn)業(yè)界的廣泛研究與應(yīng)用。在2017年微處理器頂級年會(Micro 2017)上,包括英偉達、英特爾、微軟、三星、加州大學(xué)圣塔芭芭拉分校等都推出了他們的存算一體系統(tǒng)原型。
03 存算一體的優(yōu)勢
存算一體的優(yōu)勢是打破存儲墻,消除不必要的數(shù)據(jù)搬移延遲和功耗,并使用存儲單元提升算力,成百上千倍的提高計算效率,降低成本。
存算一體屬于非馮諾伊曼架構(gòu),在特定領(lǐng)域可以提供更大算力(1000TOPS以上)和更高能效(超過10-100TOPS/W),明顯超越現(xiàn)有ASIC算力芯片。除了用于AI計算外,存算技術(shù)也可用于感存算一體芯片和類腦芯片,代表了未來主流的大數(shù)據(jù)計算芯片架構(gòu)。存算一體技術(shù)的核心優(yōu)勢包括:
- 減少不必要的數(shù)據(jù)搬運。(降低能耗至1/10~1/100)
使用存儲單元參與邏輯計算提升算力。(等效于在面積不變的情況下規(guī)?;黾佑嬎愫诵臄?shù))
04 存算一體的市場驅(qū)動力
目前,存算一體的商業(yè)驅(qū)動力主要源于AI和元宇宙算力的需求、并行計算在深度學(xué)習(xí)的廣泛應(yīng)用。看向應(yīng)用端,存算一體的市場發(fā)展驅(qū)動卻是非常強烈的。
以數(shù)據(jù)中心為例,百億億次(E級)的超級計算機成為各國比拼算力的關(guān)鍵點,為此美國能源部啟動了“百億億次計算項目(Exascale Computing Project)”;中國則聯(lián)合國防科大、中科曙光和國家并行計算機工程技術(shù)研究中心積極開展相關(guān)研究,計劃于推出首臺E級超算。但要想研制E級超算,科學(xué)家面臨的挑戰(zhàn)之中首當(dāng)其沖的就是功耗過高問題。以現(xiàn)有技術(shù)研制的E級超算功率高達千兆瓦,需要一個專門的核電站來給它供電,而其中50%以上的功耗都來源于數(shù)據(jù)的“搬運”,本質(zhì)上就是馮·諾依曼計算機體系結(jié)構(gòu)計算與存儲的分離設(shè)計所致。基于神經(jīng)網(wǎng)絡(luò)的人工智能的興起,大算力高能效比的存內(nèi)計算獲得了廣泛關(guān)注。在神經(jīng)網(wǎng)絡(luò)運算中,其運算權(quán)重固定,一般僅“輸入”是實時產(chǎn)生,因此可以將權(quán)重存在片上存儲器,等外部“輸入”進入后再進行高能效的存內(nèi)計算。同時,隨著存算一體技術(shù)的進步,通過存內(nèi)計算和存內(nèi)邏輯,已經(jīng)可以完成32位以上的高精度計算,普遍適用于從端到云的各類計算需求。此外,新型存儲器的出現(xiàn)也帶動了存算一體技術(shù)的發(fā)展,為存算一體技術(shù)升級方向提供可能。其中,阻變憶阻器RRAM使用等效器件電阻調(diào)制來實現(xiàn)數(shù)據(jù)存儲,可以實現(xiàn)更高的計算密度。新型存儲器與存算一體技術(shù)的結(jié)合,形成了新一代的算力元素,有望推動下一階段的人工智能發(fā)展。
05 存算一體技術(shù)分類
在馮諾伊曼架構(gòu)中,計算單元與內(nèi)存是兩個分離的單元。計算單元根據(jù)指令從內(nèi)存中讀取數(shù)據(jù),在計算單元中完成計算和處理,完成后再將數(shù)據(jù)存回內(nèi)存。
在這個過程中,存儲器與處理器之間數(shù)據(jù)交換通路窄,以及由此引發(fā)的高能耗形成兩大難題,在存儲與計算之間筑起一道“存儲墻”。能耗方面,大部分能耗在數(shù)據(jù)搬運過程中產(chǎn)生,數(shù)據(jù)搬運功耗是計算功耗的1000倍。而數(shù)據(jù)搬運速度方面,AI運算需1PB/s,但DRAM 40GB-1TB/s 都遠達不到要求。存算一體技術(shù)的分類目前存算技術(shù)按照以下歷史路線順序演進:? 查存計算(Processing With Memory):GPU中對于復(fù)雜函數(shù)就采用了這種計算方法,是早已落地多年的技術(shù)。通過在存儲芯片內(nèi)部查表來完成計算操作。這是最早期的技術(shù)。? 近存計算(Computing Near Memory):典型代表是AMD的Zen系列CPU。計算操作由位于存儲區(qū)域外部的獨立計算芯片/模塊完成。這種架構(gòu)設(shè)計的代際設(shè)計成本較低,適合傳統(tǒng)架構(gòu)芯片轉(zhuǎn)入。將HBM內(nèi)存(包括三星的HBM-PIM)與計算模組(裸Die)封裝在一起的芯片也屬于這一類。近存計算技術(shù)早已成熟,被廣泛應(yīng)用在各類CPU和GPU上。? 存內(nèi)計算(Computing In Memory):典型代表是Mythic、千芯科技、閃億、知存、九天睿芯等。計算操作由位于存儲芯片/區(qū)域內(nèi)部的獨立計算單元完成,存儲和計算可以是模擬的也可以是數(shù)字的。這種路線一般用于算法固定的場景算法計算。? 存內(nèi)邏輯(Logic In Memory):這是較新的存算架構(gòu),典型代表包括TSMC(在2021 ISSCC發(fā)表)和千芯科技。這種架構(gòu)數(shù)據(jù)傳輸路徑最短,同時能滿足大模型的計算精度要求。通過在內(nèi)部存儲中添加計算邏輯,直接在內(nèi)部存儲執(zhí)行數(shù)據(jù)計算。
06 技術(shù)應(yīng)用方向
AI和大數(shù)據(jù)計算
存算一體被多家技術(shù)趨勢研究機構(gòu)確定為今后的科技趨勢。存算一體是突破AI算力瓶頸和大數(shù)據(jù)的關(guān)鍵技術(shù)。因為利用存算一體技術(shù),設(shè)備性能不僅能夠得到提升,其成本也能夠大幅降低。通過使用存算一體技術(shù),可將帶AI計算的中大量乘加計算的權(quán)重部分存在存儲單元中,在存儲單元的核心電路上做修改,從而在讀取的同時進行數(shù)據(jù)輸入和計算處理,在存儲陣列中完成卷積運算。由于大量乘加的卷積運算是深度學(xué)習(xí)算法中的核心組成部分,因此存內(nèi)計算和存內(nèi)邏輯非常適合人工智能的深度神經(jīng)網(wǎng)絡(luò)應(yīng)用和基于AI的大數(shù)據(jù)技術(shù)。感存算一體集傳感、儲存和運算為一體構(gòu)建感存算一體架構(gòu),解決馮諾依曼架構(gòu)的數(shù)據(jù)搬運的功耗瓶頸,同時與傳感結(jié)合提高整體效率。在傳感器自身包含的AI存算一體芯片上運算,來實現(xiàn)零延時和超低功耗的智能視覺處理能力?;赟RAM模數(shù)混合的視覺應(yīng)用存內(nèi)計算神經(jīng)擬態(tài)芯片僅在檢測到有意義的時間才會進行處理,大幅降低能耗。類腦計算類腦計算(Brain-inspired Computing)又被稱為神經(jīng)形態(tài)計算(Neuromorphic Computing)。是借鑒生物神經(jīng)系統(tǒng)信息處理模式和結(jié)構(gòu)的計算理論、體系結(jié)構(gòu)、芯片設(shè)計以及應(yīng)用模型與算法的總稱。近年來,科學(xué)家們試圖借鑒人腦的物理結(jié)構(gòu)和工作特點,讓計算機完成特定的計算任務(wù)。目的是使計算機像人腦一樣將存儲和計算合二為一,從而高速處理信息。存算一體天然是將存儲和計算結(jié)合在一起的技術(shù),天然適合應(yīng)用在類腦計算領(lǐng)域,并成為類腦計算的關(guān)鍵技術(shù)基石。由于類腦計算屬于大算力高能效領(lǐng)域,因此針對云計算和邊緣計算的存算一體技術(shù),是未來類腦計算的首選和產(chǎn)品快速落地的關(guān)鍵。
07 數(shù)字存算一體與模擬存算一體對比
存算一體的計算方式分為數(shù)字計算和多比特模擬計算。
數(shù)字存算一體主要以SRAM和RRAM作為存儲器件,采用先進邏輯工藝,具有高性能高精度的優(yōu)勢,且具備很好的抗噪聲能力和可靠性。而模擬存算一體通常使用FLASH、RRAM、PRAM等非易失性介質(zhì)作為存儲器件,存儲密度大,并行度高,但是對環(huán)境噪聲和溫度非常敏感。例如Intel和NVIDIA的算力芯片,盡管也可采用模擬計算技術(shù)提升能效,但從未有一顆大算力芯片采用模擬計算技術(shù)。數(shù)字存算一體適合大算力高能效的商用場景,而模擬存算一體適合小算力、不需要可靠性的民用場景。
08 存算一體的存儲介質(zhì)對比
目前可用于存算一體的成熟存儲器有NOR FLASH、SRAM、DRAM、RRAM、MRAM等NVRAM。
早期創(chuàng)業(yè)企業(yè)所用FLASH屬于非易失性存儲介質(zhì),具有低成本、高可靠性的優(yōu)勢,但在工藝制程有明顯的瓶頸。SRAM在速度方面和能效比方面具有優(yōu)勢,特別是在存內(nèi)邏輯技術(shù)發(fā)展起來之后具有明顯的高能效和高精度特點。DRAM成本低,容量大,但是速度慢,且需要電力不斷刷新。適用存算一體的新型存儲器有PCAM、MRAM、RRAM和FRAM等。其中憶阻器RRAM在神經(jīng)網(wǎng)絡(luò)計算中具有特別的優(yōu)勢,是除了SRAM存算一體之外的,下一代存算一體介質(zhì)的主流研究方向。目前RRAM距離工藝成熟還需要2-5年,材料不穩(wěn)定,但RRAM具有高速、結(jié)構(gòu)簡單的優(yōu)點,有希望成為未來發(fā)展最快的新型存儲器。從學(xué)術(shù)界和工業(yè)界的研發(fā)趨勢上看,SRAM和RRAM都是未來主流的存算一體介質(zhì)。
存儲器類型 | 優(yōu)勢 | 不足 | 適合場景 |
SRAM(數(shù)字模式) | 能效比高,高速高精度,對噪聲不敏感,工藝成熟先進,適合IP化 | 存儲密度略低 | 大算力、云計算、邊緣計算 |
SRAM(模擬模式) | 能效比高,工藝成熟先進 | 對PVT變化敏感,對信噪比敏感,存儲密度略低 | 小算力、端側(cè)、不要求待機功耗 |
各類NVRAM(包括RRAM/MRAM等) | 能效比高,高密度,非易失,低漏電 | 對 PVT變化敏感,有限寫次數(shù),相對低速,工藝良率尚在爬坡中 | 小算力、端側(cè)/邊緣Inference、待機時間長的場景 |
Flash | 高密度低成本,非易失,低漏電 | 對 PVT變化敏感,精度不高,工藝迭代時間長 | 小算力、端側(cè)、低成本、待機時間長的場景 |
DRAM | 高存儲密度,整合方案成熟 | 只能做近存計算,速度略低,工藝迭代慢 | 適合現(xiàn)有馮氏架構(gòu)向存算過渡 |
09 存算一體的應(yīng)用場景
存算一體芯片適用于各類人工智能場景和元宇宙計算,如可穿戴設(shè)備、移動終端、智能駕駛、數(shù)據(jù)中心等。
按算力大小劃分:1)針對端側(cè)的可穿戴等小設(shè)備,對算力的要求遠低于智能駕駛和云計算設(shè)備,但對成本、功耗、時延、開發(fā)難度很敏感。端側(cè)競品眾多,應(yīng)用場景碎片化,面臨成本與功效的難題。存算一體技術(shù)在端側(cè)的競爭力影響約占30%。(例如arm占30%,降噪或ISP占40%,AI加速能力只占30%)2)針對云計算和邊緣計算的大算力設(shè)備,是存算一體芯片的優(yōu)勢領(lǐng)域。存算一體在云和邊緣的大算力領(lǐng)域的競爭力影響約占90%。邊緣端存算一體芯片在邊緣端具有高算力、低功耗、高性價比的優(yōu)勢。而針對智能駕駛、數(shù)據(jù)中心等大算力應(yīng)用場景,在可靠性、算力方面有較高要求云計算市場玩家相對集中。各家有各家的算法和生態(tài)細節(jié),芯片售價較高。存算一體芯片以其高能效大算力優(yōu)勢有望另辟蹊徑搶占云計算市場。就目前云計算算力市場,GPU的單一架構(gòu)已經(jīng)不能適應(yīng)不同AI計算場景的算法離散化特點。例如,在圖像、推薦、NLP領(lǐng)域有各自的主流算法架構(gòu)。GPU無論在算力上還是能效上都無法同時與多個領(lǐng)域的專用加速芯片競爭。
10 總結(jié)
存算一體已經(jīng)被知名研究機構(gòu)和產(chǎn)業(yè)方確定為下一代技術(shù)趨勢之一。
目前國內(nèi)外存算一體企業(yè),都是剛剛起步階段,差距尚不大。存算一體芯片在設(shè)計層面是創(chuàng)新的,沒有成熟的方法借用。存算一體是計算系統(tǒng)和存儲系統(tǒng)的整合設(shè)計,比標準模擬IP和存儲器IP更更復(fù)雜,依賴于多次存儲器流片而積累的經(jīng)驗,需要創(chuàng)始團隊有充分的存儲器量產(chǎn)經(jīng)驗和技術(shù)路線認知。目前行業(yè)主要兩類路徑,一類是從小算力1TOPS開始往上走,解決的是音頻類、健康類及低功耗視覺終端側(cè)應(yīng)用場景,AI落地的芯片性能以及功耗問題。另一類主要是針對大算力場景>100TOPS,解決大算力問題,在無人車、泛機器人、智能駕駛,云計算領(lǐng)域提供高性能大算力和高性價比的產(chǎn)品。由于云計算和智能駕駛需求多樣,且各大廠的算法和生態(tài)有明顯的差異化,因此這些領(lǐng)域都有比較好的成長空間。隨著AI技術(shù)的加速落地,和元宇宙技術(shù)對于算力的大量需求,存算一體技術(shù)會不斷進步,成為繼CPU、GPU架構(gòu)之后的算力架構(gòu)“第三極”。來源:算力基建
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。