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