當(dāng)前位置:首頁 > 智能硬件 > 人工智能AI
[導(dǎo)讀] zui近幾年數(shù)據(jù)量和可訪問性的迅速增長,使得人工智能的算法設(shè)計理念發(fā)生了轉(zhuǎn)變。人工建立算法的做法被計算機從大量數(shù)據(jù)中自動習(xí)得可組合系統(tǒng)的能力所取代,使得計算機視覺、語音識別、自然語言處理等關(guān)鍵領(lǐng)

zui近幾年數(shù)據(jù)量和可訪問性的迅速增長,使得人工智能的算法設(shè)計理念發(fā)生了轉(zhuǎn)變。人工建立算法的做法被計算機從大量數(shù)據(jù)中自動習(xí)得可組合系統(tǒng)的能力所取代,使得計算機視覺、語音識別、自然語言處理等關(guān)鍵領(lǐng)域都出現(xiàn)了重大突破。深度學(xué)習(xí)是這些領(lǐng)域中所zui常使用的技術(shù),也被業(yè)界大為關(guān)注。然而,深度學(xué)習(xí)模型需要極為大量的數(shù)據(jù)和計算能力,只有更好的硬件加速條件,才能滿足現(xiàn)有數(shù)據(jù)和模型規(guī)模繼續(xù)擴大的需求。現(xiàn)有的解決方案使用圖形處理單元(GPU)集群作為通用計算圖形處理單元(GPGPU),但現(xiàn)場可編程門陣列(FPGA)提供了另一個值得探究的解決方案。日漸流行的FPGA設(shè)計工具使其對深度學(xué)習(xí)領(lǐng)域經(jīng)常使用的上層軟件兼容性更強,使得FPGA更容易為模型搭建和部署者所用。

FPGA架構(gòu)靈活,使得研究者能夠在諸如GPU的固定架構(gòu)之外進(jìn)行模型優(yōu)化探究。同時,F(xiàn)PGA在單位能耗下性能更強,這對大規(guī)模服務(wù)器部署或資源有限的嵌入式應(yīng)用的研究而言至關(guān)重要。本文從硬件加速的視角考察深度學(xué)習(xí)與FPGA,指出有哪些趨勢和創(chuàng)新使得這些技術(shù)相互匹配,并激發(fā)對FPGA如何幫助深度學(xué)習(xí)領(lǐng)域發(fā)展的探討。

1.簡介

機器學(xué)習(xí)對日常生活影響深遠(yuǎn)。無論是在上點擊個性化推薦內(nèi)容、在智能手機上使用語音溝通,或利用面部識別技術(shù)來拍照,都用到了某種形式的人工智能技術(shù)。這股人工智能的新潮流也伴隨著算法設(shè)計的理念轉(zhuǎn)變。過去基于數(shù)據(jù)的機器學(xué)習(xí)大多是利用具體領(lǐng)域的專業(yè)知識來人工地“塑造”所要學(xué)習(xí)的“特征”,計算機從大量示例數(shù)據(jù)中習(xí)得組合特征提取系統(tǒng)的能力,則使得計算機視覺、語音識別和自然語言處理等關(guān)鍵領(lǐng)域?qū)崿F(xiàn)了重大的性能突破。對這些數(shù)據(jù)驅(qū)動技術(shù)的研究被稱為深度學(xué)習(xí),如今正受到技術(shù)界兩個重要群體的關(guān)注:一是希望使用并訓(xùn)練這些模型、從而實現(xiàn)極高性能跨任務(wù)計算的研究者,二是希望為現(xiàn)實世界中的新應(yīng)用來部署這些模型的應(yīng)用科學(xué)家。然而,他們都面臨著一個限制條件,即硬件加速能力仍需加強,才可能滿足擴大現(xiàn)有數(shù)據(jù)和算法規(guī)模的需求。

