伴隨著AI的興起,NPU這個(gè)名詞也慢慢進(jìn)入人們的視野。今天裝機(jī)天下就來(lái)帶大家了解一下NPU是什么?以及NPU、CPU 、GPU之間的區(qū)別。
 
一、什么是NPU?
 
NPU是什么?NPU、CPU 、GPU的區(qū)別
 
NPU的全稱是Neural network Processing Unit,翻譯過(guò)來(lái)叫“神經(jīng)網(wǎng)絡(luò)處理單元”。你可以將它看成是一種特殊的處理器,NPU利用電路模擬人類的神經(jīng)元和突觸結(jié)構(gòu),來(lái)處理特定的任務(wù)。
 
NPU目前主要用于移動(dòng)設(shè)備。例如Apple的最新iPhone和M系列筆記本電腦都集成了自己的NPU,稱為 ANE(Apple Neural Engine),Google在其Pixel設(shè)備和Coral 原型套件上使用專有的NPU,稱為TPU(Tensor Processing Unit),而高通正在將其 ARM NPU 集成到其最新的智能手機(jī)和筆記本電腦SoC中。
 
二、NPU、CPU 、GPU的區(qū)別
 
CPU全稱CentralProcessing Unit,即中央處理器,CPU內(nèi)部邏輯結(jié)構(gòu)包括Control(控制單元)、ALU(運(yùn)算單元)、Cache(高速緩沖存儲(chǔ)器),以及實(shí)現(xiàn)它們之間聯(lián)系的Data(數(shù)據(jù))、控制及狀態(tài)的總線(Bus)。簡(jiǎn)單說(shuō)就是計(jì)算單元、控制單元和存儲(chǔ)單元。
 
NPU是什么?NPU、CPU 、GPU的區(qū)別
 
CPU遵循的是馮諾依曼架構(gòu),其核心是存儲(chǔ)程序/數(shù)據(jù)、串行順序執(zhí)行。因此CPU的架構(gòu)中需要大量的空間去放置存儲(chǔ)單元(Cache)和控制單元(Control),而計(jì)算單元(ALU)只占據(jù)了很小的一部分,所以CPU更擅長(zhǎng)處理邏輯控制,而非大量數(shù)據(jù)并行計(jì)算。
 
GPU全稱GraphicsProcessing Unit,即圖形處理器。它和CPU的邏輯架構(gòu)幾乎一樣,包含基本的計(jì)算單元、控制單元和存儲(chǔ)單元,如圖:
 
NPU是什么?NPU、CPU 、GPU的區(qū)別
 
雖然GPU和CPU的內(nèi)部架構(gòu)幾乎相同,但很明顯,GPU內(nèi)部的ALU占比非常大。CPU的ALU占比不到20%,而GPU內(nèi)部80%以上都是ALU。也就是說(shuō)GPU比CPU的運(yùn)算單元多的多,能提供更強(qiáng)大的并行計(jì)算能力。
 
這里有人可能會(huì)疑惑:既然CPU和GPU結(jié)構(gòu)相似,而且GPU擁有更強(qiáng)的并行計(jì)算能力,那我們就只用GPU不就行了?
 
一臺(tái)電腦能正常開(kāi)機(jī)、運(yùn)行是離不開(kāi)CPU的,CPU就相當(dāng)于一個(gè)有智慧、并具有很多技能的領(lǐng)導(dǎo)者。從你按下電腦開(kāi)機(jī)鍵那一刻起,CPU就開(kāi)始發(fā)號(hào)施令,協(xié)調(diào)電腦內(nèi)部的各個(gè)配件開(kāi)始工作,并且自己也會(huì)親力親為干很多活。而GPU就相當(dāng)于“工具人”,它只能完成CPU交給它的某項(xiàng)特殊任務(wù),并且這個(gè)任務(wù)是它最擅長(zhǎng)的。
 
三、GPU可以用于AI運(yùn)算嗎?
 
NPU是什么?NPU、CPU 、GPU的區(qū)別
 
這里我們先來(lái)看下GPU的特點(diǎn):
 
1、多線程,提供了多核并行計(jì)算的基礎(chǔ)結(jié)構(gòu),且核心數(shù)非常多,可以支撐大量數(shù)據(jù)的并行計(jì)算,處理神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)遠(yuǎn)遠(yuǎn)高效于CPU。
 
2、擁有更高的訪存速度。
 
3、 更高的浮點(diǎn)運(yùn)算能力。
 
基于以上特點(diǎn),GPU自然是可以用于AI運(yùn)算的,而且相比CPU更適合深度學(xué)習(xí)中的大量訓(xùn)練數(shù)據(jù)、大量矩陣、卷積運(yùn)算。
 
四、既然GPU可以用來(lái)做AI運(yùn)算,那為什么還要搞出個(gè)NPU呢?
 
雖然GPU擁有強(qiáng)大的并行計(jì)算能力,但是它也有天生缺陷,比如功耗高,體積大,價(jià)格貴。這里我們暫且不談價(jià)格,就體積大、功耗高這兩點(diǎn)來(lái)說(shuō),就無(wú)法實(shí)用到一些小型移動(dòng)設(shè)備上。因此才有了NPU這個(gè)東西,它體積小、功耗低、計(jì)算效率還高。
 
NPU是什么?NPU、CPU 、GPU的區(qū)別
 
NPU是模仿生物神經(jīng)網(wǎng)絡(luò)而構(gòu)建的,CPU、GPU需要用數(shù)千條指令完成的神經(jīng)元處理,NPU只要一條或幾條就能完成,因此在深度學(xué)習(xí)的處理效率方面,NPU的優(yōu)勢(shì)很明顯。
 
就拿手機(jī)來(lái)說(shuō),其中CPU負(fù)責(zé)手機(jī)應(yīng)用流暢切換、GPU支持游戲畫面快速加載,而NPU就專門負(fù)責(zé)實(shí)現(xiàn)AI運(yùn)算和AI應(yīng)用的實(shí)現(xiàn)。也就是說(shuō)CPU是負(fù)責(zé)計(jì)算和整體協(xié)調(diào)的,而GPU是負(fù)責(zé)和圖像有關(guān)的部分,NPU負(fù)責(zé)和AI有關(guān)的部分。其工作流程則是,任何工作都要先通過(guò)CPU,CPU再根據(jù)這一塊的工作的性質(zhì)來(lái)決定分配給誰(shuí)。如果是圖形方面的計(jì)算,就會(huì)分配給GPU,如果是AI方面的計(jì)算需求,就分配給NPU。
 
總結(jié):NPU是什么?NPU、CPU 、GPU的區(qū)別
 
NPU、GPU是無(wú)法脫離CPU而單獨(dú)存在的。從本質(zhì)上講,CPU擅長(zhǎng)處理許多不同的應(yīng)用程序,但并未針對(duì)圖形和AI任務(wù)進(jìn)行優(yōu)化。GPU因?yàn)橛袕?qiáng)大的并行計(jì)算能力,所以比CPU更適合圖形和AI任務(wù),而NPU擅長(zhǎng)像 GPU一樣進(jìn)行高級(jí)并行計(jì)算,并且功耗要求非常低,因此更適合AI任務(wù)的處理。
裝機(jī)