馮·諾伊曼架構太低效,來看看替代性AI晶元架構的幾種可能
《晶元世界觀》系列
馮·諾伊曼架構運行人工智慧應用相對低效,哪種架構將取代它?
使用現有架構應對機器學習和人工智慧問題越來越不切實際了。隨著人工智慧應用消耗的能量不斷攀升,CPU和GPU越來越不堪重任。
幾次圓桌會議討論下來,認為當缺乏傳統IP時不存在催生重大變化的最佳機會。大多數設計以漸進的方式而演化,雖然這是一種安全的前進方向,但是並不是最佳的解決方案。當新生事物出現時,人們有機會重新審視事物,並提出比主流技術所建議的更好的方向。最近,一組研究人員就跳出了傳統,質疑CMOS是否是構建AI應用程序的最佳基礎技術。
IBM納米電子研究計劃(NRI)負責人An Chen發起了這次討論。「多年來,新興技術一直是我們研究的主題,其中包括尋找CMOS的替代品,特別是因為它當今所面臨的功耗和尺寸問題越來越尖銳。經過多年的研究,我們得出的結論是,我們找不到比CMOS更適合構建邏輯器件的東西。今天,AI成為了許多研究人員關注的焦點,它確實引入了一些新的思維方式和新的設計方法,而且擁有不同的技術和產品。那麼新興的人工智慧會讓我們有更好的機會尋找出CMOS的替代品嗎?」
現在的AI晶元
現在,大多數機器學習和人工智慧應用都使用馮諾依曼架構。「內存存儲權重係數和數據,CPU負責所有的計算工作,」台灣國立清華大學電氣工程系教授張孟凡 (Marvin)解釋道。 「很多數據的移動都是通過匯流排進行的。今天,他們還使用GPU進行包含卷積運算在內的深度學習。這裡的一個主要問題在於,它們通常需要創建中間數據來實現推理。數據傳輸,特別是和片外器件的數據交互會導致能耗升高和增加延遲,這裡會形成一個瓶頸。」
馮諾依曼架構的AI晶元
要解決這個瓶頸,需要將運算和內存拉得更近。「架構設計人員早在多年前就提出了『在內存中計算』這種概念,」張教授說。「現在,有幾種SRAM和非易失性存儲器(NVM)設計正在試圖實現這種概念。如果效果理想,CPU和內存之間將不再需要數據傳輸,這將節省大量能耗。」
但是我們今天並沒有實現在內存中計算。「我們現在的AI 1.0仍在使用馮諾依曼架構,因為並沒有可實現內存中計算的成熟器件,」張教授說。「現在唯一的方式是使用3D TSV,以提供高帶寬內存(HBM),結合GPU來解決內存帶寬問題,但是這種方案並不能真正解決能耗和延遲上的瓶頸。」
單靠在內存中運算就能夠解決功耗浪費問題嗎? 「人腦大約有一千億個神經元,大約有1015個突觸,」台積電副總裁Hsien-Hsin(Sean)Lee說。 「拿IBM的TrueNorth來說吧。TrueNorth是IBM在2014年開發的多核處理器,它有4,096個內核,每個內核有256個可編程模擬神經元。假設我們可以把它擴展,以模仿人腦的運算能力,現在的TrueNorth需要提升五個數量級。我們直接把TrueNorth按照這個數量級進行擴展,它將成為一個功耗為65kW的機器。相比之下,人腦的功耗僅為25W,我們必須把TrueNorth的功耗降低幾個數量級才行。」
Lee提供了另外一種看清楚這種機會的方式。「當今世界上能效最高的計算機是日本的Green500,可實現每瓦17Gflops的計算能力,大概對應於每59 picoJ 1 flops。」Green500網站指出,安裝在日本RIKEN高級計算和通信中心的ZettaScaler-2.2系統在其858 teraflops Linpack性能測試期間重新測量的能效可以到18.4Gflops/瓦。「Landauer的原理告訴我們,在室溫下,每個晶體管的最小開關能量約為2.75 zeptoJ。因此,這裡同樣是數量級上的差異。59 picoJ的數量級約為10-11,理論最小值約為10-21。這意味著我們還有很大的進步空間。」
將這些計算機和人腦進行比較是否公平呢?「看看人類最近這些年在深度學習領域取得的成功,你將會發現,在人類和機器對決編年史中,機器在過去幾年中大部分案例中都取得了成功。」Purdue大學電氣和計算機工程學科的傑出教授Kaushik Roy說道。 「1997年,我們製造出深藍,擊敗了國際象棋大師Kasperov,2011年,IBM的Watson參加了Jeopardy並贏得冠軍,2016年,Alpha Go戰勝了李世石Lee Sedol。這些都是人工智慧領域的偉大成就。但問題在於,這些機器取勝的成本是多少?這些機器的功率都在200KW到300KW之間,而人類大腦的功耗僅在20W左右。存在如此巨大的能效差距,我們將從何處下手進行創新呢?」
現在大多數機器學習和人工智慧應用的核心都是大規模執行一些非常簡單的運算。「在一個非常簡單的神經網路上,你可以進行加權求和,然後進行閾值操作,」Roy解釋說。「你可以在一個crossbar上做這些事情,crossbar可以支持多種不同類型器件,比如旋轉設備或阻變式RAM。在這種情況下,我們將得到和每個交叉點相關的輸入電壓和電導,輸出的結果將是這些電壓和電導乘積的總和。求和之後,你可以使用類似的器件進行閾值處理。你可以考慮使用一種架構,其中,這些節點連接在一起執行運算。」
神經網路的主要器件
新型內存
大多數潛在架構的研究都圍繞著新型非易失性存儲器架構進行。「這些架構最重要的特徵是什麼?」IBM研究院區域經理Geoffrey Burr問道。 「我會把賭注放在非易失性模擬阻變式存儲器上,例如相變、憶阻器等。它們可以在單個時間內在完全連接的神經網路層上執行多次乘加運算,這些計算在一系列處理器上需要花費100萬個時鐘來完成。現在,你可以在數據存放位置使用底層物理架構在模擬域中完成這些運算。這種方式顯然會在其用武之地實現大量時間和能量的節約。」
清華大學的張教授也同意這種觀點。「PCM、STT正在發展壯大。這幾種存儲器都是實現在內存中計算的優秀備選方案,它們也可以做一些基本的邏輯運算。有的存儲器存在存儲時間問題,所以你不能用它做訓練,但可以用它們做推理。」
新興內存技術
但是,也可能沒有必要選擇這種新型存儲器。「人們現在在討論使用SRAM進行內存中運算,」Lee補充道。「他們正在使用SRAM進行模擬計算,它唯一的缺點就是SRAM有點大,一個bit需要六到八個晶體管。SRAM可行的話,我們就沒有必要使用新型存儲器技術來執行模擬計算。」
轉向模擬計算也意味著計算的準確性並不是最重要的需求。「人工智慧的功用是專業化、分類和預測,」他說。「它們所做的是做出決定,當然這可能很難。至於準確性,我們可以容忍一定程度的不準確。我們需要確定哪些計算是容錯的,然後你就可以使用一些技術來降低功耗或者加快計算速度。業界自2003年就開始研究概率性CMOS了,這種新型CMOS涉及到降低供電電壓,直到可能遇到一些錯誤為止,一定的錯誤數量是可以容忍的。人們今天已經在使用近似計算技術,,比如量化。你可以使用8位整型代替32位浮點型數據。模擬計算是我們已經提到過的另外一種可能。」
走出實驗室
將技術從實驗室轉化到主流應用中並非易事。「有時你必須看看別人的替代性技術,」Burr說。「當2D flash技術走投無路了,3D flash看起來也就沒那麼難了。如果現有技術不斷地在這裡提升兩倍,在那裡提升兩倍,那也就沒模擬計算、在內存中運算什麼事了。如果現有技術的改進是微不足道的,模擬計算和在內存中計算就有吸引力了。作為研究人員,我們必須在機會出現時做好準備。」
Burr說,儘管有些晶圓廠已經在驗證模擬阻變式內存概念,但它們的目的往往在製造存儲器晶元上。「在晶圓廠中,你可以很方便地勾選,比如在metal 3和metal 4層之間加上相變存儲器。作為一個研究團隊,我們要做的是,讓別人相信這樣做是有意義的。」
資金往往是個障礙,特別是對於存儲器來說,但Burr說情況並非如此。「我們的優勢在於,這種新型器件並不是通常的利潤很小的存儲器產品,相反,它是一種可以與GPU進行競爭的器件。它們的售價是DRAM產品的70倍,因此顯然不是內存產品,但其成本卻和內存差別不大。當然,這聽起來很棒,但是當您要做出10億美金、20億美金、100億美金的決策時,成本和業務場景都必須很清楚,我們必須擁有令人驚艷的硬體原型才能打消決策者的顧慮。」
取代CMOS
在內存中運算固然能夠帶來令人印象深刻的好處,但是還不夠。CMOS之外的其它材料能提供幫助嗎?「從低功耗CMOS轉到隧道FET時,能耗能夠降低1到2個數量級,」Lee說。「3D IC也是另外一種可能性,這種方案可以使用TSV降低線長度,這也能降低功耗和延遲。在數據中心的基礎設施中,也是通過移除金屬線纜並用光學互聯替代來幫助降低功耗和延遲的。」
器件的性能和功耗
雖然轉向不同的技術能夠得到一些好處,但這些好處的代價可能很高。「取代CMOS將很困難,但是所討論的一些器件可以幫助CMOS技術實現在內存中運算,」Roy說。「也許在8T單元中,CMOS可以支持在內存中計算,可以以模擬方式在內存中進行點積,那麼,我真的能夠設計出一個在CMOS上實現同時提升巨大的架構嗎?如果做對了,CMOS能夠將我的能效提升一百倍甚至幾千倍,但是這需要時間。」
很明顯,CMOS不會被替代。「新技術不會彎道超車,也不會出現在非CMOS基底上。」Burr總結道。


※勇敢辭職換工作,我找到了理想的硬體工程師職位
※2018年AI開發板Top 10排行
TAG:與非網 |