CPU、GPU、DSP、NPU到底哪個更適用于深度學(xué)習(xí)
CPU、GPU、DSP、NPU到底哪個更適用于深度學(xué)習(xí)
CPU、GPU、DSP、NPU,到底哪個更適用于深度學(xué)習(xí)?下面將由學(xué)習(xí)啦小編帶大家來解答這個疑問吧,希望對大家有所收獲!
CPU、GPU:用轎車運(yùn)貨
在英偉達(dá)開發(fā)出針對人工智能的定制GPU,并堅持DGX-1 系統(tǒng)之后,Intel也不甘落后,在收購深度學(xué)習(xí)創(chuàng)業(yè)公司 Nervana Systems之后,Intel也公布了用于深度學(xué)習(xí)的Xeon Phi家族新成員,在深度學(xué)習(xí)處理器領(lǐng)域開辟新戰(zhàn)場。
在不久前,Intel還發(fā)布了一些Xeon Phi 的基準(zhǔn)測試結(jié)果,其聲稱內(nèi)容總結(jié)如下:
1、四片 Knights Landing Xeon Phi 芯片比四片 GPU要快 2.3 倍;
2、在多節(jié)點(diǎn)系統(tǒng)中, Xeon Phi 芯片的能比 GPU 更好地擴(kuò)展38% ;
3、128 塊 Xeon Phi 的服務(wù)器組成的系統(tǒng)要比單塊 Xeon Phi 服務(wù)器快 50 倍,暗示著 Xeon Phi 服務(wù)器的擴(kuò)展性相當(dāng)好;
4、使用Intel優(yōu)化版的 Caffe 深度學(xué)習(xí)框架時,Xeon Phi 芯片要比標(biāo)準(zhǔn) Caffe 實現(xiàn)快 30 倍。
一言蔽之,Intel的眾核芯片在深度學(xué)習(xí)上比英偉達(dá)的GPU更為高效。
不過,英偉達(dá)也隨之反擊,聲稱這是Intel使用了其舊的基準(zhǔn)測試結(jié)果,并表示:
1、如果英特爾使用更新一點(diǎn)的 Caffe AlexNet 實現(xiàn)結(jié)果的話,它就會發(fā)現(xiàn)四塊上代英偉達(dá) Maxwell GPU 實際上比四塊英特爾 Xeon Phi 服務(wù)器集群快 30%。
2、另外,一旦英偉達(dá)的 GPU 從 28nm 的平面工藝轉(zhuǎn)移到 16nm 的 FinFET 工藝上時,GPU的性能和效率還會有很大的提升。
3、對于深度學(xué)習(xí),英偉達(dá)還強(qiáng)調(diào)更少的高性能節(jié)點(diǎn)無論如何都會比更多低性能節(jié)點(diǎn)好。并以其最新的 DGX-1為例,認(rèn)為DGX-1比 21 個 Xeon Phi 服務(wù)器集群快一點(diǎn),比四個 Xeon Phi 服務(wù)器集群快 5.3 倍。
筆者認(rèn)為,Intel的眾核芯片也在一定程度上吸取了GPU的優(yōu)勢,性能不俗,但短時間看還是GPU有優(yōu)勢。不過,無論是針對人工智能的眾核芯片還是定制版的GPU,本質(zhì)上都不是專用處理器,實際上是拿現(xiàn)有的、相對成熟的架構(gòu)和技術(shù)成果去應(yīng)對新生的人工智能,并沒有發(fā)生革命性的技術(shù)突破。
其實,Intel和英偉達(dá)是在使用現(xiàn)有的比較成熟的技術(shù)去滿足深度學(xué)習(xí)的需求,眾核芯片和定制版GPU在本質(zhì)上來說依舊是CPU和GPU,而并非專門針對深度學(xué)習(xí)的專業(yè)芯片,這就必然帶來一些天生的不足。打一個比方,用眾核芯片和GPU跑深度學(xué)習(xí),就類似于用轎車去拉貨,受轎車自身特點(diǎn)的限制,貨物運(yùn)輸能力與真正大馬力、高負(fù)載的貨車有一定差距。同理,即便是因為技術(shù)相對更加成熟,Intel和英偉達(dá)的芯片在集成度和制造工藝上具有優(yōu)勢,但由于CPU、GPU并非針對深度學(xué)習(xí)的專業(yè)芯片,相對于專業(yè)芯片,其運(yùn)行效率必然受到一定影響。
| DSP:和真正神經(jīng)網(wǎng)絡(luò)芯片有差距
6月20日,中星微“數(shù)字多媒體芯片技術(shù)”國家重點(diǎn)實驗室在京宣布,中國首款嵌入式NPU(神經(jīng)網(wǎng)絡(luò)處理器)芯片誕生,目前已應(yīng)用于全球首款嵌入式視頻處理芯片“星光智能一號”。
媒體稱,“星光智能一號蘊(yùn)含了當(dāng)前計算機(jī)領(lǐng)域最前沿的生物人腦神經(jīng)網(wǎng)絡(luò)仿生學(xué)創(chuàng)新技術(shù),且對嚴(yán)重依賴國外進(jìn)口產(chǎn)品的中國集成電路產(chǎn)業(yè)來說,也是實現(xiàn)‘彎道超車’的一次踴躍嘗試。它標(biāo)志著我國在神經(jīng)網(wǎng)絡(luò)處理器領(lǐng)域的研究和開發(fā)上取得了重大突破;使我國視頻監(jiān)控行業(yè)發(fā)展由模擬時代、數(shù)字時代跨入智能時代,在全球確立領(lǐng)先地位。”
不過,在經(jīng)過仔細(xì)分析后,所謂“中國首款嵌入式神經(jīng)網(wǎng)絡(luò)處理器”很有可能是一款可以運(yùn)行神經(jīng)網(wǎng)絡(luò)的DSP,而非真正意義的神經(jīng)網(wǎng)絡(luò)專用芯片。
上圖是星光智能一號發(fā)布的系統(tǒng)架構(gòu)圖。
共包含四個NPU核,每個NPU核包含4個內(nèi)核,每個內(nèi)核有兩個流處理器(Dataflow Processor),每個流處理器具有8個長位寬或16位寬的SIMD運(yùn)算單元。每個NPU核的峰值性能為38Gops(16位定點(diǎn))或者76Gops(8位定點(diǎn))。除了多核流處理器本身用于完成卷積運(yùn)算外,星光智能一號集成了一個超長指令字(VLIW)處理器用于完成神經(jīng)網(wǎng)絡(luò)中的超越函數(shù)等運(yùn)算。另有256KB的L2Cache以及DMA模塊用于大塊數(shù)據(jù)的搬移。
從其低位寬的定點(diǎn)運(yùn)算器推斷,星光智能一號僅可支持神經(jīng)網(wǎng)絡(luò)正向運(yùn)算,無法支持神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。從片上存儲結(jié)構(gòu)看,星光智能一號基于傳統(tǒng)的片上緩存(Cache),而非像最近流行的神經(jīng)芯片或FPGA方案一樣使用便簽式存儲。因此,在技術(shù)上看星光智能一號是典型的“舊瓶裝新酒”方案,將傳統(tǒng)的面向數(shù)字信號處理的DSP處理器架構(gòu)用于處理神經(jīng)網(wǎng)絡(luò),主要在運(yùn)算器方面作了相應(yīng)修改,例如低位寬和超越函數(shù),而并非是“狹義的”神經(jīng)網(wǎng)絡(luò)專用處理器,如IBM的“真北”芯片。
因此,星光智能一號其實是DSP,而非NPU,能夠適用于卷積神經(jīng)網(wǎng)路(CNN),而對循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)和長短期記憶網(wǎng)絡(luò)(LSTM)等處理語音和自然語言的網(wǎng)絡(luò)有可能就無能為力了。
換言之,星光智能一號暫時只面向機(jī)器視覺任務(wù),而不能用于語音和自然語言類的問題。其實,這種用傳統(tǒng)SIMD/DSP架構(gòu)來適配神經(jīng)網(wǎng)絡(luò)的技術(shù)思想在國際上已有不少先例,甚至有成熟的產(chǎn)品,例如CEVA公司的XM4處理器、Cadence公司的Tensilica Vision P5處理器、Synopsys公司的EV處理器等。
| NPU:為深度學(xué)習(xí)而生的專業(yè)芯片
從技術(shù)角度看,深度學(xué)習(xí)實際上是一類多層大規(guī)模人工神經(jīng)網(wǎng)絡(luò)。它模仿生物神經(jīng)網(wǎng)絡(luò)而構(gòu)建,由若干人工神經(jīng)元結(jié)點(diǎn)互聯(lián)而成。神經(jīng)元之間通過突觸兩兩連接,突觸記錄了神經(jīng)元間聯(lián)系的權(quán)值強(qiáng)弱。
每個神經(jīng)元可抽象為一個激勵函數(shù),該函數(shù)的輸入由與其相連的神經(jīng)元的輸出以及連接神經(jīng)元的突觸共同決定。為了表達(dá)特定的知識,使用者通常需要(通過某些特定的算法)調(diào)整人工神經(jīng)網(wǎng)絡(luò)中突觸的取值、網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)等。該過程稱為“學(xué)習(xí)”。在學(xué)習(xí)之后,人工神經(jīng)網(wǎng)絡(luò)可通過習(xí)得的知識來解決特定的問題。
由于深度學(xué)習(xí)的基本操作是神經(jīng)元和突觸的處理,而傳統(tǒng)的處理器指令集(包括x86和ARM等)是為了進(jìn)行通用計算發(fā)展起來的,其基本操作為算術(shù)操作(加減乘除)和邏輯操作(與或非),往往需要數(shù)百甚至上千條指令才能完成一個神經(jīng)元的處理,深度學(xué)習(xí)的處理效率不高。因此谷歌甚至需要使用上萬個x86 CPU核運(yùn)行7天來訓(xùn)練一個識別貓臉的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。因此,傳統(tǒng)的處理器(包括x86和ARM芯片等)用于深度學(xué)習(xí)的處理效率不高,這時就必須另辟蹊徑——突破經(jīng)典的馮·諾伊曼結(jié)構(gòu)。
以中國的寒武紀(jì)為例,DianNaoYu指令直接面對大規(guī)模神經(jīng)元和突觸的處理,一條指令即可完成一組神經(jīng)元的處理,并對神經(jīng)元和突觸數(shù)據(jù)在芯片上的傳輸提供了一系列專門的支持。
另外,神經(jīng)網(wǎng)絡(luò)中存儲和處理是一體化的,都是通過突觸權(quán)重來體現(xiàn)。 而馮·諾伊曼結(jié)構(gòu)中,存儲和處理是分離的,分別由存儲器和運(yùn)算器來實現(xiàn),二者之間存在巨大的差異。當(dāng)用現(xiàn)有的基于馮·諾伊曼結(jié)構(gòu)的經(jīng)典計算機(jī)(如X86處理器和英偉達(dá)GPU)來跑神經(jīng)網(wǎng)絡(luò)應(yīng)用時,就不可避免地受到存儲和處理分離式結(jié)構(gòu)的制約,因而影響效率。這也就是專門針對人工智能的專業(yè)芯片能夠?qū)鹘y(tǒng)芯片有一定先天優(yōu)勢的原因之一。
用數(shù)字來說話,CPU、GPU與NPU相比,會有百倍以上的性能或能耗比差距——以寒武紀(jì)團(tuán)隊過去和Inria聯(lián)合發(fā)表的DianNao論文為例——DianNao為單核處理器,主頻為0.98GHz,峰值性能達(dá)每秒4520億次神經(jīng)網(wǎng)絡(luò)基本運(yùn)算,65nm工藝下功耗為0.485W,面積3.02平方毫米mm。
在若干代表性神經(jīng)網(wǎng)絡(luò)上的實驗結(jié)果表明——
DianNao的平均性能超過主流CPU核的100倍,但是面積和功耗僅為1/10,效能提升可達(dá)三個數(shù)量級;
DianNao的平均性能與主流GPGPU相當(dāng),但面積和功耗僅為主流GPGPU百分之一量級。
| 結(jié)語
就現(xiàn)階段而言,傳統(tǒng)芯片廠商(如CPU、GPU和DSP)對于深度學(xué)習(xí)市場非常重視,因此利用他們巨大體量和市場推廣、銷售能力,大力推廣用這些傳統(tǒng)芯片來進(jìn)行深度學(xué)習(xí)處理,其本質(zhì)上也是對現(xiàn)有的技術(shù)進(jìn)行微調(diào),用傳統(tǒng)SIMD架構(gòu)來適配神經(jīng)網(wǎng)絡(luò)。
然而,由于傳統(tǒng)CPU、GPU和DSP本質(zhì)上并非以硬件神經(jīng)元和突觸為基本處理單元,相對于NPU在深度學(xué)習(xí)方面天生會有一定劣勢,在芯片集成度和制造工藝水平相當(dāng)?shù)那闆r下,其表現(xiàn)必然遜色于NPU。