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