選擇合適硬件,釋放深度學(xué)習(xí)強(qiáng)勁算力!
深度學(xué)習(xí)(Deep Learning)屬于機(jī)器學(xué)習(xí)的子類,是目前熱門的機(jī)器學(xué)習(xí)方法,但它并不意味著是機(jī)器學(xué)習(xí)的終點(diǎn)。主流研究領(lǐng)域中,最適合深度學(xué)習(xí),發(fā)揮最高效率的是GPU服務(wù)器/工作站 。
隨著AI的廣泛應(yīng)用,深度學(xué)習(xí)已成為當(dāng)前AI研究和運(yùn)用的主流方式。面對(duì)海量數(shù)據(jù)的并行運(yùn)算,AI對(duì)于算力的要求不斷提升,對(duì)硬件的運(yùn)算速度及功耗提出了新的挑戰(zhàn)。
目前,除通用CPU外,作為硬件加速的GPU、NPU、FPGA等一些芯片處理器在深度學(xué)習(xí)的不同場(chǎng)景中發(fā)揮著各自的優(yōu)勢(shì),但孰優(yōu)孰劣?
首先,我們先來(lái)了解一下CPU
CPU
CPU中央處理器,是一塊超大規(guī)模的集成電路,主要邏輯架構(gòu)包括控制單元Control、運(yùn)算單元ALU和高速緩沖存儲(chǔ)器(Cache)及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)(Data)、控制及狀態(tài)的總線(Bus)。

簡(jiǎn)單來(lái)說(shuō),就是計(jì)算單元、控制單元和存儲(chǔ)單元。
CPU遵循的是馮諾依曼架構(gòu),其核心是存儲(chǔ)程序、順序執(zhí)行。
CPU的架構(gòu)中需要大量的空間去放置存儲(chǔ)單元(Cache)和控制單元(Control)。

相比之下計(jì)算單元(ALU)只占據(jù)了一部分,所以它在大規(guī)模并行計(jì)算能力上極受限制,更擅長(zhǎng)于邏輯控制。
CPU無(wú)法做到大量矩陣數(shù)據(jù)并行計(jì)算的能力
但GPU可以
GPU
GPU,即圖形處理器,是一種由大量運(yùn)算單元組成的大規(guī)模并行計(jì)算架構(gòu),專為同時(shí)處理多重任務(wù)而設(shè)計(jì)。

為什么GPU可以做到并行計(jì)算的能力?
GPU中也包含基本的計(jì)算單元、控制單元和存儲(chǔ)單元,但GPU的架構(gòu)與CPU有所不同。

與CPU相比,CPU芯片空間的不到20%是ALU(計(jì)算單元),而GPU芯片空間的80%以上是ALU。即GPU擁有更多的ALU用于數(shù)據(jù)并行處理。
以Darknet構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型AlexNet、VGG-16及Restnet152在GPU Titan X, CPU Intel i7-4790K進(jìn)行ImageNet分類任務(wù)預(yù)測(cè)的結(jié)果:

GPU處理神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)遠(yuǎn)遠(yuǎn)高效于CPU
總結(jié)GPU具有如下特點(diǎn):
多線程,提供了多核并行計(jì)算的基礎(chǔ)結(jié)構(gòu),且核心數(shù)非常多,可以支撐大量數(shù)據(jù)的并行計(jì)算。
擁有更高的訪問(wèn)速度。
更高的浮點(diǎn)運(yùn)算能力。
因此,GPU比CPU更適合深度學(xué)習(xí)中的大量數(shù)據(jù)訓(xùn)練、大量矩陣、卷積運(yùn)算。
GPU雖然在并行計(jì)算能力上盡顯優(yōu)勢(shì),但并不能單獨(dú)工作,需要CPU的協(xié)同處理,對(duì)于神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建和數(shù)據(jù)流的傳遞還是在CPU上進(jìn)行。
缺點(diǎn):存在功耗高,體積大的問(wèn)題。
性能越高的GPU功耗越高,價(jià)格更昂貴,對(duì)于一些小型設(shè)備、移動(dòng)設(shè)備來(lái)說(shuō)將無(wú)法使用。
因此,一種體積小、功耗低、
計(jì)算效率高的專用芯片NPU誕生了
NPU
NPU—神經(jīng)網(wǎng)絡(luò)處理單元。
NPU工作原理是在電路層模擬人類神經(jīng)元和突觸,并且用深度學(xué)習(xí)指令集直接處理大規(guī)模的神經(jīng)元和突觸,一條指令完成一組神經(jīng)元的處理。
特別擅長(zhǎng)處理視頻、圖像類的海量多媒體數(shù)據(jù),是專門為物聯(lián)網(wǎng)人工智能而設(shè)計(jì),用于加速神經(jīng)網(wǎng)絡(luò)的運(yùn)算,解決傳統(tǒng)芯片在神經(jīng)網(wǎng)絡(luò)運(yùn)算時(shí)效率低下的問(wèn)題。

