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