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