作為GPU在算法加速上強有力的競爭者,FPGA是否立即支持不同硬件,顯得尤為重要。FPGA與GPU不同之處在于硬件配置靈活,且FPGA在運行深入學習中關(guān)鍵的子程序(例如對滑動窗口的計算)時,單位能耗下通常能比GPU提供更好的表現(xiàn)。不過,設置FPGA需要具體硬件的知識,許多研究者和應用科學家并不具備,正因如此,FPGA經(jīng)常被看作一種行家專屬的架構(gòu)。最近,FPGA工具開始采用包括OpenCL在內(nèi)的軟件級編程模型,使其越來越受經(jīng)主流軟件開發(fā)訓練的用戶青睞。
對考察一系列設計工具的研究者而言,其對工具的篩選標準通常與其是否具備用戶友好的軟件開發(fā)工具、是否具有靈活可升級的模型設計方法以及是否能迅速計算、以縮減大模型的訓練時間有關(guān)。隨著FPGA因為高抽象化設計工具的出現(xiàn)而越來越容易編寫,其可重構(gòu)性又使得定制架構(gòu)成為可能,同時高度的并行計算能力提高了指令執(zhí)行速度,FPGA將為深度學習的研究者帶來好處。
對應用科學家而言,盡管有類似的工具級選擇,但硬件挑選的重點在于最大化提高單位能耗的性能,從而為大規(guī)模運行降低成本。所以,FPGA憑借單位能耗的強勁性能,加上為特定應用定制架構(gòu)的能力,就能讓深度學習的應用科學家受益。
FPGA能滿足兩類受眾的需求,是一個合乎邏輯的選擇。本文考察FPGA上深度學習的現(xiàn)狀,以及目前用于填補兩者間鴻溝的技術(shù)發(fā)展。因此,本文有三個重要目的。首先,指出深度學習領域存在探索全新硬件加速平臺的機會,而FPGA是一個理想的選擇。其次,勾勒出FPGA支持深度學習的現(xiàn)狀,指出潛在的限制。最后,對FPGA硬件加速的未來方向提出關(guān)鍵建議,幫助解決今后深度學習所面臨的問題。
2. FPGA