端側智慧存算一體晶片的需求、現狀與挑戰
- 2020 年 3 月 5 日
- 筆記
來源 | 《微納電子與智慧製造》期刊
摘 要:現代電子設備朝著智慧化、輕量化 、隨身化快速發展 ,但是智慧大數據處理挑戰與馮 · 諾依曼計算架構瓶頸成為 當前電子資訊領域的關鍵矛盾之一;同時,器件尺寸微縮(摩爾定律失效)帶來的功耗與可靠性問題進一步加劇了該矛盾 的快速惡化。近年來以數據為中心的新型計算架構 ,例如存算一體晶片技術 ,受到人們的廣泛關注 ,尤其在端側智慧場景。但是 ,基於端側設備在資源 、時延、成本、功耗等諸多因素的考慮 ,業界對存算一體晶片提出了苛刻的要求。因此, 存算一體介質與計算範式尤為重要。同時,器件—晶片—演算法—應用跨層協同對存算一體晶片的產業化應用與生態構建非常關鍵。概述了端側智慧存算一體晶片的需求 、現狀 、主流方向 、應用前景與挑戰等。
引言
自第四次資訊革命以來 ,現代電子設備朝著智 能化 、輕量化 、隨身化快速發展。尤其近年來 ,隨著 以深度學習神經網路為代表的人工智慧演算法的深入 研究與普及 ,智慧電子設備與相關應用場景已隨處 可見 ,例如人臉識別 、語音識別 、智慧家居 、安防監 控 、無人駕駛等。同時 ,隨著 5G 通訊與物聯網 (internet of things,IoT)技術的成熟,可以預見,智慧 萬物互聯(artificial intelligent internet of things,AIoT) 時代即將來臨。
如圖 1 所示 ,在未來 AIoT 場景中 ,設備 將 主 要 分 為 3 類 :雲 端 、邊 緣 端 與 終 端 [ 1 ] ,其 中 邊 緣 終端設備將呈現爆髮式增長。眾所周知 ,人工智慧 的 3 大要素是算力 、數據與演算法。互聯網與 5G 通訊 的應用普及解決了大數據問題 ,深度學習神經網路 的快速發展解決了演算法問題 ,NVIDIA GPU/Google TPU 等高性能硬體的大規模產業化解決了雲端算力問 題。但是 ,資源受限的邊緣終端設備的算力問題目 前仍然是缺失的一環 ,且因其對時延 、功耗 、成本 、安 全 性 等 特 殊 要 求( 尤 其 考 慮 細 分 場 景 的 特 殊 需 求 ),將 成為 AIoT 大規模產業化應用的核心關鍵。因此 ,在 通往 AIoT 的道路上 ,需要解決的核心挑戰是高能效、低成本和長待機的端側智慧晶片 。


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

不管處理器運行的多快 、性能多好 ,數據依然存儲在存儲器 里 ,每次執行運算時 ,需要把數據從存儲器經過數據 匯流排搬移到處理器當中 ,數據處理完之後再搬回到 存儲器當中。這就好比一個沙漏 ,沙漏兩端分別代 表存儲器和處理器 ,沙子代表數據 ,連接沙漏兩端的 狹窄通道代表數據匯流排。因此 ,存儲器的頻寬在很 大程度上限制了處理器的性能發揮 ,這稱為存儲牆 挑戰。
與此同時 ,摩爾定律正逐漸失效 ,依靠器件尺 寸微縮來繼續提高晶片性能的技術路徑在功耗與可 靠性方面都面臨巨大挑戰。因此 ,傳統馮 · 諾依曼計算架構難以滿足智慧大數據應用場景快 、准 、智的響 應需求。另一方面 ,數據在存儲器與處理器之間的 頻繁遷移帶來嚴重的傳輸功耗問題 ,稱為功耗牆挑 戰。NVIDIA 的研究報告指出 ,數據遷移所需的功耗 甚至遠大於實際數據處理的功耗。例如 ,相關研究 報告指出 ,在 22 nm 製程節點下 ,1 bit 浮點運算所需 要的數據傳輸功耗是數據處理功耗的約 200 倍[5] 。在電子資訊領域 ,存儲牆與功耗牆問題並稱為馮 · 諾 依曼計算架構瓶頸。
因此 ,智慧大數據處理的挑戰 實質是由硬體設施的處理能力與所處理問題的數據 規模之間的矛盾引起的。構建高效的硬體設施與計 算架構 ,尤其是在資源受限的 AIoT 邊緣終端設備 , 來應對智慧大數據應用背景下的馮 · 諾依曼計算架 構瓶頸具有重要的科學意義與應用前景 。
為了打破馮 · 諾依曼計算架構瓶頸 ,降低數據搬 移帶來的開銷 ,一種最直接的做法是增加數據匯流排 頻寬或者時鐘頻率 ,但必將帶來更大的功耗與硬體 成本開銷,且其擴展性也嚴重受限。目前業界採用 的主流方案是通過高速介面 、光互聯 、3D 堆疊 、增加片上快取等方式來實現高速高頻寬數據通訊 ,同時使存儲器盡量靠近處理器,減小數據傳輸的距離。光互聯技術還處於研發中試階段,而3D堆疊技術與增加片上快取等方法已經廣泛用於實際產品當中。
中國外很多高校與企業都在研發與應用這種技術,如Google、英特爾、AMD、NVIDIA 、寒武紀科技等。例如,利用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)上 ,包括NVIDIA 、英特爾 、微軟 、 三星、蘇黎世聯邦理工學院與加州大學聖塔芭芭拉 分校等都推出了存算一體系統原型[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 ) 產業生態層面:作為一種新興技術,想要得到大規模 普及 ,離不開產業生態的建設 ,需要得到晶片廠商 、 軟體工具廠商 、應用集成廠商等的大力協同 、研發 、 推廣與應用 ,實現性能與場景結合與落地 ,尤其在面 對傳統晶片已經佔據目前大部分已有應用場景的前 提下 ,如何突破新市場 、吸引新用戶是快速產業化落地的關鍵。NVIDIA 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
主管單位:北京電子控股有限責任公司
主辦單位:北京市電子科技科技情報研究所
北京方略資訊科技有限公司