天天看點

端側智能存算一體晶片的需求、現狀與挑戰

作者 | 郭昕婕、王紹迪

來源 | 《微納電子與智能制造》期刊

摘 要:現代電子裝置朝着智能化、輕量化 、便攜化快速發展 ,但是智能大資料處理挑戰與馮 · 諾依曼計算架構瓶頸成為 目前電子資訊領域的關鍵沖突之一;同時,器件尺寸微縮(摩爾定律失效)帶來的功耗與可靠性問題進一步加劇了該沖突 的快速惡化。近年來以資料為中心的新型計算架構 ,例如存算一體晶片技術 ,受到人們的廣泛關注 ,尤其在端側智能場景。但是 ,基于端側裝置在資源 、時延、成本、功耗等諸多因素的考慮 ,業界對存算一體晶片提出了苛刻的要求。是以, 存算一體媒體與計算範式尤為重要。同時,器件—晶片—算法—應用跨層協同對存算一體晶片的産業化應用與生态建構非常關鍵。概述了端側智能存算一體晶片的需求 、現狀 、主流方向 、應用前景與挑戰等。

引言

自第四次資訊革命以來 ,現代電子裝置朝着智 能化 、輕量化 、便攜化快速發展。尤其近年來 ,随着 以深度學習神經網絡為代表的人工智能算法的深入 研究與普及 ,智能電子裝置與相關應用場景已随處 可見 ,例如人臉識别 、語音識别 、智能家居 、安防監 控 、無人駕駛等。同時 ,随着 5G 通信與物聯網 (internet of things,IoT)技術的成熟,可以預見,智能 萬物互聯(artificial intelligent internet of things,AIoT) 時代即将來臨。

如圖 1 所示 ,在未來 AIoT 場景中 ,裝置 将 主 要 分 為 3 類 :雲 端 、邊 緣 端 與 終 端 [ 1 ] ,其 中 邊 緣 終端裝置将呈現爆發式增長。衆所周知 ,人工智能 的 3 大要素是算力 、資料與算法。網際網路與 5G 通信 的應用普及解決了大資料問題 ,深度學習神經網絡 的快速發展解決了算法問題 ,英偉達 GPU/谷歌 TPU 等高性能硬體的大規模産業化解決了雲端算力問 題。但是 ,資源受限的邊緣終端裝置的算力問題目 前仍然是缺失的一環 ,且因其對時延 、功耗 、成本 、安 全 性 等 特 殊 要 求( 尤 其 考 慮 細 分 場 景 的 特 殊 需 求 ),将 成為 AIoT 大規模産業化應用的核心關鍵。是以 ,在 通往 AIoT 的道路上 ,需要解決的核心挑戰是高能效、低成本和長待機的端側智能晶片 。

端側智能存算一體晶片的需求、現狀與挑戰
端側智能存算一體晶片的需求、現狀與挑戰

馮·諾依曼計算架構瓶頸與大資料智能處理挑戰

随着大資料、物聯網、人工智能等應用的快速興 起 ,資料以爆發式的速度快速增長。相關研究報告 指出 ,全世界每天産生的資料量約為 2.5 × 1018 位元組,且該體量仍然以每 40 個月翻倍的速度在持續增 長[2]。海量資料的高效存儲、遷移與處理成為目前電 子資訊領域的重大挑戰之一。但是 ,受限于經典的 馮 · 諾依曼計算架構[3-4] ,資料存儲與處理是分離的 , 存儲器與處理器之間通過資料總線進行資料傳輸, 如圖 2(a)所示。在面向大資料分析等應用場景中 , 這種計算架構已成為高性能低功耗計算系統的主要瓶頸之一。一方面 ,資料總線的有限帶寬嚴重制約 了處理器的性能與效率 ,同時 ,存儲器與處理器之間 存在嚴重性能不比對問題 ,如圖 2(b)所示。

端側智能存算一體晶片的需求、現狀與挑戰

