GPU CPU NPU

隨着人工智能和深度學習逐漸進入人們視野,中科院、谷歌、IBM、英偉達等中美科研機構和商業公司也紛紛推出了用於深度學習的處理器。在上述產品中,既有CPU、GPU、DSP這樣的傳統芯片,也有專門爲深度學習而生的NPU。那麼,CPU、GPU、DSP、NPU等深度學習處理器各有什麼特點,這些深度學習處理器誰更出彩呢?

CPU、GPU、DSP:以現有的技術進行微調

  在英偉達開發出針對人工智能的定製GPU,並堅持DGX-1 系統之後,Intel也不甘落後,在收購深度學習創業公司 Nervana Systems之後,Intel也公佈了用於深度學習的Xeon Phi家族新成員,在深度學習處理器領域開闢新戰場。之後Intel和英偉達更是先後宣稱自己的產品優於對方的產品,在輿論上打起來口水戰。雖然現階段短時間看還是GPU有優勢——Intel的衆核芯片也在一定程度上吸取了GPU的優勢。不過,無論是針對人工智能的衆核芯片還是定製版的GPU,本質上都不是專用處理器,實際上是拿現有的、相對成熟的架構和技術成果去應對新生的人工智能,並沒有發生革命性的技術突破。

  之前說過星光智能一號即所謂“中國首款嵌入式神經網絡處理器”很有可能是一款可以運行神經網絡的DSP,而非真正意義的神經網絡專用芯片。
  其實,Cadence公司的Tensilica Vision P5處理器、Synopsys公司的EV處理器和星光一號如出一轍,也是將傳統的面向數字信號處理的DSP處理器架構用於處理神經網絡,主要在運算器方面作了相應修改,例如低位寬和超越函數,而並非真正的NPU,能夠適用於卷積神經網路(CNN),而對循環神經網絡(RNN)和長短期記憶網絡(LSTM)等處理語音和自然語言的網絡有可能就無能爲力了。
  總之,Intel、英偉達、Synopsys公司、Cadence公司等都是在使用現有的比較成熟的技術去滿足深度學習的需求,衆核芯片和定製版GPU在本質上來說依舊是CPU和GPU,而並非專門針對深度學習的專業芯片,Synopsys公司和Cadence用傳統SIMD/DSP架構來適配神經網絡,和真正的NPU依然有一定差距。打一個比方,用衆核芯片、GPU、DSP跑深度學習,就類似於用轎車去拉貨,受轎車自身特點的限制,貨物運輸能力與真正大馬力、高負載的貨車有一定差距。同理,即便是因爲技術相對更加成熟,Intel和英偉達的芯片在集成度和製造工藝上具有優勢,但由於CPU、GPU、DSP並非針對深度學習的專業芯片,相對於專業芯片,其運行效率必然受到一定影響。
  而什麼是真正意義上的GPU呢?
  
NPU:爲深度學習而生的專業芯片
  人工神經網絡是一類模仿生物神經網絡而構建的計算機算法的總稱,由若干人工神經元結點互聯而成。神經元之間通過突觸兩兩連接,突觸記錄了神經元間聯繫的權值強弱。
  每個神經元可抽象爲一個激勵函數,該函數的輸入由與其相連的神經元的輸出以及連接神經元的突觸共同決定。爲了表達特定的知識,使用者通常需要(通過某些特定的算法)調整人工神經網絡中突觸的取值、網絡的拓撲結構等。該過程稱爲“學習”。在學習之後,人工神經網絡可通過習得的知識來解決特定的問題。
  由於深度學習的基本操作是神經元和突觸的處理,而傳統的處理器指令集(包括x86和ARM等)是爲了進行通用計算發展起來的,其基本操作爲算術操作(加減乘除)和邏輯操作(與或非),往往需要數百甚至上千條指令才能完成一個神經元的處理,深度學習的處理效率不高。因此谷歌甚至需要使用上萬個x86 CPU核運行7天來訓練一個識別貓臉的深度學習神經網絡(吳恩達作爲世界上第一個能夠讓機器識別“貓”的人,當然可以入圍了《時代》世界最有影響力100人,在深度學習領域叱吒風雲啦)。因此,傳統的通用處理器(包括x86和ARM芯片等)用於深度學習的處理效率不高,這時就必須去研發面向深度學習的專用處理器。
  中國科學院計算技術研究所是國際上最早研究深度神經網絡處理器的單位之一。2014年,中科院計算所和法國Inria合作發表的相關學術論文先後獲得了計算機硬件領域頂級會議ASPLOS’14和MICRO’14的最佳論文獎。這也是亞洲首次在此領域頂級會議上獲得最佳論文獎。
  隨後,國際計算機學會(Association for Computing Machinery)通訊也將這一系列工作列爲計算機領域的研究焦點。這標誌着我國在智能芯片領域已經進入了國際領先行列。此後中科院計算所獨立研製了世界首個深度學習處理器芯片—寒武紀,發佈了世界首個神經網絡處理器指令集,後者於2016年被計算機體系結構領域頂級國際會議ISCA2016(International Symposiumon Computer Architecture)所接收,其評分排名所有近300篇投稿的第一名。
  寒武紀相對於CPU和GPU究竟有哪些優勢呢?寒武紀公司發佈的Cambricon指令集直接面對大規模神經元和突觸的處理,一條指令即可完成一組神經元的處理,並對神經元和突觸數據在芯片上的傳輸提供了一系列專門的支持。寒武紀專用處理器面向深度學習應用專門定製了功能單元和片上存儲層次,同時剔除了通用處理器中爲支持多樣化應用而加入的複雜邏輯(如動態流水線等),因此與CPU、GPU相比,神經網絡專用處理器會有百倍以上的性能或能耗比差距。
  雖然寒武紀公司和中科院計算所尚未公佈其商用產品,但我們可以從中科院計算所與法國Inria合作在2014年公開發表於ASPLOS2014學術會議的DianNao深度學習加速器架構看出一些端倪。DianNao爲單核架構,主頻爲0.98GHz,峯值性能達每秒4520億次神經網絡基本運算,65nm工藝下功耗爲0.485W,面積3.02mm^2。在若干代表性神經網絡上的實驗結果表明,DianNao的平均性能超過主流CPU核的100倍,但是面積和功耗僅爲1/10,效能提升可達三個數量級;DianNao的平均性能與主流GPGPU相當,但面積和功耗僅爲主流GPGPU百分之一量級。
  