例如無(wú)人機(jī)對(duì)攝像頭的重量和功耗有很高的要求,否則會(huì)影響起飛和續(xù)航能力, NPU的誕生讓諸多監(jiān)控?cái)z像頭等小型設(shè)備有了人工智能化的可能,邁出了人工智能從神秘的機(jī)房,跨向生活應(yīng)用的一步。
除NPU外,在功耗及計(jì)算能力上
有一拼的還有FPGA。
FPGA
FPGA稱為現(xiàn)場(chǎng)可編程邏輯門陣列。
用戶可以根據(jù)自身的需求進(jìn)行編程,能夠有效的解決原有的器件門電路(用以實(shí)現(xiàn)基本邏輯運(yùn)算和復(fù)合邏輯運(yùn)算的單元電路)數(shù)較少的問(wèn)題。與 CPU、GPU 相比,具有硬件二次開發(fā)的特點(diǎn)。

通俗點(diǎn)來(lái)說(shuō),F(xiàn)PGA的優(yōu)勢(shì)在于可以根據(jù)特定的應(yīng)用去編程硬件(例如:如果應(yīng)用里面的加法運(yùn)算非常多就可以把大量的邏輯資源去實(shí)現(xiàn)加法器),但是GPU一旦設(shè)計(jì)完那就沒(méi)法改動(dòng)了,沒(méi)法根據(jù)應(yīng)用去調(diào)整硬件資源。
缺點(diǎn):設(shè)計(jì)資源和布線資源的靈活度與通用處理器相比有很大的差距。
最后,我們來(lái)總結(jié)一下
1
CPU
CPU擅長(zhǎng)各種設(shè)備的協(xié)調(diào),協(xié)同其他處理器完成著不同的任務(wù)。
當(dāng)然,目前最新一代第二代英特爾? 至強(qiáng)? 可擴(kuò)展處理器中內(nèi)置了英特爾? 深度學(xué)習(xí)加速技術(shù),故我們也可使用CPU+算法來(lái)完成深度學(xué)習(xí)的任務(wù)。
2
GPU
GPU長(zhǎng)于計(jì)算,適合深度學(xué)習(xí)中后臺(tái)服務(wù)器大量數(shù)據(jù)訓(xùn)練、矩陣卷積運(yùn)算。
GPU與NPU和FPGA相比,就像是我們現(xiàn)實(shí)中的公交車和出租車,GPU的適用領(lǐng)域廣,而NPU與FPGA分別擅長(zhǎng)不同領(lǐng)域。
所以在目前深度學(xué)習(xí)的領(lǐng)域中,主流用法仍然是GPU+算法。
3
NPU、FPGA
NPU、FPGA在性能、面積、功耗等方面有較大優(yōu)勢(shì),能更好的加速神經(jīng)網(wǎng)絡(luò)計(jì)算。
但FPGA的特點(diǎn)在于開發(fā)使用硬件描述語(yǔ)言,開發(fā)門檻相對(duì)GPU、NPU高。
Attention:在使用CPU/NPU/FPGA+算法的時(shí)候,需要根據(jù)硬件平臺(tái)做出相應(yīng)算法的修改,否則無(wú)法發(fā)揮出硬件的最佳性能。
綜上,每種處理器都有它的優(yōu)勢(shì)和不足。關(guān)鍵需要在不同的應(yīng)用場(chǎng)景中,根據(jù)需求權(quán)衡利弊,選擇最合適的加速設(shè)備,將硬件性能發(fā)揮到極致,獲得更大算力。
云軒Cloudhin專注Deep learning和高性能計(jì)算服務(wù)器定制,針對(duì)主要深度學(xué)習(xí)框架(如TensorFlow、Caffe 2、Theano或Torch)進(jìn)行了優(yōu)化和設(shè)置,在桌面上即可提供強(qiáng)大的深度學(xué)習(xí)功能。
第9代8核Intel Core i9-9900K不鎖頻處理器,核心數(shù)量與頻率更進(jìn)一步,核芯迭代,動(dòng)力強(qiáng)升。雙路Nvidia RTX GPU,革命性的全新Turing架構(gòu),其性能相較上一代顯卡提升高達(dá)6倍。強(qiáng)強(qiáng)聯(lián)合,輕松應(yīng)對(duì)如云計(jì)算、數(shù)據(jù)分析、后期制作、技術(shù)計(jì)算等多任務(wù)處理。
更多定制方案請(qǐng)聯(lián)系客服,云軒布局全國(guó)八家直屬分公司,將實(shí)時(shí)響應(yīng)您的定制需求,做您服務(wù)器的貼心管家。