不管處理器運作的多快 、性能多好 ,資料依然存儲在存儲器 裡 ,每次執行運算時 ,需要把資料從存儲器經過資料 總線搬移到處理器當中 ,資料處理完之後再搬回到 存儲器當中。這就好比一個沙漏 ,沙漏兩端分别代 表存儲器和處理器 ,沙子代表資料 ,連接配接沙漏兩端的 狹窄通道代表資料總線。是以 ,存儲器的帶寬在很 大程度上限制了處理器的性能發揮 ,這稱為存儲牆 挑戰。

與此同時 ,摩爾定律正逐漸失效 ,依靠器件尺 寸微縮來繼續提高晶片性能的技術路徑在功耗與可 靠性方面都面臨巨大挑戰。是以 ,傳統馮 · 諾依曼計算架構難以滿足智能大資料應用場景快 、準 、智的響 應需求。另一方面 ,資料在存儲器與處理器之間的 頻繁遷移帶來嚴重的傳輸功耗問題 ,稱為功耗牆挑 戰。英偉達的研究報告指出 ,資料遷移所需的功耗 甚至遠大于實際資料處理的功耗。例如 ,相關研究 報告指出 ,在 22 nm 工藝節點下 ,1 bit 浮點運算所需 要的資料傳輸功耗是資料處理功耗的約 200 倍[5] 。在電子資訊領域 ,存儲牆與功耗牆問題并稱為馮 · 諾 依曼計算架構瓶頸。

是以 ,智能大資料處理的挑戰 實質是由硬體設施的處理能力與所處理問題的資料 規模之間的沖突引起的。建構高效的硬體設施與計 算架構 ,尤其是在資源受限的 AIoT 邊緣終端裝置 , 來應對智能大資料應用背景下的馮 · 諾依曼計算架 構瓶頸具有重要的科學意義與應用前景 。

為了打破馮 · 諾依曼計算架構瓶頸 ,降低資料搬 移帶來的開銷 ,一種最直接的做法是增加資料總線 帶寬或者時鐘頻率 ,但必将帶來更大的功耗與硬體 成本開銷,且其擴充性也嚴重受限。目前業界采用 的主流方案是通過高速接口 、光互聯 、3D 堆疊 、增加片上緩存等方式來實作高速高帶寬資料通信 ,同時使存儲器盡量靠近處理器,減小資料傳輸的距離。光互聯技術還處于研發中試階段,而3D堆疊技術與增加片上緩存等方法已經廣泛用于實際産品當中。

國内外很多高校與企業都在研發與應用這種技術,如谷歌、英特爾、AMD、英偉達、寒武紀科技等。例如,利用3D堆疊技術,在處理器晶片上內建大容量記憶體 ,可以把資料帶寬從幾十 GB/s 提升到幾百 GB/s;基 于 3D 堆疊 DRAM 技術 ,IBM 于 2015 年釋出了一款面 向百億億次超級計算系統[6] ;英國 Graphcore 公司在芯 片産品上內建了 200~400MB 的片上緩存 ,來提高性能。

值得注意的是,上述方案不可避免地會帶來功耗 與成本開銷 ,難以應用于邊緣終端能耗與成本均受限 的 AIoT 裝置 ,且其并沒有改變資料存儲與資料處理分離的問題,是以隻能在一定程度上緩解,但是并不能從根本上解決馮·諾依曼計算架構瓶頸。

端側智能存算一體晶片的需求、現狀與挑戰

存算一體基本原理與國内外發展現狀

存算一體晶片技術,旨在把傳統以計算為中心的架構轉變為以資料為中心的架構,其直接利用存儲器進行資料處理 ,進而把資料存儲與計算融合在 同一個晶片當中 ,可以徹底消除馮 · 諾依曼計算架構 瓶頸,特别适用于深度學習神經網絡這種大資料量 大規模并行的應用場景。需要說明的是 ,目前在學 術界和産業界有不少類似的英文概念,例如 Computing-in-Memory、In-Memory-Computing、Logic- in- Memory 、In- Memory- Processing 、Processing- in- Memory等,而且不同研究領域(器件、電路、體系架 構、資料庫軟體等)的稱呼也不統一,相應的中文翻 譯也不盡相同 ,例如記憶體處理 、存内處理 、記憶體計算 、 存算融合 、存内計算 、存算一體等。此外 ,在廣義上 , 近存計算也被歸納為存算一體的技術路徑之一 。

