作者 | Ben Dickson 譯者 | 大小非 ?
人工智能的興起觸發(fā)了市場(chǎng)對(duì) GPU 的大量需求,但 GPU 在 AI 場(chǎng)景中的應(yīng)用面臨使用壽命短、使用成本高等問(wèn)題。現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA) 這一可以定制化硬件處理器反倒是更好的解決方案。隨著可編程性等問(wèn)題在 FPGA 上的解決,F(xiàn)PGA 將成為市場(chǎng)人工智能應(yīng)用的選擇。
?
現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA) 解決了 GPU 在運(yùn)行深度學(xué)習(xí)模型時(shí)面臨的許多問(wèn)題
在過(guò)去的十年里,人工智能的再一次興起使顯卡行業(yè)受益匪淺。英偉達(dá) (Nvidia) 和 AMD 等公司的股價(jià)也大幅上漲,因?yàn)槭聦?shí)表明,它們的 GPU 在訓(xùn)練和運(yùn)行 深度學(xué)習(xí)模型 方面效果明顯。實(shí)際上,英偉達(dá)也已經(jīng)對(duì)自己的業(yè)務(wù)進(jìn)行了轉(zhuǎn)型,之前它是一家純粹做 GPU 和游戲的公司,現(xiàn)在除了作為一家云 GPU 服務(wù)提供商外,英偉達(dá)還成立了專(zhuān)業(yè)的人工智能研究實(shí)驗(yàn)室。
不過(guò),機(jī)器學(xué)習(xí)軟件公司 Mipsology 的首席執(zhí)行官兼聯(lián)合創(chuàng)始人盧多維奇?拉祖爾 (Ludovic Larzul) 表示,GPU 還存在著一些缺陷,這使其在 AI 應(yīng)用中面臨著一些挑戰(zhàn)。
Larzul 表示,想要解決這些問(wèn)題的解決方案便是實(shí)現(xiàn)現(xiàn)場(chǎng)可編程門(mén)陣列 (FPGA),這也是他們公司的研究領(lǐng)域。FPGA 是一種處理器,可以在制造后定制,這使得它比一般處理器更高效。但是,很難對(duì) FPGA 進(jìn)行編程,Larzul 希望通過(guò)自己公司開(kāi)發(fā)的新平臺(tái)解決這個(gè)問(wèn)題。
專(zhuān)業(yè)的人工智能硬件已經(jīng)成為了一個(gè)獨(dú)立的產(chǎn)業(yè),但對(duì)于什么是深度學(xué)習(xí)算法的最佳基礎(chǔ)設(shè)施,人們?nèi)匀粵](méi)有定論。如果 Mipsology 成功完成了研究實(shí)驗(yàn),許多正受 GPU 折磨的 AI 開(kāi)發(fā)者將從中受益。
GPU 深度學(xué)習(xí)面臨的挑戰(zhàn)
三維圖形是 GPU 擁有如此大的內(nèi)存和計(jì)算能力的根本原因,它與 深度神經(jīng)網(wǎng)絡(luò) 有一個(gè)共同之處:都需要進(jìn)行大量矩陣運(yùn)算。
顯卡可以并行執(zhí)行矩陣運(yùn)算,極大地加快計(jì)算速度。圖形處理器可以把訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)間從幾天、幾周縮短到幾小時(shí)、幾分鐘。
隨著圖形硬件公司供貨的不斷增加,GPU 在深度學(xué)習(xí)中的市場(chǎng)需求還催生了大量公共云服務(wù),這些服務(wù)為深度學(xué)習(xí)項(xiàng)目提供強(qiáng)大的 GPU 虛擬機(jī)。
但是顯卡也受硬件和環(huán)境的限制。Larzul 解釋說(shuō):“神經(jīng)網(wǎng)絡(luò)訓(xùn)練通常是在一個(gè)確定的環(huán)境中進(jìn)行的,運(yùn)行神經(jīng)網(wǎng)絡(luò)的系統(tǒng)會(huì)在部署中遇到各種限制——這可能會(huì)對(duì) GPU 的實(shí)際使用造成壓力?!?/p>
GPU 需要大量的電力,會(huì)產(chǎn)生大量的熱量,并需要使用風(fēng)扇冷卻。當(dāng)你在臺(tái)式工作站、筆記本電腦或機(jī)架式服務(wù)器上訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),這不是什么大問(wèn)題。但是,許多部署深度學(xué)習(xí)模型的環(huán)境對(duì) GPU 并不友好,比如自動(dòng)駕駛汽車(chē)、工廠、機(jī)器人和許多智慧城市環(huán)境,在這些環(huán)境中硬件必須忍受熱、灰塵、濕度、運(yùn)動(dòng)和電力限制等環(huán)境因素。
Larzul 說(shuō):“在一些關(guān)鍵的應(yīng)用場(chǎng)景中,比如智慧城市的視頻監(jiān)控,要求硬件暴露在對(duì) GPU 有不利影響的環(huán)境因素 (比如太陽(yáng)) 下?!?GPU 受晶體管技術(shù)的限制,導(dǎo)致它們?cè)诟邷叵逻\(yùn)行時(shí)需要及時(shí)冷卻,而這并不總是可以實(shí)現(xiàn)的。要做到這點(diǎn)需要更多的電力、維護(hù)成本等?!?/p>
使用壽命也是一個(gè)問(wèn)題。一般來(lái)說(shuō),GPU 的使用 壽命約為 2-5 年,這對(duì)那些每隔幾年就換一次電腦的玩家來(lái)說(shuō)不是什么大問(wèn)題。但在其他領(lǐng)域,如汽車(chē)行業(yè),需要硬件有更高的耐用性,這就帶來(lái)了問(wèn)題。特別是過(guò)多的暴露在惡劣的環(huán)境中,再加上高強(qiáng)度的使用,GPU 的使用壽命將會(huì)更短。
Larzul 說(shuō):“從商業(yè)可行性方面考慮,自動(dòng)駕駛汽車(chē)等應(yīng)用可能需要多達(dá) 7-10 個(gè) GPU(其中大多數(shù)會(huì)在不到四年的時(shí)間內(nèi)失效),對(duì)于大多數(shù)購(gòu)車(chē)者來(lái)說(shuō),智能或自動(dòng)駕駛汽車(chē)的成本將變得不切實(shí)際?!?/p>
機(jī)器人、醫(yī)療保健和安全系統(tǒng)等其他行業(yè)也面臨著類(lèi)似的挑戰(zhàn)。
FPGA 和深度學(xué)習(xí)
FPGA 是可定制的硬件設(shè)備,可對(duì)其組件進(jìn)行調(diào)節(jié),因此可以針對(duì)特定類(lèi)型的架構(gòu) (如 卷積神經(jīng)網(wǎng)絡(luò)) 進(jìn)行優(yōu)化。其可定制性特征降低了對(duì)電力的需求,并在運(yùn)算速度和吞吐量方面提供了更高的性能。它們的使用壽命也更長(zhǎng),大約是 GPU 的 2-5 倍,并且對(duì)惡劣環(huán)境和其它特殊環(huán)境因素有更強(qiáng)的適應(yīng)性。
有一些公司已經(jīng)在他們的人工智能產(chǎn)品中使用了 FPGA。微軟 就是其中一家,它將基于 FPGA 的機(jī)器學(xué)習(xí)技術(shù)作為其 Azure 云服務(wù)產(chǎn)品的一部分來(lái)提供。
不過(guò) FPGA 的缺陷是難于編程。配置 FPGA 需要具備硬件描述語(yǔ)言 (如 Verilog 或 VHDL) 的知識(shí)和專(zhuān)業(yè)技能。機(jī)器學(xué)習(xí)程序是用 Python 或 C 等高級(jí)語(yǔ)言編寫(xiě)的,將其邏輯轉(zhuǎn)換為 FPGA 指令非常困難。在 FPGA 上運(yùn)行 TensorFlow、PyTorch、Caffe 和其他框架建模的神經(jīng)網(wǎng)絡(luò)通常需要消耗大量的人力時(shí)間和精力。
“要對(duì) FPGA 進(jìn)行編程,你需要組建一支懂得如何開(kāi)發(fā) FPGA 的硬件工程師團(tuán)隊(duì),并聘請(qǐng)一位了解神經(jīng)網(wǎng)絡(luò)的優(yōu)秀架構(gòu)師,花費(fèi)幾年時(shí)間去開(kāi)發(fā)一個(gè)硬件模型,最終編譯運(yùn)行在 FPGA 上,與此同時(shí)你還需要處理 FPGA 使用效率和使用頻率的問(wèn)題?!癓arzul 說(shuō)。此外你還需要具備廣泛的數(shù)學(xué)技能,以較低的精度準(zhǔn)確地計(jì)算模型,并需要一個(gè)軟件團(tuán)隊(duì)將 AI 框架模型映射到硬件架構(gòu)。
Larzul 的公司 Mipsology 希望通過(guò) Zebra 來(lái)彌合這一差距。Zebra 是一種軟件平臺(tái),開(kāi)發(fā)者可以輕松地將深度學(xué)習(xí)代碼移植到 FPGA 硬件上。
Larzul 說(shuō):“我們提供了一個(gè)軟件抽象層,它隱藏了通常需要高級(jí) FPGA 專(zhuān)業(yè)知識(shí)的復(fù)雜性。”“只需加載 Zebra,輸入一個(gè) Linux 命令,Zebra 就可以工作了——它不需要編譯,不需要對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行任何更改,也不需要學(xué)習(xí)任何新工具。不過(guò)你可以保留你的 GPU 用于訓(xùn)練?!?/p>
Zebra 提供了將深度學(xué)習(xí)代碼轉(zhuǎn)換為 FPGA 硬件指令的抽象層
AI 硬件前景
Mipsology 的 Zebra 平臺(tái)是開(kāi)發(fā)者探索在 AI 項(xiàng)目中使用 FPGA 的 眾多方案之一。Xilinx 是 FPGA 領(lǐng)域的領(lǐng)導(dǎo)者,已經(jīng)開(kāi)發(fā)了 Zebra 并將其集成到了電路板中。其他公司,如谷歌和特斯拉,也正積極的為其開(kāi)發(fā)專(zhuān)用的 AI 硬件,用于自己的云產(chǎn)品和邊緣計(jì)算產(chǎn)品環(huán)境中。
神經(jīng)形態(tài)芯片 方面也有著一些發(fā)展,這是一種專(zhuān)門(mén)為神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的計(jì)算機(jī)架構(gòu)。英特爾在神經(jīng)形態(tài)計(jì)算領(lǐng)域處于領(lǐng)先地位,已經(jīng)開(kāi)發(fā)了幾種模型架構(gòu),不過(guò)該領(lǐng)域仍處于早期發(fā)展階段。
還有專(zhuān)門(mén)用于特定應(yīng)用的集成電路 (ASIC),即專(zhuān)為某一特定人工智能需求制造的芯片。但 ASIC 缺乏 FPGA 的靈活性,無(wú)法重新編程。
Larzul 最后說(shuō),“我們決定專(zhuān)注于軟件業(yè)務(wù),探索研究提升神經(jīng)網(wǎng)絡(luò)性能和降低延遲的方案。Zebra 運(yùn)行在 FPGA 上,因此無(wú)需更換硬件就可以支持 AI 推理。FPGA 固件的每次刷新都能給我們帶來(lái)更高的性能提升,這得益于其高效性和較短的開(kāi)發(fā)周期。另外,F(xiàn)PGA 的可選擇方案很多,具有很好的市場(chǎng)適應(yīng)性?!?/p>
英文原文:
https://bdtechtalks.com/2020/11/09/fpga-vs-gpu-deep-learning/
編輯:黃飛
?
評(píng)論
查看更多