對于深度學(xué)習(xí)來說,目前硬件加速主要靠使用圖形處理單元(GPU)集群作為通用計算圖形處理單元(GPGPU)。相比傳統(tǒng)的通用處理器(GPP),GPU的核心計算能力要多出幾個數(shù)量級,也更容易進(jìn)行并行計算。尤其是NVIDIACUDA,作為zui主流的GPGPU編寫平臺,各個主要的深度學(xué)習(xí)工具均用其來進(jìn)行GPU加速。zui近,開放型并行程序設(shè)計標(biāo)準(zhǔn)OpenCL作為異構(gòu)硬件編程的替代性工具備受關(guān)注,而對這些工具的熱情也在高漲。雖然在深度學(xué)習(xí)領(lǐng)域內(nèi),OpenCL獲得的支持相較CUDA還略遜一籌,但OpenCL有兩項獨特的性能。首先,OpenCL對開源、免費,不同于CUDA單一供應(yīng)商的做法。其次,OpenCL支持一系列硬件,包括GPU、GPP、現(xiàn)場可編程門陣列(FPGA)和數(shù)字信號處理器(DSP)。

1.1.FPGA

作為GPU在算法加速上強有力的競爭者,F(xiàn)PGA是否立即支持不同硬件,顯得尤為重要。FPGA與GPU不同之處在于硬件配置靈活,且FPGA在運行深入學(xué)習(xí)中關(guān)鍵的子程序(例如對滑動窗口的計算)時,單位能耗下通常能比GPU提供更好的表現(xiàn)。不過,設(shè)置FPGA需要具體硬件的知識,許多研究者和應(yīng)用科學(xué)家并不具備,正因如此,F(xiàn)PGA經(jīng)常被看作一種行家專屬的架構(gòu)。zui近,F(xiàn)PGA工具開始采用包括OpenCL在內(nèi)的軟件級編程模型,使其越來越受經(jīng)主流軟件開發(fā)訓(xùn)練的用戶青睞。

對考察一系列設(shè)計工具的研究者而言,其對工具的篩選標(biāo)準(zhǔn)通常與其是否具備用戶友好的軟件開發(fā)工具、是否具有靈活可升級的模型設(shè)計方法以及是否能迅速計算、以縮減大模型的訓(xùn)練時間有關(guān)。隨著FPGA因為高抽象化設(shè)計工具的出現(xiàn)而越來越容易編寫,其可重構(gòu)性又使得定制架構(gòu)成為可能,同時高度的并行計算能力提高了指令執(zhí)行速度,F(xiàn)PGA將為深度學(xué)習(xí)的研究者帶來好處。

對應(yīng)用科學(xué)家而言,盡管有類似的工具級選擇,但硬件挑選的重點在于zui大化提高單位能耗的性能,從而為大規(guī)模運行降低成本。所以,F(xiàn)PGA憑借單位能耗的強勁性能,加上為特定應(yīng)用定制架構(gòu)的能力,就能讓深度學(xué)習(xí)的應(yīng)用科學(xué)家受益。

FPGA能滿足兩類受眾的需求,是一個合乎邏輯的選擇。本文考察FPGA上深度學(xué)習(xí)的現(xiàn)狀,以及目前用于填補兩者間鴻溝的技術(shù)發(fā)展。因此,本文有三個重要目的。首先,指出深度學(xué)習(xí)領(lǐng)域存在探索全新硬件加速平臺的機會,而FPGA是一個理想的選擇。其次,勾勒出FPGA支持深度學(xué)習(xí)的現(xiàn)狀,指出潛在的限制。zui后,對FPGA硬件加速的未來方向提出關(guān)鍵建議,幫助解決今后深度學(xué)習(xí)所面臨的問題。

2.FPGA

傳統(tǒng)來說,在評估硬件平臺的加速時,必須考慮到靈活性和性能之間的權(quán)衡。一方面,通用處理器(GPP)可提供高度的靈活性和易用性,但性能相對缺乏效率。這些平臺往往更易于獲取,可以低廉的價格生產(chǎn),并且適用于多種用途和重復(fù)使用。另一方面,專用集成電路ASIC)可提供高性能,但代價是不夠靈活且生產(chǎn)難度更大。這些電路專用于某特定的應(yīng)用程序,并且生產(chǎn)起來價格昂貴且耗時。