存算一體的基本概念最早可以追溯到 20 世紀 70 年代,斯坦福研究所的Kautz等[7-8]最早于1969年就 提出了存算一體計算機的概念。後續相當多的研究 工作在晶片電路 、計算架構 、作業系統 、系統應用等 層面展開。例如 ,加州大學伯克利分校的 Patterson 等[9]成功把處理器內建在DRAM記憶體晶片當中,實作 一種智能存算一體計算架構。但是受限于晶片設計 複雜度與制造成本問題,以及缺少殺手級大資料應 用進行驅動 ,早期的存算一體僅僅停留在研究階段, 并未得到實際應用。

近年來 ,随着資料量不斷增大 以及記憶體晶片技術的提高,存算一體的概念重新得 到人們的關注 ,并開始應用于商業級 DRAM 主存當 中。尤其在 2015 年左右 ,随着物聯網 、人工智能等大 資料應用的興起 ,存算一體技術得到國内外學術界 與産業界的廣泛研究與應用。在 2017 年微處理器頂 級年會(Micro 2017)上 ,包括英偉達 、英特爾 、微軟 、 三星、蘇黎世聯邦理工學院與加州大學聖塔芭芭拉 分校等都推出了存算一體系統原型[10-12]。

尤其是 ,近年來非易失性存儲器技術 ,例如閃存 (Flash)、憶阻器(阻變存儲器 RRAM)、相變存儲器 (PCM)與自旋磁存儲器(MRAM)等[13-17] ,為存算一體晶片的高效實施帶來了新的曙光。這些非易失性存 儲器的電阻式存儲原理可以提供固有的計算能力, 是以可以在同一個實體單元位址同時內建資料存儲 與資料處理功能。此外 ,非易失性可以讓資料直接 存儲在片上系統中 ,實作即時開機/關機 ,而不需要 額外的片外存儲器。惠普實驗室的 Williams 教授團隊[18]在 2010 年就提出并驗證利用憶阻器實作簡單布 爾邏輯功能。

随後 ,一大批相關研究工作不斷湧 現。2016年,美國加州大學聖塔芭芭拉分校(UCSB) 的謝源教授團隊提出利用 RRAM 建構基于存算一體 架構的深度學習神經網絡(PRIME[19] ),受到業界的 廣泛關注。測試結果表明,相比基于馮·諾依曼計算 架構的傳統方案 ,PRIME 可以實作功耗降低約 20 倍、速度提高約50倍[20]。這種方案可以高效地實作 向量-矩陣乘法運算,在深度學習神經網絡加速器領 域具有巨大的應用前景。國際上杜克大學 、普渡大 學 、斯坦福大學 、馬薩諸塞大學 、新加坡南洋理工大 學 、惠普 、英特爾 、鎂光等都開展了相關研究工作 ,并 釋出了相關測試晶片原型[21-24]。

我國在這方面的研 究也取得了一系列創新成果,如北京大學黃如教授 與康晉鋒教授團隊 、中國科學院微電子研究所劉明 教授團隊 、清華大學楊華中教授與吳華強教授團隊、 中國科學院上海微系統與資訊技術研究所宋志棠教 授團隊、華中科技大學缪向水教授團隊等,都釋出了 相關器件/晶片原型 ,并通過圖像/語音識别等應用進 行了測試驗證[25-27]。PCM 具有與 RRAM 類似的多比 特特性 ,可以基于類似的原理實作向量-矩陣乘法運 算。對于 MRAM 而言 ,由于其二值存儲實體特性 , 難以實作基于交叉點陣列的向量-矩陣乘法運算 ,因 此基于 MRAM 的存算一體通常采用布爾邏輯的計算 範式[28-30]。但由于技術/工藝的成熟度等問題 ,迄今基于相變存儲器 、阻變存儲器與自旋存儲器的存算一體 晶片尚未實作産業化。

