如今,基于深度學(xué)習(xí)(DL)的人工智能(AI)應(yīng)用越來(lái)越廣泛,不論是在與個(gè)人消費(fèi)者相關(guān)的智能家居、智能駕駛等領(lǐng)域,還是在視頻監(jiān)控、智慧城市等公共管理領(lǐng)域,我們都能看到其身影。
眾所周知,實(shí)施一個(gè)完整的AI應(yīng)用需要經(jīng)歷訓(xùn)練和推理兩個(gè)過(guò)程。所謂“訓(xùn)練”,就是我們要將大量的數(shù)據(jù)代入到神經(jīng)網(wǎng)絡(luò)模型中運(yùn)算并反復(fù)迭代,“教會(huì)”算法模型如何正確的工作,訓(xùn)練出一個(gè)DL模型。而接下來(lái),我們就可以利用訓(xùn)練出來(lái)的模型來(lái)在線響應(yīng)用戶的需求,根據(jù)輸入的新數(shù)據(jù)做出正確而及時(shí)的決策判斷,這個(gè)過(guò)程就是“推理”。
通常來(lái)講,一個(gè)AI應(yīng)用中“訓(xùn)練”只需要做一次——有時(shí)這個(gè)工作會(huì)交給第三方專業(yè)的且有充沛算力資源的團(tuán)隊(duì)去做,而應(yīng)用開(kāi)發(fā)工程師要做的則是將訓(xùn)練好的模型部署到特定的硬件平臺(tái)上,滿足目標(biāo)應(yīng)用場(chǎng)景中推理過(guò)程的需要。由于推理過(guò)程會(huì)直接聯(lián)系最終用戶,推理的準(zhǔn)確性和速度也會(huì)直接影響到用戶體驗(yàn)的好壞,因此如何有效地為AI推理做加速,也就成了當(dāng)下開(kāi)發(fā)者普遍關(guān)心的一個(gè)熱門的話題。
AI推理加速,FPGA勝出!
從硬件架構(gòu)來(lái)看,可以支持AI推理加速的有四個(gè)可選方案,它們分別是:CPU、GPU、FPGA和ASIC,如果對(duì)這幾類器件的特性進(jìn)行比較,會(huì)發(fā)現(xiàn)按照從左到右的順序,器件的靈活性/適應(yīng)性是遞減的,而處理能力和性能功耗比則是遞增的。
CPU是基于馮?諾依曼架構(gòu),雖然其很靈活,但由于存儲(chǔ)器訪問(wèn)往往要耗費(fèi)幾個(gè)時(shí)鐘周期才能執(zhí)行一個(gè)簡(jiǎn)單的任務(wù),延遲會(huì)很長(zhǎng),應(yīng)對(duì)神經(jīng)網(wǎng)絡(luò)(NN)這種計(jì)算密集型的任務(wù),功耗也會(huì)比較大,顯然最不適合做AI推理。
GPU具有強(qiáng)大的數(shù)據(jù)并行處理能力,在做海量數(shù)據(jù)訓(xùn)練方面優(yōu)勢(shì)明顯,而推理計(jì)算通常一次只對(duì)一個(gè)輸入項(xiàng)進(jìn)行處理的應(yīng)用,GPU并行計(jì)算的優(yōu)勢(shì)發(fā)揮不出來(lái),再加上其功耗相對(duì)較大,所以在AI推理方面也不是最優(yōu)選擇。
從高性能和低功耗的角度來(lái)看,定制的ASIC似乎是一種理想的解決方案,但其開(kāi)發(fā)周期長(zhǎng)、費(fèi)用高,對(duì)于總是處于快速演進(jìn)和迭代中的DL和NN算法來(lái)說(shuō),靈活性嚴(yán)重受限,風(fēng)險(xiǎn)太大,在AI推理中人們通常不會(huì)考慮它。
所以我們的名單上只剩下FPGA了。這些年來(lái)大家對(duì)于FPGA快速、靈活和高效的優(yōu)點(diǎn)認(rèn)識(shí)越來(lái)越深入,硬件可編程的特性使其能夠針對(duì)DL和NN處理的需要做針對(duì)性的優(yōu)化,提供充足的算力,而同時(shí)又保持了足夠的靈活性。今天基于FPGA的異構(gòu)計(jì)算平臺(tái),除了可編程邏輯,還會(huì)集成多個(gè)Arm處理器內(nèi)核、DSP、片上存儲(chǔ)器等資源,DL所需的處理能力可以很好地映射到這些FPGA資源上,而且所有這些資源都可以并行工作 ,即每個(gè)時(shí)鐘周期可觸發(fā)多達(dá)數(shù)百萬(wàn)個(gè)同時(shí)的操作,這對(duì)于AI推理是再合適不過(guò)了。
與CPU和GPU相比,F(xiàn)PGA在AI推理應(yīng)用方面的優(yōu)勢(shì)還表現(xiàn)在:
- 不受數(shù)據(jù)類型的限制,比如它可以處理非標(biāo)準(zhǔn)的低精度數(shù)據(jù),從而提高數(shù)據(jù)處理的吞吐量。
v功耗更低,針對(duì)相同的NN計(jì)算,F(xiàn)PGA與CPU/GPU相比平均功耗低5~10倍。
- 可通過(guò)重新編程以適應(yīng)不同任務(wù)的需要,這種靈活性對(duì)于適應(yīng)持續(xù)發(fā)展中的DL和NN算法尤為關(guān)鍵。
- 應(yīng)用范圍廣,從云端到邊緣端的AI推理工作,都可勝任。
總之一句話,在AI推理計(jì)算的競(jìng)爭(zhēng)中,F(xiàn)PGA的勝出沒(méi)有懸念。
GPU無(wú)縫對(duì)接,F(xiàn)PGA即插即用
不過(guò),雖然FPGA看上去“真香”,但是很多AI應(yīng)用的開(kāi)發(fā)者還是對(duì)其“敬而遠(yuǎn)之”,究其原因最重要的一點(diǎn)就是——FPGA上手使用太難了!
難點(diǎn)主要體現(xiàn)在兩個(gè)方面:
- 首先,對(duì)FPGA進(jìn)行編程需要特定的技能和知識(shí),要熟悉專門的硬件編程語(yǔ)言,還要熟練使用FPGA的特定工具,才能通過(guò)綜合、布局和布線等復(fù)雜的步驟來(lái)編譯設(shè)計(jì)。這對(duì)于很多嵌入式工程師來(lái)說(shuō),完全是一套他們所不熟悉的“語(yǔ)言”。
- 再有,因?yàn)楹芏郉L模型是在GPU等計(jì)算架構(gòu)上訓(xùn)練出來(lái)的,這些訓(xùn)練好的模型移植、部署到FPGA上時(shí),很可能會(huì)遇到需要重新訓(xùn)練和調(diào)整參數(shù)等問(wèn)題,這要求開(kāi)發(fā)者有專門的AI相關(guān)的知識(shí)和技能。
如何能夠降低大家在AI推理中使用FPGA的門檻?在這方面,Mipsology公司給我們帶來(lái)了一個(gè)“驚喜”——該公司開(kāi)發(fā)了一種基于FPGA的深度學(xué)習(xí)推理引擎Zebra,可以讓開(kāi)發(fā)者在“零努力(Zero Effort)”的情況下,對(duì)GPU訓(xùn)練的模型代碼進(jìn)行轉(zhuǎn)換,使其能夠在FPGA上運(yùn)行,而無(wú)需改寫(xiě)任何代碼或者進(jìn)行重新訓(xùn)練。
這也就意味著,調(diào)整NN參數(shù)甚至改變神經(jīng)網(wǎng)絡(luò)并不需要強(qiáng)制重新編譯FPGA,而這些重新編譯工作可能需要花費(fèi)數(shù)小時(shí)、數(shù)天,甚至更長(zhǎng)時(shí)間。可以說(shuō),Zebra讓FPGA對(duì)于開(kāi)發(fā)者成了“透明”的,他們可以在NN模型訓(xùn)練好之后,無(wú)縫地從CPU或GPU切換到FPGA進(jìn)行推理,而無(wú)需花費(fèi)更多的時(shí)間!
目前,Zebra可以支持Caffe、Caffe2、MXNet和TensorFlow等主流NN框架。在硬件方面,Zebra已經(jīng)可以完美地支持Xilinx的系列加速卡,如Alveo U200、Alveo U250和Alveo U50等。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),“一旦將FPGA板插入PC,只需一個(gè)Linux命令”,F(xiàn)PGA就能夠代替CPU或GPU立即進(jìn)行無(wú)縫的推斷,可以在更低的功耗下將計(jì)算速度提高一個(gè)數(shù)量級(jí)。對(duì)用戶來(lái)說(shuō),這無(wú)疑是一種即插即用的體驗(yàn)。
圖1,Zebra可適應(yīng)由GPU加速器訓(xùn)練的NN,并無(wú)縫地在FPGA上部署
強(qiáng)強(qiáng)聯(lián)手,全生態(tài)支持
更好的消息是:為了能夠加速更多AI應(yīng)用的落地,安富利亞洲和 Mipsology 達(dá)成了合作協(xié)議,將向其亞太區(qū)客戶推廣和銷售 Mipsology 這一獨(dú)特的 FPGA 深度學(xué)習(xí)推理加速軟件 —— Zebra。
這對(duì)于合作的雙方無(wú)疑是一個(gè)雙贏的局面:對(duì)于Mipsology來(lái)說(shuō),可以讓Zebra這個(gè)創(chuàng)新的工具以更快的速度覆蓋和惠及更多的開(kāi)發(fā)者;對(duì)安富利來(lái)說(shuō),此舉也進(jìn)一步擴(kuò)展了自身強(qiáng)大的物聯(lián)網(wǎng)生態(tài)系統(tǒng),為客戶帶來(lái)更大的價(jià)值,為希望部署DL的客戶提供一整套全面的服務(wù),包括硬件、軟件、系統(tǒng)集成、應(yīng)用開(kāi)發(fā)、設(shè)計(jì)鏈和專業(yè)技術(shù)。
安富利推理加速成功應(yīng)用案例:智能網(wǎng)絡(luò)監(jiān)控平臺(tái)AI Bluebox
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1630文章
21769瀏覽量
604630 -
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4776瀏覽量
100944 -
gpu
+關(guān)注
關(guān)注
28文章
4760瀏覽量
129129 -
AI
+關(guān)注
關(guān)注
87文章
31260瀏覽量
269616 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5510瀏覽量
121334
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論