突破“馮諾依曼瓶頸”,一段存儲與人工智能凝成的自由故事

在計算中使用某種形式的存儲器以實現“存內計算(In-Memory Computing)”的做法,最近成為了人們熱議的焦點。由於能夠突破馮·諾依曼(von Neumann)架構中令人生厭的“存儲牆”和“功耗牆”,這些新的架構被視作未來30年內,推動“數據計算的文藝復興”時代到來的關鍵力量。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

驚喜提示:文末有彩蛋。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

計算,最好在內存中完成

當今社會處於一個信息爆炸的大數據時代,對超高速、高帶寬、大容量、高密度、低功耗和低成本的超高性能計算需求呈爆發式增長,而人工智能的出現更加速了這種趨勢,因為它需要大量的數據進行訓練。

以智能攝像頭為例,隨著攝像頭的分辨率從1080P轉向4K,其一天所採集到的數據量將達到200GB。面臨同樣問題的還包括智能醫院、自動駕駛和智能工廠,它們一天所產生的數據將分別超過3TB、4TB和1PB。2020年,一位普通的互聯網用戶平均每天產生的數據量大概是1.5GB,這樣的數據產生速度遠遠超出了我們的想象。

美光科技(Micron)首席執行官Sanjay Mehrotra曾指出,人工智能服務器所需的固態存儲器和DRAM的數量是標準服務器的兩倍。由於我們仍處於AI發展的早期階段,還面臨著眾多挑戰,但從長遠來看,AI對NAND和DRAM的需求應該會急速飆升。

面對滾滾而來的數據洪流,要使通過AIoT設備傳輸的大量數據變得有用,無論是採用本地處理、實時處理還是雲端處理,高效靈活的計算平臺、高性能存儲和複雜但易於使用的機器學習堆棧,都是大數據/人工智能取得突破性成果的關鍵,三個元素缺一不可。正如Sanjay Mehrotra所說,“昨天的計算體系結構不適用於明天。從長遠來看,我們認為計算最好在內存中完成。”

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

圖1:計算最好在內存中完成討厭的“存儲牆”

但在傳統計算設備廣泛採用的馮·諾依曼架構中,計算和存儲功能不但是分離的,而且更側重於計算。數據在處理器和存儲器之間不停的來回傳輸,消耗了約80%的時間和功耗。學術界為此想出了很多方法試圖改變這種狀況,例如通過光互連、2.5D/3D堆疊實現高帶寬數據通信,或者通過增加緩存級數、高密度片上存儲這樣的近數據存儲,來緩解訪存延遲和高功耗。但試想一下,人類大腦有計算和存儲的區別嗎?我們是用左半球來計算,右半球做存儲的嗎?顯然不是,人腦本身的計算和存儲都發生在同一個地方,不需要數據遷移。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

圖2:傳統的馮·諾依曼計算架構

除了體系架構自身的限制外,處理器和存儲器二者之間長期以來所採用的不同工藝路線,也是造成計算和存儲分離,繼而產生“存儲牆”和“功耗牆”問題的重要原因之一。用戶對處理器的高性能需求是無止境的,這使得半導體廠商不斷通過提高晶體管內部的開關速度、使用更多的金屬佈線層和先進封裝技術等手段來提升性能;但對於存儲器來說,消費者和廠商更在意的是如何在更小的存儲單元面積上獲得更多的晶體管數量,用以增加存儲密度,擴大存儲容量。從圖3可以看出,1980-2000年,處理器和存儲器兩者的速度失配以每年50%的速率在增加。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

圖3:1980-2000年,處理器和存儲器兩者的速度失配以每年50%的速率增加

與此同時,數據遷移需要的功耗在整個計算中的佔比也在“水漲船高”。有研究顯示,7nm工藝時代,訪存功耗達到25pJ/bit(45.5%),通信功耗達到10pJ/bit(18.2%),數據傳輸和訪問功耗佔比達到了63.7%。

因此,學術界和產業界都希望儘快找到一種與人腦結構類似的創新架構的想法就不足為奇了,比如通過對DRAM的邏輯層和存儲層進行堆疊,實現近數據存儲計算(Near Memory Compute),或者是最好能夠將存儲和計算有機地結合在一起(存儲器顆粒本身的算法嵌入),直接利用存儲單元進行計算,最大程度的消除數據遷移所帶來的功耗開銷。

人工智能,“存內計算”的助推劑

在這一背景下,更聚焦存儲的新型“存內計算”架構誕生了。從目前趨勢來看,真正對“存內計算”架構起到決定性推動作用的,將是人工智能/物聯網相關應用的加速落地。

之所以做出這樣的判斷,原因有二。其一,物聯網中包含大量智能終端,其計算過程往往涉及淺層人工智能算法數據的預處理。存內計算由於硬件複用問題,在深層算法的加速方面應該不佔優勢,但在淺層算法的實現過程中,簡化的存算結構更易於硬件實現。其二,存內計算方案由於無需頻繁搬用數據,能耗將顯著降低,更符合物聯網對硬件低功耗的要求。