與此同時 ,基于 Nor Flash 的存 算一體晶片技術近期受到産業界的格外關注 ,自 2016 年UCSB釋出第一個樣片以來,多家初創企業在進行 研發,例如美國的Mythic、Syntiant,國内的知存科技 等 ,并受到國内外主流半導體企業與資本的産業投 資 ,包 括 Lam Research 、Applied Materials 、Intel 、 Micron 、ARM 、Bosch 、Amazon 、Microsoft 、Softbank 、 Walden 、中芯國際等。相比較而言 ,Nor Flash 在技術/ 工藝成熟度與成本方面在端側AIoT領域具有優勢,3 大公司均宣布在 2019 年末實作量産。

端側智能存算一體晶片的需求、現狀與挑戰

端側智能應用特征與存算一體晶片需求

随着 AIoT 的快速發展 ,使用者對時延 、帶寬 、功耗、隐私/安全性等特殊應用需求,如圖3(a)所示,驅 動邊緣端側智能應用場景的爆發。首先 ,時延是用 戶體驗最直覺的感受 ,而且是某些應用場景的必需 要求 ,例如自動駕駛 、實時互動遊戲 、增強現實/虛拟 現實技術(AR/VR)等。考慮到實時産生的資料量、 實際傳輸帶寬以及端側裝置的能耗 ,不可能所有運 算都依賴雲端來完成。例如 ,根據英特爾的估計 ,每輛自動駕駛汽車每天産生的資料量高達400GB[1];再如 ,每個高清安防監控攝像頭每天産生的資料量高 達 40~200GB。如果所有車輛甚至所有攝像頭産生 的資料都發送到雲端進行處理 ,那不僅僅是使用者體 驗 ,即使對傳輸網絡與雲端裝置都将是一個災難 。而且,通常邊緣資料的半衰期都比較低,如此巨大的 資料量 ,實際上真正有意義的資料可能非常少 ,是以 并沒有意義把全部資料發送到雲端去處理。

此外,同類裝置産生的大部分資料通常具有極高的相同模 式化特征 ,借助邊緣端/終端有限的處理能力 ,即可 以過濾掉大部分無用資料 ,進而大幅度提高使用者體 驗與開銷。增強使用者體驗的另一個參數是待機時 間 ,這對便攜式可穿戴裝置尤為關鍵。例如智能眼鏡與耳機,至少要保證滿負荷待機時間在1天以上。是以終端裝置的功耗/能效是一個極大的挑戰。

其 次 ,使用者對隐私/安全性要求越來越高 ,并不願意把 資料送到雲端處理 ,促使本地處理成為終端裝置的 必備能力。例如,随着語音識别、人臉識别應用的普 及 ,越來越多的人開始關心隐私洩露的問題 ,即使智 能家居已經普及 ,但很多使用者選擇關閉語音處理功 能。最後,在無網環境場景下,邊緣終端處理将成為 必需。相應地,不同于雲端晶片,對于端側智能芯 片 ,其對成本 、功耗的要求最高,而對通用性、算力 、 速度的要求次之,如圖(3 b)所示。

是以,依靠器件尺 寸微縮來繼續提高晶片性能的傳統技術路徑在功耗 與成本方面都面臨巨大挑戰;而依賴器件與架構創 新的技術路徑越來越受重視。2018 年 ,美國 DARPA “電子複興計劃”明确提出不再依賴摩爾定律的等比 例微縮道路 ,旨在尋求超越傳統馮 · 諾依曼計算架構 的創新 ,利用新材料 、新器件特性和內建技術 ,減少 資料處理電路中移動資料的需求 ,研究新的計算拓 撲架構用于資料存儲與處理 ,帶來計算性能的顯著 提高。業界普遍認為 ,存算一體晶片技術将為實作此目标提供可行的技術路徑 。