FPGA是這兩個極端之間的折中。FPGA屬于一類更通用的可編程邏輯設(shè)備(PLD),并且簡單來說,是一種可重新配置的集成電路。因此,F(xiàn)PGA既能提供集成電路的性能優(yōu)勢,又具備GPP可重新配置的靈活性。FPGA能夠簡單地通過使用觸發(fā)器(FF)來實現(xiàn)順序邏輯,并通過使用查找表(LUT)來實現(xiàn)組合邏輯?,F(xiàn)代的FPGA還含有硬化組件以實現(xiàn)一些常用功能,例如全處理器內(nèi)核、通信內(nèi)核、運算內(nèi)核和塊內(nèi)存(BRAM)。另外,目前的FPGA趨勢趨向于系統(tǒng)芯片(SoC)設(shè)計方法,即ARM協(xié)處理器和FPGA通常位于同一芯片中。目前的FPGA市場由Xilinx主導(dǎo),占據(jù)超過85%的市場份額。此外,F(xiàn)PGA正迅速取代ASIC和應(yīng)用專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)來實現(xiàn)固定功能邏輯。FPGA市場規(guī)模預(yù)計在2016年將達(dá)到100億美元。

對于深度學(xué)習(xí)而言,F(xiàn)PGA提供了優(yōu)于傳統(tǒng)GPP加速能力的顯著潛力。GPP在軟件層面的執(zhí)行依賴于傳統(tǒng)的馮·諾依曼架構(gòu),指令和數(shù)據(jù)存儲于外部存儲器中,在需要時再取出。這推動了緩存的出現(xiàn),大大減輕了昂貴的外部存儲器操作。該架構(gòu)的瓶頸是處理器和存儲器之間的通信,這嚴(yán)重削弱了GPP的性能,尤其影響深度學(xué)習(xí)經(jīng)常需要獲取的存儲信息技術(shù)。

相比較而言,F(xiàn)PGA的可編程邏輯原件可用于實現(xiàn)普通邏輯功能中的數(shù)據(jù)和控制路徑,而不依賴于馮·諾伊曼結(jié)構(gòu)。它們也能夠利用分布式片上存儲器,以及深度利用流水線并行,這與前饋性深度學(xué)習(xí)方法自然契合?,F(xiàn)代FPGA還支持部分動態(tài)重新配置,當(dāng)FPGA的一部分被重新配置時另一部分仍可使用。這將對大規(guī)模深度學(xué)習(xí)模式產(chǎn)生影響,F(xiàn)PGA的各層可進(jìn)行重新配置,而不擾亂其他層正在進(jìn)行的計算。這將可用于無法由單個FPGA容納的模型,同時還可通過將中間結(jié)果保存在本地存儲以降低高昂的全球存儲讀取費用。

zui重要的是,相比于GPU,F(xiàn)PGA為硬件加速設(shè)計的探索提供了另一個視角。GPU和其它固定架構(gòu)的設(shè)計是遵循軟件執(zhí)行模型,并圍繞自主計算單元并行以執(zhí)行任務(wù)搭建結(jié)構(gòu)。由此,為深度學(xué)習(xí)技術(shù)開發(fā)GPU的目標(biāo)就是使算法適應(yīng)這一模型,讓計算并行完成、確保數(shù)據(jù)相互依賴。與此相反,F(xiàn)PGA架構(gòu)是為應(yīng)用程序?qū)iT定制的。在開發(fā)FPGA的深度學(xué)習(xí)技術(shù)時,較少強調(diào)使算法適應(yīng)某固定計算結(jié)構(gòu),從而留出更多的自由去探索算法層面的優(yōu)化。需要很多復(fù)雜的下層硬件控制操作的技術(shù)很難在上層軟件語言中實現(xiàn),但對FPGA執(zhí)行卻特別具有吸引力。然而,這種靈活性是以大量編譯(定位和回路)時間為成本的,對于需要通過設(shè)計循環(huán)快速迭代的研究人員來說這往往會是個問題。