眾所周知,算法(Algorithm)、數據(Big data)和計算能力(Computing)並稱為新AI時代三大驅動力,如何在追求更好性能的同時實現低功耗、低延遲和低成本,逐漸成為擺在所有AI從業者面前的艱鉅挑戰之一。

在實際應用中,我們發現儘管很多AI硬件平臺都展示了自身所具備的強大算力,然而當用戶在真正運行一個應用時,卻常常發現由於存儲帶寬和存儲架構的限制,很難將所有的AI運算單元填滿,從而導致硬件的計算效率低下。以谷歌第一代TPU為例,其平均硬件乘法陣列使用率只有28%,這意味著72%的硬件在大部分時間內是沒有任何事情可做的。

而在設計AI平臺的時候,大量運算引擎所帶來的能量消耗也是不可忽視的。圖4表明,如果將完成16位整數加法能量消耗定義為1,那麼將32比特的數據從DDR內存傳輸到芯片中,就將花費1萬倍的能量消耗。因此,過大的訪問帶寬將會直接導致AI芯片功耗高居不下。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

圖4:AI硬件的計算效率與功耗由訪存帶寬所主導(圖片來源:深鑑科技)

另一方面,5G、物聯網與工業4.0的發展讓信息量呈現爆炸式增長,但把所有數據都放到雲端去進行處理和傳輸、存儲和分析是不適合的。比如在工業自動化領域,數據存儲距離一定要近才有效率;5G移動設備製造商如果不強化終端側人工智能並進行計算-存儲架構更改,將會遭遇嚴重的電池壽命問題。

摩爾定律目前面臨的挑戰是擴張速度的急速放緩,無法再提供功率、性能和麵積成本(PPAC)的同步提升。因此,相關測算表明,如果能夠在內存中實現存內計算,終端設備的功耗將可以降低約20倍,速度提高約50倍,從而大幅提高計算的功耗和性能,特別適用於智能語音識別、降噪、聲紋、人臉、手勢、文字識別等應用。

“萬丈高樓平地起”

這是一句中國的老話。意思是再激動人心的遠方,也要依賴於堅實的基礎和天才的創新。對於存內計算來說,拋開基礎存儲器件去談無異於“紙上談兵”,對於這一點,存儲巨頭們有著清醒的認識。

根據存儲器件的存儲易失性分類,當前存內計算的實現主要聚焦在兩類存儲器上:1.基於易失性的SRAM或DRAM構建;2.基於非易失性的相變存儲器PCRAM、阻變存儲器/憶阻器ReRAM、磁性隨機存取存儲器MRAM和浮柵器件/Flash構建。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

圖5:各類不同存儲器件的性能對比(圖片來源:美光科技)

  • 基於易失性存儲器

基於SRAM的存內計算芯片目前可支持無進位乘法運算的計算型cache,相關廠商在2018年還發布了面向深度學習算法的神經Cache,並在邏輯操作基礎上實現了加法、乘法和減法操作;2017年,業界基於成熟DRAM存儲器件實現了卷積神經網絡的計算功能,實驗數據表明,針對整數運算,與GPU相比,新架構可以獲得7.7倍的性能提升和15倍的能效提升。

  • 基於非易失性存儲器

非易失性存儲器在最近十幾年得到了飛速的發展,以美光為例,其代表性產品包括在2010年發佈的45nm 1Gb PCM、2015年推出的27nm 16Gb conductive bridge(CBRAM,一種特殊的ReRAM)和128Gb 3D XPoint技術。基於該技術的最新產品則是美光推出的首款面向數據中心的存儲和內存密集型應用的解決方案X100 SSD,它實現了每秒讀寫操作次數(IOP)250萬次,在讀、寫和讀寫混合模式下帶寬超過9GB/s的性能。

根據Objective Analysis和Coughlin Associates發表的最新年度報告《Emerging Memories Ramp Up》顯示,預計到2029年,新興內存市場可望創造200億美元的合併收入。其中,PCRAM由於價格低於DRAM,可望在2029年前成長至160億美元的市場規模。同時,獨立型MRAM和STT-MRAM(自旋矩磁存儲器)的收入將接近40億美元,或超過2018年MRAM收入的170倍。

  • 基於浮柵器件/Flash

基於NOR Flash構建存內計算芯片也是當前比較主流的做法之一。通過把乘數直接存入存儲單元內,再把數值輸入到閃存陣列之中,並對每個單元都進行乘法,最後通過一條路徑求和,就可以達到存內計算的效果。從相關廠商公佈的數據來看,基於NOR Flash構建的存內計算芯片最高峰值運算效率能夠達到40TOPS/W,平均值為10TOPS/W。

總體來說,基於SRAM架構是能夠實現存內計算設計的,但其模擬特性、集成能力可能不太符合物聯網終端的需求趨勢。而非易失性存儲器件,如NOR Flash、ReRAM、PCRAM等既能夠提供更多工具來增強近存儲器計算,也是被存儲業界普遍看好的下一階段存內計算的建構模組,具有較強商業化潛力,是存內計算方案核心競爭力的體現。