端側智能存算一體晶片的需求、現狀與挑戰
端側智能存算一體晶片的需求、現狀與挑戰

存算一體晶片主流研究方向

根據存儲器媒體的不同 ,目前存算一體晶片的 主流研發集中在傳統易失性存儲器 ,如 SRAM、DRAM,以及非易失性存儲器 ,如 RRAM、PCM、 MRAM 與閃存等 ,其中比較成熟的是以 SRAM 和 MRAM 為代表的通用近存計算架構。值得注意的 是 ,本章将主要讨論基于存算一體晶片的深度學習 神經網絡加速器實作。在此類應用中 ,95%以上的運算為向量矩陣乘法( MAC ),是以存算一體主要用來加速這部分運算。

4.1 通用近存計算架構

如圖 4 所示 ,這種方案通常采用同構衆核的架 構 ,每個存儲計算核(MPU)包含計算引擎(processing engine,PE)、緩存(cache)、控制(CTRL) 與輸入輸出(inout/output,I/O)等,這裡緩存可以是SRAM、MRAM 或類似的高速随機存儲器。各個 MPU 之間通過片上網絡(network-on-chip ,NoC)進行 連接配接。每個 MPU 通路各自的緩存 ,可以實作高性能 并行運算。典型案例包括英國 Graphcore 公司 ,其測 試晶片內建了 200~400MB 的 SRAM 緩存以及美國 Gyrfalcon Technology 公司 ,其測試晶片內建了 40MB嵌入式MRAM緩存。

端側智能存算一體晶片的需求、現狀與挑戰

4.2 SRAM 存算一體

由于 SRAM 是二值存儲器 ,二值 MAC 運算等效于 XNOR 累加運算 ,可以用于二值神經網 絡運算。圖 5(a)和圖 5(b)為兩種典型設計方 案 ,其核心思想是把網絡權重存儲于 SRAM 單元中 ,激勵信号從額外字線給入 ,最終利用外圍 電路實作 XNOR 累加運算 ,計算結果通過計數 器或模拟電流輸出 ,具體實作可以參考[31-32] 。這 種方案的主要難點是實作大陣列運算的同時保 證運算精度。

端側智能存算一體晶片的需求、現狀與挑戰

4.3 DRAM存算一體

基于 DRAM 的存算一體設計主要利用 DRAM 單元之間的電荷共享機制[33-34]。如圖 6 所示為一種典型 實作方案[33] ,當多行單元同時被選通時 ,不同單元之 間因為存儲資料的不同會産生電荷交換共享 ,進而實作邏輯運算。這種方案的問題之一是計算操作對 資料是破壞性的 ,即每次執行運算時 ,DRAM 存儲單元存儲的資料會破壞 ,需要每次運算後進行重新整理 ,帶 來較大的功耗問題;另一個難點是實作大陣列運算的同時保證運算精度 。

端側智能存算一體晶片的需求、現狀與挑戰

4.4 RRAM/PCM/Flash 多值存算一體

基于 RRAM/PCM/Flash 的多值存算一體方案的基本原理是利用存儲單元的多值特性 ,通過器件本 征的實體電氣行為(例如基爾霍夫定律與歐姆定律)來實作多值 MAC 運算[13,21-25] ,如圖 7 所示。每個存儲 單元可以看作一個可變電導/電阻 ,用來存儲網絡權 重,當在每一行施加電流/電壓(激勵)時,每一列即 可得到 MAC 運算的電壓/電流值。實際晶片中 ,根 據不同存儲媒體的實體原理和操作方法的不同 ,具 體實作方式會有差異 。