除了編譯時間外,吸引偏好上層編程語言的研究人員和應(yīng)用科學(xué)家來開發(fā)FPGA的問題尤為艱難。雖然能流利使用一種軟件語言常常意味著可以輕松地學(xué)習(xí)另一種軟件語言,但對于硬件語言翻譯技能來說卻非如此。針對FPGAzui常用的語言是Verilog和VHDL,兩者均為硬件描述語言(HDL)。這些語言和傳統(tǒng)的軟件語言之間的主要區(qū)別是,HDL只是單純描述硬件,而例如C語言等軟件語言則描述順序指令,并無需了解硬件層面的執(zhí)行細(xì)節(jié)。有效地描述硬件需要對數(shù)字化設(shè)計和電路的專業(yè)知識,盡管一些下層的實現(xiàn)決定可以留給自動合成工具去實現(xiàn),但往往無法達(dá)到的設(shè)計。因此,研究人員和應(yīng)用科學(xué)家傾向于選擇軟件設(shè)計,因其已經(jīng)非常成熟,擁有大量抽象和便利的分類來提高程序員的效率。這些趨勢使得FPGA領(lǐng)域目前更加青睞高度抽象化的設(shè)計工具。

FPGA深度學(xué)習(xí)研究里程碑:

1987VHDL成為IEEE標(biāo)準(zhǔn)

1992GANGLION成為*FPGA神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)項目(Coxetal.)

1994Synopsys推出*代FPGA行為綜合方案

1996VIP成為*FPGA的CNN實現(xiàn)方案(Cloutieretal.)

2005FPGA市場價值接近20億美元

2006利用BP算法在FPGA上實現(xiàn)5GOPS的處理能力

2011Altera推出OpenCL,支持FPGA

出現(xiàn)大規(guī)模的基于FPGA的CNN算法研究(Farabetetal.)

2016在微軟Catapult項目的基礎(chǔ)上,出現(xiàn)基于FPGA的數(shù)據(jù)中心CNN算法加速(Ovtcharovetal.)    4.未來展望

深度學(xué)習(xí)的未來不管是就FPGA還是總體而言,主要取決于可擴展性。要讓這些技術(shù)成功解決未來的問題,必須要拓展到能夠支持飛速增長的數(shù)據(jù)規(guī)模和架構(gòu)。FPGA技術(shù)正在適應(yīng)這一趨勢,而硬件正朝著更大內(nèi)存、更少的特征點數(shù)量、更好的互連性發(fā)展,來適應(yīng)FPGA多重配置。英特爾收購了Altera,IBM與Xilinx合作,都昭示著FPGA領(lǐng)域的變革,未來也可能很快看到FPGA與個人應(yīng)用和數(shù)據(jù)中心應(yīng)用的整合。另外,算法設(shè)計工具可能朝著進(jìn)一步抽象化和體驗軟件化的方向發(fā)展,從而吸引更廣技術(shù)范圍的用戶。

4.1.常用深度學(xué)習(xí)軟件工具

在深度學(xué)習(xí)zui常用的軟件工具中,有些工具已經(jīng)在支持CUDA的同時,認(rèn)識到支持OpenCL的必要性。這將使得FPGA更容易實現(xiàn)深度學(xué)習(xí)的目的。雖然據(jù)我們所知,目前沒有任何深度學(xué)習(xí)工具明確表示支持FPGA,不過下面的表格列出了哪些工具正朝支持OpenCL方向發(fā)展:

Caffe,由伯克利視覺與學(xué)習(xí)中心開發(fā),其GreenTea項目對OpenCL提供非正式支持。Caffe另有支持OpenCL的AMD版本。    Torch,基于Lua語言的科學(xué)計算框架,使用范圍廣,其項目CLTorch對OpenCL提供非正式支持?!   heano,由蒙特利爾大學(xué)開發(fā),其正在研發(fā)的gpuarray后端對OpenCL提供非正式支持。

DeepCL,由HughPerkins開發(fā)的OpenCL庫,用于訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。

