




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
FPGA幫助改進(jìn)機(jī)器學(xué)習(xí)的模型訓(xùn)練過(guò)程機(jī)器學(xué)習(xí)(MachineLearning,ML)技術(shù)和FPGA的聯(lián)系可以體現(xiàn)在下面幾個(gè)維度上:1.FPGA幫助改進(jìn)機(jī)器學(xué)習(xí)的模型訓(xùn)練過(guò)程(FPGA應(yīng)用)2.機(jī)器學(xué)習(xí)幫助改進(jìn)FPGA的設(shè)計(jì)代碼/約束(FPGA應(yīng)用)3.機(jī)器學(xué)習(xí)幫助改進(jìn)FPGA軟件(EDA)算法設(shè)計(jì)(FPGA軟件設(shè)計(jì))4.機(jī)器學(xué)習(xí)幫助改良FPGA芯片硬件設(shè)計(jì)(FPGA硬件設(shè)計(jì))本篇先分享從第1個(gè)維度出發(fā)的一些觀點(diǎn)。FPGA傳統(tǒng)上被用作設(shè)計(jì)新數(shù)字芯片的早期驗(yàn)證原型已經(jīng)很久了,但隨著機(jī)器學(xué)習(xí)技術(shù)的出現(xiàn),F(xiàn)PGA體現(xiàn)出了有別于傳統(tǒng)應(yīng)用更多的特質(zhì)。在FPGA在其傳統(tǒng)市場(chǎng)因價(jià)格昂貴、難于上手而步履維艱時(shí),ML為其打開了一片廣闊的市場(chǎng)。FPGA最大的特點(diǎn)在于其可編程的靈活性,這一點(diǎn)恰好在機(jī)器學(xué)習(xí)這種多變的場(chǎng)景下極為合適。不僅應(yīng)用時(shí)刻在變化,網(wǎng)絡(luò)和模型也在訓(xùn)練的過(guò)程中不斷進(jìn)化,針對(duì)這種場(chǎng)景,不同F(xiàn)PGA廠商有著各自不同的應(yīng)對(duì)方案?!癎PU、FPGA以及ASIC之間,正在進(jìn)行一場(chǎng)曠日持久的戰(zhàn)爭(zhēng)”,AnoopSaha(marketdevelopmentmanageratMentor,aSiemensBusiness)說(shuō)道,“如果FPGA廠商無(wú)法提供合適的【工具】,他們將在ML這個(gè)市場(chǎng)上毫無(wú)機(jī)會(huì)?!弊钤绲腗L應(yīng)用實(shí)現(xiàn)是軟件導(dǎo)向的,并對(duì)CPU和GPU產(chǎn)生了巨大影響。但CPU和GPU面臨的挑戰(zhàn)在于其巨大的功耗——即使對(duì)于數(shù)據(jù)中心來(lái)說(shuō)也是這樣?!叭藗?cè)囍密浖?shí)現(xiàn)創(chuàng)新,但卻無(wú)法控制功耗,”PatrickDorsey(generalmanagerandvicepresidentofproductmarketing,F(xiàn)PGAandpowerproductsinIntel’sProgrammableSolutionsGroup)說(shuō)道。因此,F(xiàn)PGA提供了一套比傳統(tǒng)軟件編程在功耗方面更具吸引力的解決方案?!盕PGA由于其并行性特別適合于高性能,低功耗應(yīng)用,“ShakeelPeera(associatevicepresidentinMicrochip’sFPGAbusinessunit)說(shuō)道?!拔覀兛吹皆赥OPS/W(每瓦進(jìn)行多少萬(wàn)億次操作)性能方面,Intel的FPGA方案已經(jīng)打敗Nvidia的GPU方案?!盌orsey(Intel)說(shuō)。FPGA可以提供軟件解決方案無(wú)法企及的低延遲和高性能。“ASIC可以達(dá)到5TOPS/W,而FPGA也可以達(dá)到1-2TOPS/W,”MikeFitton(seniordirectorofstrategyandplanningforAchronix)說(shuō)道。價(jià)格對(duì)于成熟產(chǎn)品來(lái)說(shuō)十分重要,但ML應(yīng)用通常還沒(méi)有到形成成熟產(chǎn)品程度,因?yàn)槟P蜁r(shí)刻不停地在飛速迭代,“FPGA雖然對(duì)于應(yīng)用在成熟產(chǎn)品上來(lái)說(shuō)并不合適,”NickNi(directorofproductmarketingforAIandsoftwareatXilinx)說(shuō)道,“但比如一些監(jiān)控?cái)z像頭的應(yīng)用,其識(shí)別算法還遠(yuǎn)未成熟,F(xiàn)PGA則是最好的選擇?!钡膊⒉皇钦f(shuō),在AI應(yīng)用中,完全不用考慮成本,畢竟總還是有人會(huì)關(guān)心總持有成本(totalcostofownership,TCO)的。如果說(shuō)這種絕對(duì)靈活的解決方案統(tǒng)治了早期的AI市場(chǎng),那么接下來(lái)便通常會(huì)演化成ASSP(application-specificstandardproducts)方案,以提供更佳的性能/功耗比,即使ASSP依然要在二者之間做出艱難的平衡。從數(shù)據(jù)中心到邊緣計(jì)算FPGA在數(shù)據(jù)中心加速應(yīng)用中找到了自己的用武之地——作為CPU和GPU的協(xié)處理引擎。在數(shù)據(jù)中心的訓(xùn)練(training)方面確實(shí)如此,而且目前的應(yīng)用也已擴(kuò)展到了推理(inference)中。另外,大量的推理工作集中在邊緣側(cè)進(jìn)行—特別是汽車應(yīng)用。汽車應(yīng)用大都對(duì)成本和功耗非常敏感,但是由于ASSP方案的缺乏以及設(shè)計(jì)的快速更新迭代,F(xiàn)PGA得以在和傳統(tǒng)處理器的PK中脫穎而出。“FPGA在邊緣側(cè)優(yōu)勢(shì)巨大,尤其是在性能方面?!盨aha(Mentor)說(shuō)道。同時(shí),根據(jù)Synopsys的說(shuō)法,“accumulation”市場(chǎng)也是一個(gè)增長(zhǎng)點(diǎn)——例如數(shù)據(jù)中心和邊緣之間網(wǎng)絡(luò)上的路由和開關(guān)器件?!坝泻芏鄳?yīng)用場(chǎng)景是用戶只是想和‘AI’沾點(diǎn)邊而已,”Dorsey(Intel)說(shuō)道,“三到四成的傳統(tǒng)嵌入式業(yè)務(wù)都在討論如何和AI進(jìn)行結(jié)合。”設(shè)計(jì)模型面臨挑戰(zhàn)硬件編程解決方案既然具有如此多的優(yōu)勢(shì),那么問(wèn)題來(lái)了,“為什么不是所有人都在使用FPGA呢?”回答也很簡(jiǎn)單:FPGA是純硬件。這也是FPGA的“阿克琉斯之踵”。根據(jù)美國(guó)勞動(dòng)統(tǒng)計(jì)局的數(shù)據(jù),全美在2018年5月軟件工程師(包括應(yīng)用編程和系統(tǒng)軟件開發(fā))的數(shù)量大約是硬件工程師的21.5倍。硬件開發(fā)工作專注于低層次的硬件描述語(yǔ)言(HDL,更多的是描述硬件結(jié)構(gòu)而不是描述算法本身),這和軟件開發(fā)的思路完全不同,絕大多數(shù)工程師無(wú)法跨越這兩種開發(fā)理念而做到融會(huì)貫通。FPGA大部分時(shí)候需要硬件設(shè)計(jì),這使得FPGA應(yīng)用工程師的門檻很高。基于硬件設(shè)計(jì)的ML策略往往開發(fā)量巨大,Saha(Intel)曾聽一個(gè)用戶說(shuō)道,“我們知道FPGA的優(yōu)勢(shì),但在得知設(shè)計(jì)需要4-5個(gè)工程師8-10個(gè)月才能完成之后,我們放棄了。..”大多數(shù)FPGA解決方案包括軟件編程引擎——無(wú)論是硬編碼還是IP。這部分灰色區(qū)域造成了FPGA解決方案往往是既包含硬件開發(fā)又包含軟件開發(fā)。對(duì)于ML來(lái)說(shuō)最大的挑戰(zhàn)并不僅僅來(lái)自硬件/軟件在開發(fā)理念上的不同。對(duì)于精通高層次開發(fā)語(yǔ)言的數(shù)據(jù)科學(xué)家來(lái)說(shuō)(他們并非純軟件開發(fā)者,但依然和真正的硬件開發(fā)有些距離),他們依然無(wú)法做到得心應(yīng)手。因此FPGA廠商要做的是在工具中將硬件的部分“抽離”出去,讓數(shù)據(jù)科學(xué)家們得以進(jìn)入FPGA開發(fā)圈。硬件結(jié)構(gòu)對(duì)于ML計(jì)算來(lái)說(shuō)十分重要,其可由硬件工程師來(lái)設(shè)計(jì),但進(jìn)一步優(yōu)化則可以交給軟件工程師來(lái)進(jìn)行。軟件工程師通過(guò)高層次工具例化各類IP,從而避免了大量硬件方面的工作。為了實(shí)現(xiàn)這一目標(biāo),必須考慮兩個(gè)重要因素:設(shè)計(jì)流程和設(shè)計(jì)工具。一些FPGA公司將設(shè)計(jì)流程進(jìn)行了分離,使得硬件設(shè)計(jì)從模型設(shè)計(jì)中解耦出來(lái),這類做法使得FPGA對(duì)于非硬件工程師來(lái)說(shuō)更加友好。FPGA設(shè)計(jì)細(xì)節(jié)一般以碼流的形式下載到器件中,但在ML中,有的公司將整個(gè)模型實(shí)現(xiàn)在碼流中,有的則只用碼流實(shí)現(xiàn)硬件部分,而轉(zhuǎn)用軟件二進(jìn)制文件來(lái)描述ML模型細(xì)節(jié)。
FPGA上實(shí)現(xiàn)的2個(gè)ML簡(jiǎn)單設(shè)計(jì)模型。左邊,設(shè)計(jì)的所有細(xì)節(jié)實(shí)現(xiàn)在一個(gè)碼流中。數(shù)據(jù)科學(xué)家可以在高層次上進(jìn)行設(shè)計(jì),由EDA工具將其轉(zhuǎn)化并交給硬件編譯器。右邊,高層次模型數(shù)據(jù)存在了一個(gè)單獨(dú)的軟件二進(jìn)制文件中,而模型何時(shí)變化的信息則存在硬件碼流之中。設(shè)計(jì)模型包含了已現(xiàn)場(chǎng)部署的FPGA器件中正在運(yùn)行的設(shè)計(jì)修改和更新。第一種情況由于整個(gè)設(shè)計(jì)信息包含在碼流之中,模型的變化仍然將繼續(xù)使用低層次的FPGA硬件工具去創(chuàng)建和更新碼流文件,即使高層次設(shè)計(jì)工具已經(jīng)將設(shè)計(jì)師從硬件設(shè)計(jì)中解放出來(lái)。另一種情況,模型的變化僅僅會(huì)導(dǎo)致軟件二進(jìn)制文件的變化,而軟件二進(jìn)制文件的編譯速度要遠(yuǎn)遠(yuǎn)快于硬件碼流的生成速度,因此底層硬件通常不變,而僅僅是模型參數(shù)發(fā)生變化而已,而軟件和硬件具體如何變化,由架構(gòu)設(shè)計(jì)來(lái)自行決定。高層次綜合(HLS)的出現(xiàn),減輕了硬件設(shè)計(jì)的負(fù)擔(dān),因?yàn)槠淇梢灾苯訉算法轉(zhuǎn)化為硬件設(shè)計(jì)。很多算法都從軟件設(shè)計(jì)開始(通常是C或者C++),將其直接轉(zhuǎn)化為硬件設(shè)計(jì)將極大地節(jié)省設(shè)計(jì)時(shí)間(盡管使用HLS仍然需要一些硬件專業(yè)知識(shí))。目前HLS最大的挑戰(zhàn)來(lái)自于調(diào)試Debug過(guò)程。優(yōu)化推理模型所有的FPGA工具鏈均工作在抽象層級(jí),并和云端的標(biāo)準(zhǔn)模型訓(xùn)練框架相連。在頂層,訓(xùn)練過(guò)程會(huì)對(duì)參數(shù)(或權(quán)重)進(jìn)行定義,并將其放入常用的模型(比如ResNet,MobileNet,或者YOLO)之中。這些參數(shù)可以僅僅是簡(jiǎn)單的數(shù)字并存儲(chǔ)在數(shù)據(jù)文件中。網(wǎng)絡(luò)結(jié)構(gòu)本身則是下一層級(jí)。層級(jí)的精簡(jiǎn)和融合就是在訓(xùn)練網(wǎng)絡(luò)中優(yōu)化的過(guò)程,在一些引擎中,這個(gè)過(guò)程由軟件原語(yǔ)完成,而在另一些引擎中,則會(huì)導(dǎo)致硬件變化。為了能夠進(jìn)行在線升級(jí),修改碼流意味著重置整個(gè)FPGA設(shè)計(jì)。如果更新只是影響到軟件二進(jìn)制文件,則只需要修改這個(gè)文件即可,硬件碼流此時(shí)無(wú)需更換?!澳憧梢愿鶕?jù)不同模型準(zhǔn)備不同的軟件二進(jìn)制文件,”JoeMallett(seniormarketingmanageratSynopsys)說(shuō)道。如果涉及到硬件修改,部分重配(PR)也能幫上你的忙,因?yàn)橥辉O(shè)計(jì)模型用來(lái)建立不同的算法,可以通過(guò)部分重配來(lái)實(shí)現(xiàn)算法間的切換。這項(xiàng)技術(shù)在數(shù)據(jù)中心加速板卡上顯得十分強(qiáng)大,而這類板卡在不同類型的推理和訓(xùn)練中不可或缺。Intel聲稱他們的重配時(shí)間大概需要100ms左右,并且該公司正在致力于將這個(gè)時(shí)間降低到幾十個(gè)毫秒,從而實(shí)現(xiàn)FPGA加速卡的快速再部署。不同F(xiàn)PGA廠商的策略就在眾多start-up公司廣泛地在ML領(lǐng)域展開探索的同時(shí),F(xiàn)PGA廠商也在嘗試各種不同的方法,以至于他們的FPGA做的“越來(lái)越不像”FPGA了。現(xiàn)代的FPGA大都同時(shí)提供硬件編程性以及軟件編程性(嵌入式處理器核心作為硬核直接在FPGA中工作)。這造就了不同F(xiàn)PGA廠商有著自己的實(shí)現(xiàn)策略。目前最大的兩個(gè)FPGA玩家—Xilinx以及Intel有著截然不同的發(fā)展思路。Intel通過(guò)寬廣的產(chǎn)品線來(lái)實(shí)現(xiàn)戰(zhàn)略,F(xiàn)PGA只是其中一個(gè)拼圖。Intel同時(shí)擁有Xeon處理器,該處理器是數(shù)據(jù)中心上絕對(duì)暴力的存在,并且Intel還在不斷完善其現(xiàn)有解決方案。Intel的FPGA還只由傳統(tǒng)資源組成,截止到目前,還沒(méi)有看到ML專用處理資源模塊的出現(xiàn)。內(nèi)存獲取是ML正在面臨的一大挑戰(zhàn),對(duì)于FPGA解決方案來(lái)說(shuō)也是一樣。Intel的思路則是引入HBM(高帶寬存儲(chǔ))技術(shù)?!拔覀?cè)贔PGA中加入了許多HBM,并將其放在離邏輯運(yùn)算模塊很近的位置,從而幫助循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(recurrentneuralnetworks)進(jìn)行語(yǔ)音識(shí)別”,Dorsey(Intel)說(shuō)道。目前,HBM和FPGA的2D集成通過(guò)Intel的EMIB(嵌入式片間互連橋)連接器來(lái)實(shí)現(xiàn)。Xilinx則朝向另一個(gè)方向前進(jìn),將ML引擎加入到Versal家族器件中去。該硬模塊讓Xilinx在犧牲一定芯片靈活性為代價(jià)獲得更高的效率。ML引擎由軟件驅(qū)動(dòng),因此不那么依賴硬件設(shè)計(jì)的考慮。Achronix則和Intel一樣采取了同質(zhì)策略,盡管他們聲稱微調(diào)了DSP模塊,使其更加適應(yīng)ML工作。其老版DSP的優(yōu)化方向更傾向于傳統(tǒng)數(shù)字信號(hào)處理,例如濾波器,因此聚焦于18-bit數(shù)據(jù)。ML則傾向于更小的數(shù)據(jù)單元——特別是在邊緣側(cè)——因此,新型DSP的優(yōu)化方向聚焦于80bit整形數(shù)據(jù)。值得注意的是,Achronix同時(shí)提供FPGA成片和可供嵌入到SoC中的eFPGAIP。Lattice則一直專注于低成本,低功耗市場(chǎng),并且在ML應(yīng)用中,Lattice依然保持了他們的特點(diǎn)。他們將一些小功能(例如語(yǔ)音喚醒識(shí)別)加入到邊緣器件中,作為ML處理的初步嘗試。“我們所做的推理工作主要是偵測(cè)(detection),比如識(shí)別關(guān)鍵語(yǔ)句和手勢(shì)?!監(jiān)sman(Lattice)說(shuō)道。Microchip方面,正在推出其全新的VectorBlox工具,用以服務(wù)于其PolarFire系列FPGA。他們的策略則認(rèn)為硬件設(shè)計(jì)工作并不是在FPGA上做ML所必需的。Microchip在FPGA提供可例化的引擎IP,剩下的模型信息則用軟件來(lái)處理并最終生成一個(gè)軟件二進(jìn)制文件——這個(gè)文件通常被稱為BLOB(binarylargeobject),且文件體積很大。使用該BLOB文件,Microchip可以同時(shí)管理多種ML模型。例化多個(gè)引擎可以使得其具有完全并發(fā)的處理方式,除此之外,例化單一引擎仍可以通過(guò)順序或者類并發(fā)的方式控制多個(gè)模型。該引擎可以將模型信息從內(nèi)存中的BLOB中抽離出來(lái)。如果有多個(gè)軟件二進(jìn)制文件,則由指針的指向決定某一時(shí)刻使用哪一個(gè)BLOB中的信息,而這個(gè)被指定的BLOB并不是完全加載進(jìn)來(lái),而是只用到和模型相關(guān)的部分?!扒袚QBLOB就像改變指針位置一樣。當(dāng)某個(gè)MXP(矩陣處理器,matrixprocessor)運(yùn)行時(shí),它BLOB中的layer信息便被抽離出來(lái)。在多個(gè)神經(jīng)網(wǎng)絡(luò)之間切換幾乎可以不耗費(fèi)任何時(shí)間,”JamieFreed(seniorarchitectfortheFPGABusinessUnitatMicrochip)說(shuō)道。這種近似并發(fā)的特性則通過(guò)時(shí)間分片(time-slicing)技術(shù)來(lái)實(shí)現(xiàn)。如果一個(gè)視頻在同一時(shí)間被多個(gè)模型所處理,則這些模型依次運(yùn)行完整的一幀。一旦所有模型都處理了完了這一幀,將切換到下一幀繼續(xù)這個(gè)循環(huán)。FlexLogix則隱藏了自己的FPGA特性。他們將配置在可編程產(chǎn)品內(nèi)部進(jìn)行了固化,這意味著用戶將無(wú)法再將其作為FPGA使用。FlexLogix的路線基本游走在可編程FPGA和ML專用ASIC的邊緣。“我們的產(chǎn)品是混合型ASIC/FPGA,”GeoffTate(FlexLogixCEO)說(shuō)道。用戶直接對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行編程,而不是什么低層級(jí)的東西,包括eFPGA,就像Intel的用戶不會(huì)去寫是什么微代碼或者緩存算法一樣。FlexLogix的模塊圖顯示芯片中嵌入了一個(gè)eFPGA,但只能被用來(lái)部署模型的高層次工具所調(diào)用,設(shè)計(jì)者無(wú)法直接和該eFPGA在底層產(chǎn)生互動(dòng)。對(duì)各個(gè)FPGA廠商的總結(jié)Intel工具可以創(chuàng)建一個(gè)“shell”來(lái)覆蓋FPGA本身的硬件部分以及其所依附的板卡,就像高層次工具使用的板卡支持包(boardsupportpackage)一樣。這些工具可以支持所有Intel支持的各類解決方案,無(wú)論是硬件的還是軟件的。所有改動(dòng)都會(huì)影響最終FPGA碼流,即使改動(dòng)是在高層次上進(jìn)行的。至于軟件層面能修改什么,取決于AI引擎中可供使用的原語(yǔ)。Runtime模型可根據(jù)支持的原語(yǔ)進(jìn)行修
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濟(jì)寧護(hù)理面試真題及答案
- 基礎(chǔ)消防考試試題及答案
- 《工程項(xiàng)目經(jīng)濟(jì)評(píng)估》課件
- 《電纜及測(cè)試》課件
- 《機(jī)場(chǎng)地面服務(wù)禮儀》課件
- 《其它分析方法概述》課件
- 江蘇中考英語(yǔ)復(fù)習(xí)重點(diǎn)單選題100道及答案
- 供應(yīng)鏈質(zhì)量管理與顧客關(guān)系
- 出口商品銷售業(yè)務(wù)的核算
- 移動(dòng)乒乓球賽活動(dòng)策劃方案
- GB/T 32960.3-2025電動(dòng)汽車遠(yuǎn)程服務(wù)與管理系統(tǒng)技術(shù)規(guī)范第3部分:通信協(xié)議及數(shù)據(jù)格式
- 2024年四川省公安廳招聘警務(wù)輔助人員真題
- 2025年電子信息工程師職業(yè)資格考試試卷及答案
- 2025年廣東松山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)
- 甘肅武威事業(yè)單位招聘考試高頻題庫(kù)帶答案2025年
- 機(jī)械制造及非標(biāo)零部件加工項(xiàng)目突發(fā)環(huán)境事件應(yīng)急預(yù)案
- 2025年紹興市九年級(jí)中考語(yǔ)文一模試卷附答案解析
- 9.1科學(xué)立法 課件高中政治統(tǒng)編版必修三政治與法治
- 施工現(xiàn)場(chǎng)臨時(shí)用電安全
- 2025年湖北省鄂州市荊楚聯(lián)盟中考模擬生物試題(一)(含答案)
- 納稅實(shí)務(wù)電子教案
評(píng)論
0/150
提交評(píng)論