由于 RRAM/PCM/Flash 本身是非易失性存儲器 , 可以直接存儲網絡權重 ,是以不需要片外存儲器 ,減 小晶片成本;同時,非易失性可以保證資料掉電不丢 失 ,進而實作即時開機/關機操作 ,減小靜态功耗 ,延 長待機時間,非常适用于功耗受限的邊緣終端設 備。目前 ,基于 RRAM/PCM 的存算一體技術在學術 界是非常熱的一個研究方向 ,遺憾的是 ,因為RRAM/PCM 成熟度等問題 ,目前尚未實作産業化 , 但未來具有非常大的潛力;基于 Flash 的存算一體技 術相對較成熟 ,受到産業界廣泛關注 ,預計于 2019 年末量産。

4.5 RRAM/PCM/MRAM 二值存算一體

基于 RRAM/PCM/MRAM 的二值存算一體主要有兩種方案。第一種方案是利用輔助外圍電路,跟上述SRAM 存算一體類似 ,如圖 8(a)所示為一種典 型的可重構存算一體實作方案[35] ,其可以在存儲應 用與存算一體應用之間進行切換。由于 RRAM/ PCM/MRAM 非易失性電阻式存儲原理 ,其具有不同 的電路實作方式 ,具體參考[35-37]。第二種方案是直接 利用存儲單元實作布爾邏輯計算[28,38-41] ,如圖 8(b)所 示 ,這種方案直接利用存儲單元的輸入輸出操作進 行邏輯運算,根據不同存儲器存儲單元的結構與操作方法不同 ,可以有不同的實作方式 ,具體可以參 考[28,38-41] 。

端側智能存算一體晶片的需求、現狀與挑戰
端側智能存算一體晶片的需求、現狀與挑戰
端側智能存算一體晶片的需求、現狀與挑戰

應用前景與挑戰

存算一體晶片技術,尤其是非易失性存算一體 晶片技術 ,因其高算力 、低功耗 、低成本等優勢 ,未來 在 AIoT 領域具有非常大的應用前景。存算一體芯 片 大 規 模 産 業 化 的 挑 戰 主 要 來 自 兩 方 面 :

(1 )技 術 層 面:存算一體晶片涉及器件—晶片—算法—應用等多 層次的跨層協同 ,如圖 9 所示。例如 ,細分應用場景的不同性能需求決定了神經網絡算法與晶片的設 計 ,算法依賴神經網絡架構 、編譯 、驅動 、映射等工具 與晶片架構的協同,晶片架構又依賴器件、電路與代 工廠工藝。這些對存算一體晶片的研發與制備都是 相當大的一個挑戰 ,尤其需要代工廠的支援。特别 是基于新型存儲媒體的存算一體技術 ,器件實體原 理 、行為特性 、內建工藝都不盡相同 ,需要跨層協同 來 實 現 性 能( 精 度 、功 耗 、時 延 等 )與 成 本 的 最 優 。

(2 ) 産業生态層面:作為一種新興技術,想要得到大規模 普及 ,離不開産業生态的建設 ,需要得到晶片廠商 、 軟體工具廠商 、應用內建廠商等的大力協同 、研發 、 推廣與應用 ,實作性能與場景結合與落地 ,尤其在面 對傳統晶片已經占據目前大部分已有應用場景的前 提下 ,如何突破新市場 、吸引新使用者是快速産業化落地的關鍵。英偉達GPU的成功給出了很好的啟示與 借鑒。一方面需要優化工具與服務 ,友善使用者使用; 另一方面需要盡量避免競争 ,基于存算一體晶片的 優勢 ,開拓新應用 、新場景 、新市場 ,創造傳統晶片無 法覆寫的新型應用市場。

端側智能存算一體晶片的需求、現狀與挑戰

郭昕婕, 王紹迪. 端側智能存算一體晶片概述[J]. 微納電子與智能制造, 2019, 1(2): 72-82.

GUO Xinjie, WANG Shaodi. Continuous perception integrated circuits and systems for edge-computing smart devices[J]. Micro/nano Electronics and Intelligent Manufacturing, 2019, 1 (2): 72-82.

《微納電子與智能制造》刊号:CN10-1594/TN

主管機關:北京電子控股有限責任公司

主辦機關:北京市電子科技科技情報研究所

北京方略資訊科技有限公司