對于剛進(jìn)入此領(lǐng)域、希望選擇工具的人來說,我們的建議是從Caffe開始,因為它十分常用,支持性好,用戶界面簡單。利用Caffe的modelzoo庫,也很容易用預(yù)先訓(xùn)練好的模型進(jìn)行試驗。

4.2.增加訓(xùn)練自由度

有人或許以為訓(xùn)練機器學(xué)習(xí)算法的過程是完全自動的,實際上有一些超參數(shù)需要調(diào)整。對于深度學(xué)習(xí)尤為如此,模型在參數(shù)量上的復(fù)雜程度經(jīng)常伴隨著大量可能的超參數(shù)組合??梢哉{(diào)整的超參數(shù)包括訓(xùn)練迭代次數(shù)、學(xué)習(xí)速率、批梯度尺寸、隱藏單元數(shù)和層數(shù)等等。調(diào)整這些參數(shù),等于在所有可能的模型中,挑選zui適用于某個問題的模型。傳統(tǒng)做法中,超參數(shù)的設(shè)置要么依照經(jīng)驗,要么根據(jù)系統(tǒng)網(wǎng)格搜索或更有效的隨機搜索來進(jìn)行。zui近研究者轉(zhuǎn)向了適應(yīng)性的方法,用超參數(shù)調(diào)整的嘗試結(jié)果為配置依據(jù)。其中,貝葉斯優(yōu)化是zui常用的方法。

不管用何種方法調(diào)整超參數(shù),目前利用固定架構(gòu)的訓(xùn)練流程在某種程度上局限了模型的可能性,也就是說,我們或許只在所有的解決方案中管窺了一部分。固定架構(gòu)讓模型內(nèi)的超參數(shù)設(shè)置探究變得很容易(比如,隱藏單元數(shù)、層數(shù)等),但去探索不同模型間的參數(shù)設(shè)置變得很難(比如,模型類別的不同),因為如果要就一個并不簡單符合某個固定架構(gòu)的模型來進(jìn)行訓(xùn)練,就可能要花很長時間。相反,F(xiàn)PGA靈活的架構(gòu),可能更適合上述優(yōu)化類型,因為用FPGA能編寫一個完全不同的硬件架構(gòu)并在運行時加速。

4.3.Low power compute clusters低耗能計算節(jié)點集群

深度學(xué)習(xí)模型zui讓人著迷的就是其拓展能力。不管是為了從數(shù)據(jù)中發(fā)現(xiàn)復(fù)雜的高層特征,還是為數(shù)據(jù)中心應(yīng)用提升性能,深度學(xué)習(xí)技術(shù)經(jīng)常在多節(jié)點計算基礎(chǔ)架構(gòu)間進(jìn)行拓展。目前的解決方案使用具備Infiniband互連技術(shù)的GPU集群和MPI,從而實現(xiàn)上層的并行計算能力和節(jié)點間數(shù)據(jù)的快速傳輸。然而,當(dāng)大規(guī)模應(yīng)用的負(fù)載越來越各不相同,使用FPGA可能會是更優(yōu)的方法。FPGA的可編程行允許系統(tǒng)根據(jù)應(yīng)用和負(fù)載進(jìn)行重新配置,同時FPGA的能耗比高,有助于下一代數(shù)據(jù)中心降低成本。

5.結(jié)語

相比GPU和GPP,F(xiàn)PGA在滿足深度學(xué)習(xí)的硬件需求上提供了具有吸引力的替代方案。憑借流水線并行計算的能力和的能耗,F(xiàn)PGA將在一般的深度學(xué)習(xí)應(yīng)用中展現(xiàn)GPU和GPP所沒有的獨特優(yōu)勢。同時,算法設(shè)計工具日漸成熟,如今將FPGA集成到常用的深度學(xué)習(xí)框架已成為可能。未來,F(xiàn)PGA將有效地適應(yīng)深度學(xué)習(xí)的發(fā)展趨勢,從架構(gòu)上確保相關(guān)應(yīng)用和研究能夠自由實現(xiàn)。

來源:智能制造網(wǎng)

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