從“新型介質”到“神經形態計算”

然而比起新型存儲介質對存內計算未來的影響,存儲本身與計算之間的融合,是更值得關注的趨勢。

美光新興存儲副總裁Bob Brennan針對內存與計算架構的發展,曾提出過“三個階段”的看法:第一個階段是讓內存非常靠近邏輯計算,用大量的高帶寬數據總線把內存和計算處理器更緊密連在一起;第二個階段是在內存中進行計算處理。這個概念始於1994年,儘管實現量產在技術上存在不小的難度,軟件和邏輯也是分開的兩部分,但這樣沒有傳輸、延遲等問題,並且大幅提升效能;第三個階段則是神經形態(neuromorphic)計算,使用內存架構本身做計算。

Brennan的發言引發了行業的共鳴和廣泛的討論。畢竟作為全球主流的三家DRAM提供商之一,美光在2019財年交付了600萬片晶圓(包括DRAM/3D XPoint/NAND/NOR),提供了30億個解決方案,涵蓋了從芯片(Silicon)到解決方案(Solution),再到“系統與軟件(Systems & Software)”的完整體系,一言一行都備受關注。

但坦率的說,無論基於哪種存儲技術,在面對存內計算時,其實都存在一定的挑戰。如果基於易失性存儲,由於目前處理器與存儲器的製造工藝不同,若要在處理器上實現存儲器的功能,可能會降低存儲器的存儲密度。反之,要在存儲器上實現處理器的功能,可能會影響處理器的運行速度,很難在性能和容量上實現平衡。如果基於非易失性存儲,由於目前廠商和工藝均未成熟,客觀上除了需要追加更多投資之外,現有的DRAM或Flash工藝也很難平移到新技術上。

不過,在存儲器件中進行神經網絡訓練和終端推理,也就是Brennan提出的“神經形態計算”,逐漸成為近年來人們最感興趣的應用。圖6是IBM蘇黎世研究中心科學家在2018年基於相變存儲器進行存內計算的神經網絡訓練算法(上),以及訓練多層感知機識別手寫數字的仿真結果(下)。由於存內計算可以通過消除在內存和處理器之間來回移動權重數據的需要,大大加速了訓練速度,而且得到的精度比用傳統計算機得到的精度只低了不到百分之一。最重要的是,由於相變存儲器件的非易失性,訓練後的權值可以在計算存儲器中保留數月甚至數年而不需要任何電源。以這種方式訓練的芯片可以用於傳感器設備內的推理任務,其功率不到傳統計算機的1%。

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事

圖6:在存內計算中進行神經網絡訓練

存內計算對加速終端推理也大有裨益。如前文所述,終端推理過程計算複雜度低,涉及的任務較為固定,對硬件加速功能的通用性要求不高,無需頻繁變動架構,更適合存內計算的實現。2017年之前,人工智能無論是訓練還是推理基本都在雲端完成,但到了2023年,在邊緣側設備/芯片上進行AI推理將佔據該市場一半以上的份額,總額高達200-300億美元,這對IC廠商來說是一個非常龐大的市場。

美光在該領域一個很大的進展是2019年對初創公司FWDNXT的收購,一舉將計算、內存、工具和軟件集成到了AI綜合性開發平臺中。在FWDNXT人工智能推理引擎的支持下,美光深度學習加速器(DLA)技術具備面向矩陣向量乘法的大量乘法/累加單元,並且具有執行某些關鍵非線性傳遞函數的能力。易於使用的編程軟件平臺和接口,支持廣泛的機器學習框架和神經網絡,能夠使內存和計算能夠更緊密地融合,有助於實現更高的性能和更低的功耗。

反過來,FWDNXT的第五代機器學習推理引擎和神經網絡算法,通過與美光專業的內存知識相結合,將使美光能夠具備探索數據分析所需的深度學習AI解決方案的能力,並藉此製造出基於AI的存儲芯片,或者包括AI的存儲芯片,尤其是在物聯網和邊緣計算領域。

如果我們還能想到美光在2015年收購了FPGA初創公司Pico Computing,並一直在努力尋找可重編程設備合適的應用,以及將哪些數據放到內存中能夠獲得更高的性能的話,那麼,很明顯,美光正在學習在內存和存儲中需要做些什麼,以使其適合未來的神經網絡中的各種難題,尤其是在邊緣側,而不是僅僅製造一堆芯片並希望它們起作用。

有獎互動

美光科技(Micron)首席執行官Sanjay Mehrotra曾指出人工智能服務器所需的固態存儲器和DRAM的數量是標準服務器的多少倍?

A. 1.5倍

B. 2 倍

在本篇同名文章的留言區參與答題互動

即有機會獲得100元京東禮品卡

直接跳轉至活動文章頁面參與互動

- End -

突破“冯诺依曼瓶颈”,一段存储与人工智能凝成的自由故事


分享到:


相關文章: