過去十年,人工智慧攪局了很多傳統行業,也給顯卡帶來了福音。
說顯卡,好像等同在說英偉達,其實不光英偉達,AMD的顯卡在過去十年也是突飛猛進。
GPU目前來看是最通用的深度學習處理器,英偉達也乘著東風,搖身一變成為雲GPU服務提供商,它的人工智慧實驗室也出了很多SOTA結果。
但是,專門研究機器學習軟體的研究顯示,GPU 也存在固有的缺陷,將其大規模應用於人工智慧應用還有很多挑戰。
而現場可編程門陣列(FPGA) 有望彌補這些缺陷。FPGA 在製造後仍可以高度定製的處理器,它比一般處理器更有效率。然而,FPGA很難編程,這個問題需要解決。
專業化的人工智慧硬體,已經成為深度學習處理引擎的一個趨勢,國內也有很多公司在開發各種AI加速卡,深度學習的最佳基礎設施到底會花落誰家?
三維圖形卡是 GPU 擁有如此多內存和計算能力的原因,它與深層神經網絡有一個共同點: 需要大量的矩陣乘法運算。
圖形卡可以並行執行多個矩陣運算,這極大地加快了運算速度。圖形處理器可以將訓練神經網絡的時間從幾天、幾周縮短到幾小時、幾分鐘。
GPU 在深度學習領域的吸引力已經催生了一系列公共雲服務,這些服務為深度學習項目提供強大 的GPU 虛擬機。
但是圖形卡也有硬體和環境的限制,神經網絡訓練通常不會考慮運行神經網絡的系統在部署過程中遇到的困難,GPU 實際使用時就會有額外的壓力。
另外,GPU 的能耗很高,需要大量的電力,還得用風扇來冷卻。
如果在臺式機、筆記本電腦或者伺服器機架上訓練神經網絡時,這並不是什麼大問題。
但是部署深度學習模型的環境對 GPU 並不友好,比如自動駕駛汽車、工廠、機器人和許多智能城市的配置,在這些環境中,硬體必須能夠承受如發熱、灰塵、溼度、運動和能耗限制。
一些重要的應用如視頻監控,要求硬體暴露在對 GPU 有負面影響的環境(例如太陽)中,而GPU 使用的電晶體技術已經逐漸見頂,發熱問題在很多情況下已經成為掣肘因素。
壽命也是一個問題。一般來說,GPU 的使用時間大約為2-5年,對於每隔幾年就更換電腦的遊戲玩家來說,這並不是一個大事。
但是在其他領域,比如智能汽車行業,人們期待著更高的耐用性,GPU要想用在車上,就要抗震抗噪防潮等,GPU的設計會更麻煩。
以自動駕駛為例,「自動駕駛汽車的軟體要想商用,至少需要7-10個 GPU (其中大部分將在不到4年內失效) ,對於大多數購車者來說,智能或無人機的成本變得不切實際。
其他行業如機器人技術、醫療保健和安全系統也面臨類似的挑戰。
FPGA 是可定製的硬體設備,具有各種適應性組件,可以針對特定類型的計算體系結構進行優化,如卷積神經網絡。
它們的可定製性降低了電力需求,並在加速和吞吐量方面提供了更高的性能。它們的壽命也更長,大約是 GPU 的2-5倍,並且對惡劣的環境更有抵抗力。
一些公司已經在他們的人工智慧產品中使用了 FPGA。微軟就是一個例子,它提供了基於 FPGA 的機器學習技術作為 Azure 雲服務的一部分。
但是 FPGA 的問題是它們很難編程。配置 FPGA 需要硬體描述符語言(如 Verilog 或 VHDL)的知識和專業技能。
現在的機器學習程序大多是用 Python 或 C 等高級語言編寫的,將它們的邏輯轉換為 FPGA 指令非常困難,使用 TensorFlow、 PyTorch、 Caffe 和其他框架在 FPGA 上運行神經網絡通常需要大量的人工時間和精力。
要對 FPGA 進行編程,需要組建一個同時了解 FPGA 的硬體和神經網絡的優秀團隊,花幾年時間開發一個硬體模型,並在面臨高使用率或高頻率問題的同時為 FPGA 編譯它。
與此同時,還需要具備廣泛的數學技能,以較低的精度準確計算模型,還需要一個軟體開發團隊將人工智慧框架模型映射到硬體架構。
Mipsology 試圖彌合這個鴻溝,推出了一個名為Zebra的 軟體平臺,允許開發人員輕鬆地將深度學習代碼移植到 FPGA 硬體上。
它提供了一種軟體抽象層,可以隱藏通常需要高水平 FPGA 專業知識才能實現的複雜性,只需輸入一個 Linux 命令,Zebra 就可以工作了——它不需要編譯,不需要更改原來的神經網絡,也不需要學習新的工具,而且可以使用 GPU 來訓練。
一個可以將深度學習代碼轉換為 FPGA 硬體指令的抽象層,應該使用怎樣的架構?
上圖描述的只是眾多探索在人工智慧項目中使用 FPGA 方法的一種,目前,Xilinx 已經將這個抽象層集成到其主板中。
其他公司,如谷歌和特斯拉,也在開發自己的專用人工智慧硬體,並提供雲端或邊緣端的使用環境,還有在神經形態晶片方面的努力,這些專用晶片的體系結構是專為神經網絡設計的。
除此之外,定製化集成電路(ASIC) 也在探索AI方面的應用,但ASIC通常是為一個非常具體的人工智慧任務設計的,缺乏 FPGA 的靈活性,無法重新編程。
如果FPGA的開發成本大幅下降,而神經網絡的性能又可提升很多,就可以在不替換硬體的情況下啟動高效的 AI 推理。
FPGA 固件開發具有高效率、短周期的特點,未來在快速變化及環境要求嚴苛的領域,大有可為。
參考:
https://bdtechtalks.com/2020/11/09/fpga-vs-gpu-deep-learning/