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