在NPU上中國領先美國
  由於IBM很不幸的點歪了科技樹,這直接導致中國在NPU上暫時領先於美國。
  真北本身的研究是基於脈衝神經網絡(Spiking Neural Network,SNN)的,而寒武紀則一直面向的是機器學習類的神經網絡,如MLP(多層感知機)、CNN(卷積神經網絡)和DNN(深度神經網絡)。
  兩種網絡根本的不同在於網絡中傳遞的信息的表示,前者(SNN)是通過脈衝的頻率或者時間,後者則是突觸連接的權值。目前在現有的測試集上,機器學習類的神經網絡具有更高的精度(尤其是深度神經網絡);前者則在精度上不能與之比擬。
  精度是目前領域內很關心的非常重要的指標,比如近幾年火熱的ImageNet競賽也是以識別精度爲衡量標準的。正是因爲曾經存在精度方面的差距,所以後來IBM的真北放棄了原來的路線圖,也開始貼近機器學習類的神經網絡,並採用了一些很曲折的方法來實現這一目標。
  之前說過,真北本身是基於脈衝神經網絡設計的,並且採用了邏輯時鐘爲1KHz這樣的低頻率來模擬毫秒級別生物上的脈衝,這也使得真北功耗很低(70mW),當然性能也比較有限。而寒武紀則是機器學習類的神經網絡設計,運行時鐘頻率在GHz左右,能夠極其快速且高效的處理網絡計算。這使得寒武紀相對於真北具有性能上的優勢。
  相比之下,寒武紀系列的內部計算完全符合機器學習類神經網絡(機器學習類網絡本身也沒有如同脈衝神經網絡一樣特別貼合生物神經元模型),通過調度在不同時刻計算不同的神經元從而完成整個神經網絡的計算。這其中,涉及到處理器設計本身的一點是,通過不同參數的選取就能夠完成不同規格(處理能力)的處理器實現。
  杜子東博士(長期從事人工神經網絡和脈衝神經網絡處理器的研究工作,在處理器架構最好的三個國際頂級會議ISCA/MICRO/ASPLOS上發表過多篇論文,是中國計算機體系結構領域青年研究者中的翹楚)表示,“包括他們(IBM)在內,大家都認爲他們(IBM)走錯了路……”,並認爲,“真北相對於寒武紀沒有什麼優勢。硬要說有的話,那就是IBM的品牌優勢和廣告優勢”。
結語
  就深度學習處理器而言,美國可以憑藉其在CPU和GPU上深厚的技術積累,並在芯片集成度和製造工藝水平佔據絕對優勢的情況下,開發出能用於深度學習,且性能不俗的衆核芯片和GPGPU,而且這些美國IT巨頭會利用他們巨大體量和市場推廣、銷售能力,大力推廣用這些傳統芯片來進行深度學習處理,在商業上能拔得頭籌。
  就現階段而言,傳統芯片廠商的CPU、GPU和DSP,其本質上也是對現有的技術進行微調。然而,由於傳統CPU、GPU和DSP本質上並非以硬件神經元和突觸爲基本處理單元,相對於NPU在深度學習方面天生會有一定劣勢,在芯片集成度和製造工藝水平相當的情況下,其表現必然遜色於NPU。
  在NPU領域,由於IBM點歪了科技樹,以及中科院在該領域具有前瞻性的開展了一系列科研工作,使中國能在目前處於優勢地位。至於中國和美國的深度學習處理器,哪一款產品能在商業上取得成功,則很大程度上取決於技術以外的因素。就現在情況來看,大家基本處於同一起跑線,鹿死誰手,還未可知。

此外可以看看這篇報道:中國首款嵌入式神經網絡處理器(NPU)芯片誕生,中星微踏上“智能摩爾”之路
http://www.esmchina.com/news/article/201608141711
用大篇幅講了一下寒武紀和中星微的NPU.

編者總結:這兩篇都是在新聞上面看到的,有兩點可以說一下,第一,中國的NPU以機器學習爲方向的研究確實出來成果比美國早一些,也不能說完全的領先,佔霸主地位,而且現在都向着機器學習方向來研究,所以也不能沾沾自喜。
第二,很多報道都將中星微的那個星光智能一號上面使用的‘NPU’稱之爲中國首個NPU,這個在這篇報道里面又說他只是DSP,這個有待商榷,很明顯這篇文章的中心是爲寒武紀站臺的,那到底說來,中星微和寒武紀哪個纔是代表着中國NPU最高水平,未可知矣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章