什么是“存內(nèi)計算”,為什么它對人工智能很重要?
如果您正在運行 AI 工作負(fù)載,這里有一些可能會讓您感到驚訝的事情。您的處理器在洗牌數(shù)據(jù)上浪費的精力比實際進行您關(guān)心的計算要多。這種低效率正在成為下一代人工智能系統(tǒng)的嚴(yán)重限制。隨著神經(jīng)網(wǎng)絡(luò)增長到數(shù)十億個參數(shù),傳統(tǒng)的馮·諾依曼架構(gòu)正在遇到物理障礙。
本文介紹什么是內(nèi)存計算 (CIM) 技術(shù)及其工作原理。我們將研究與傳統(tǒng)處理器相比,當(dāng)前的實現(xiàn)如何顯著提高效率。我們還將探討為什么這種新方法可以改變人工智能計算。
傳統(tǒng)計算機的挑戰(zhàn)
傳統(tǒng)計算機將計算單元和內(nèi)存系統(tǒng)分開。他們通過能源密集型傳輸不斷交換數(shù)據(jù)。Terasys、IRAM 和 FlexRAM 等早期提案出現(xiàn)在 1990 年代。然而,這些最初的嘗試有重大局限性。當(dāng)時的CMOS技術(shù)還不夠先進。應(yīng)用需求也不同。
傳統(tǒng)的馮·諾依曼架構(gòu)(圖1a)在中央處理器和存儲器之間保持了嚴(yán)格的分離。這種方法需要通過帶寬受限的總線進行持續(xù)的數(shù)據(jù)傳輸。這種分離會產(chǎn)生“內(nèi)存墻”問題,這尤其會損害 AI 工作負(fù)載。
圖 1.計算架構(gòu)從 (a) CPU 和內(nèi)存分離的傳統(tǒng)馮諾依曼,到 (b) 近內(nèi)存計算,再到使用 (c) 基于 SRAM 和 (d) 基于 eNVM 的實現(xiàn)的真正的內(nèi)存計算方法。(圖片來源:IEEE)
CIM(也稱為存內(nèi)處理)與幾十年來主導(dǎo)計算的傳統(tǒng)馮·諾依曼架構(gòu)截然不同。它直接在數(shù)據(jù)存儲位置內(nèi)或非??拷鼣?shù)據(jù)存儲的位置執(zhí)行計算。
近內(nèi)存計算(圖 1b)使內(nèi)存更接近處理單元。真正的內(nèi)存計算方法(圖 1c 和 1d)的工作方式不同。它們將計算功能直接嵌入到內(nèi)存陣列中。存儲和邏輯單元的這種集成減少了數(shù)據(jù)移動。這減少了延遲和能耗,這是現(xiàn)代 AI 應(yīng)用程序中的兩大瓶頸。
大數(shù)據(jù)和機器學(xué)習(xí)應(yīng)用的快速增長推動了CIM的興起。這些應(yīng)用需要高計算效率。
技術(shù)實施方法
CIM 可以使用各種內(nèi)存技術(shù)來實現(xiàn),每種技術(shù)都為不同的 AI 工作負(fù)載提供獨特的優(yōu)勢。
靜態(tài)隨機存取存儲器 (SRAM) 已成為 CIM 實施最受歡迎的選擇。其速度、穩(wěn)健性以及與現(xiàn)有制造工藝的兼容性使其成為人工智能加速器的理想選擇。研究人員開發(fā)了改進的SRAM比特單元結(jié)構(gòu),包括8T、9T和10T配置,以及輔助外圍電路以提高性能。
圖2說明了基于SRAM的CIM開發(fā)的綜合性。該圖顯示了電路級創(chuàng)新如何實現(xiàn)復(fù)雜的計算功能和實際的人工智能應(yīng)用。在電路級別(圖2a),基于SRAM的CIM需要專門的比特單元結(jié)構(gòu)和外圍電路。其中包括模數(shù)轉(zhuǎn)換器、時間控制系統(tǒng)和冗余參考列。這些電路創(chuàng)新實現(xiàn)了一系列功能(圖 2b)。
圖 2.基于SRAM的內(nèi)存計算的完整框架,顯示了從(a)使用比特單元結(jié)構(gòu)和外圍電路的電路級實現(xiàn),到(b)包括數(shù)字和混合信號作在內(nèi)的功能能力,再到(c)實際的人工智能應(yīng)用,如CNN、AES加密和分類算法。(圖片:研究)
數(shù)字運算包括布爾邏輯和內(nèi)容可尋址內(nèi)存?;旌闲盘栠\算支持乘法累加和絕對差值計算之和,這是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。
如應(yīng)用層所示(圖 2c),這些技術(shù)能力轉(zhuǎn)化為加速的 AI 算法。其中包括用于圖像分類的卷積神經(jīng)網(wǎng)絡(luò)、用于安全應(yīng)用的 AES 加密以及用于模式識別的 k 最近鄰算法。然而,SRAM面臨著低密度和高漏電流等挑戰(zhàn),限制了其在大型AI處理器中的可擴展性。
動態(tài)隨機存取存儲器 (DRAM) 雖然由于其刷新要求而在直接內(nèi)存計算中不太常見,但在近內(nèi)存處理架構(gòu)中發(fā)揮著核心作用。高帶寬內(nèi)存和混合內(nèi)存立方體等技術(shù)利用 3D 堆疊來減少計算和內(nèi)存之間的物理距離。
電阻式隨機存取存儲器(ReRAM)是CIM最有前景的新技術(shù)。這種非易失性存儲器有幾個優(yōu)點。它具有高密度,并且與后端制造工藝配合良好。它也非常適合矩陣-向量乘法運算。這些作是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)。
CIM 實現(xiàn)的計算領(lǐng)域也各不相同。模擬CIM利用存儲單元的物理特性來執(zhí)行作。它通過電流求和和電荷收集來工作。這提供了更高的重量密度,但可能會出現(xiàn)噪音問題。數(shù)字CIM以每比特一個器件提供高精度?;旌闲盘柗椒ㄔ噲D平衡模擬和數(shù)字方法的優(yōu)勢。
AI 應(yīng)用程序的變革性優(yōu)勢
CIM for AI 的實際好處是可衡量的,也是引人注目的,如圖 3 所示。能效比較揭示了 CIM 架構(gòu)在不同技術(shù)節(jié)點上的優(yōu)勢。傳統(tǒng) CPU 僅能達到 0.01-0.1 TOPS/W(每秒每瓦特萬億次運算),而數(shù)字內(nèi)存架構(gòu)可提供 1-100 TOPS/W,代表著能源效率提高了 100 到 1000 倍。先進的 CIM 方法(如硅光子學(xué)和光學(xué)系統(tǒng))將效率推向更高。
圖 3.不同處理器類型的技術(shù)節(jié)點能效比較(左)和能耗明細(xì)(右)。(圖片來源:ResearchGate)
能量擊穿分析(圖 3,右)揭示了 CIM 有效的原因。傳統(tǒng) CPU 以內(nèi)存訪問能量(藍(lán)條)為主,而 CIM 架構(gòu)通過直接在內(nèi)存中執(zhí)行計算來減少這一瓶頸。這一基本優(yōu)勢轉(zhuǎn)化為人工智能應(yīng)用程序中可衡量的性能改進。
表 1 所示的最新實現(xiàn)證明了 CIM 對 Transformer 和 LLM 加速的實際影響。與 NVIDIA GPU 相比,各種 CIM 架構(gòu)都實現(xiàn)了性能改進,加速幅度從 2.3 倍到 200 倍不等。能效增益高達 1894 倍。這些結(jié)果涵蓋了多個 Transformer 模型,包括 BERT、GPT 和 RoBERTa,展示了 CIM 對現(xiàn)代語言模型的廣泛適用性。
表 1.比較用于 Transformer 和 LLM 基準(zhǔn)測試的各種 CIM 架構(gòu),顯示在不同型號和內(nèi)存技術(shù)中比 NVIDIA GPU 具有顯著的加速和效率提升。(圖片來源:arXiv)
總結(jié)
隨著我們進入后摩爾定律時代,CIM 代表了一場重大的架構(gòu)轉(zhuǎn)變,解決了人工智能計算中的關(guān)鍵挑戰(zhàn)。該技術(shù)正在迅速發(fā)展,基于 SRAM 的解決方案接近商業(yè)可行性,新興的非易失性存儲器解決方案顯示出未來應(yīng)用的潛力。隨著人工智能在技術(shù)應(yīng)用中的不斷擴展,CIM 可能成為更高效人工智能部署的重要使能技術(shù)。
評論