




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
FPGA幫助改進機器學習的模型訓練過程機器學習(MachineLearning,ML)技術和FPGA的聯系可以體現在下面幾個維度上:1.FPGA幫助改進機器學習的模型訓練過程(FPGA應用)2.機器學習幫助改進FPGA的設計代碼/約束(FPGA應用)3.機器學習幫助改進FPGA軟件(EDA)算法設計(FPGA軟件設計)4.機器學習幫助改良FPGA芯片硬件設計(FPGA硬件設計)本篇先分享從第1個維度出發的一些觀點。FPGA傳統上被用作設計新數字芯片的早期驗證原型已經很久了,但隨著機器學習技術的出現,FPGA體現出了有別于傳統應用更多的特質。在FPGA在其傳統市場因價格昂貴、難于上手而步履維艱時,ML為其打開了一片廣闊的市場。FPGA最大的特點在于其可編程的靈活性,這一點恰好在機器學習這種多變的場景下極為合適。不僅應用時刻在變化,網絡和模型也在訓練的過程中不斷進化,針對這種場景,不同FPGA廠商有著各自不同的應對方案。“GPU、FPGA以及ASIC之間,正在進行一場曠日持久的戰爭”,AnoopSaha(marketdevelopmentmanageratMentor,aSiemensBusiness)說道,“如果FPGA廠商無法提供合適的【工具】,他們將在ML這個市場上毫無機會。”最早的ML應用實現是軟件導向的,并對CPU和GPU產生了巨大影響。但CPU和GPU面臨的挑戰在于其巨大的功耗——即使對于數據中心來說也是這樣。“人們試著用軟件實現創新,但卻無法控制功耗,”PatrickDorsey(generalmanagerandvicepresidentofproductmarketing,FPGAandpowerproductsinIntel’sProgrammableSolutionsGroup)說道。因此,FPGA提供了一套比傳統軟件編程在功耗方面更具吸引力的解決方案。”FPGA由于其并行性特別適合于高性能,低功耗應用,“ShakeelPeera(associatevicepresidentinMicrochip’sFPGAbusinessunit)說道。“我們看到在TOPS/W(每瓦進行多少萬億次操作)性能方面,Intel的FPGA方案已經打敗Nvidia的GPU方案。”Dorsey(Intel)說。FPGA可以提供軟件解決方案無法企及的低延遲和高性能。“ASIC可以達到5TOPS/W,而FPGA也可以達到1-2TOPS/W,”MikeFitton(seniordirectorofstrategyandplanningforAchronix)說道。價格對于成熟產品來說十分重要,但ML應用通常還沒有到形成成熟產品程度,因為模型時刻不停地在飛速迭代,“FPGA雖然對于應用在成熟產品上來說并不合適,”NickNi(directorofproductmarketingforAIandsoftwareatXilinx)說道,“但比如一些監控攝像頭的應用,其識別算法還遠未成熟,FPGA則是最好的選擇。”但也并不是說,在AI應用中,完全不用考慮成本,畢竟總還是有人會關心總持有成本(totalcostofownership,TCO)的。如果說這種絕對靈活的解決方案統治了早期的AI市場,那么接下來便通常會演化成ASSP(application-specificstandardproducts)方案,以提供更佳的性能/功耗比,即使ASSP依然要在二者之間做出艱難的平衡。從數據中心到邊緣計算FPGA在數據中心加速應用中找到了自己的用武之地——作為CPU和GPU的協處理引擎。在數據中心的訓練(training)方面確實如此,而且目前的應用也已擴展到了推理(inference)中。另外,大量的推理工作集中在邊緣側進行—特別是汽車應用。汽車應用大都對成本和功耗非常敏感,但是由于ASSP方案的缺乏以及設計的快速更新迭代,FPGA得以在和傳統處理器的PK中脫穎而出。“FPGA在邊緣側優勢巨大,尤其是在性能方面。”Saha(Mentor)說道。同時,根據Synopsys的說法,“accumulation”市場也是一個增長點——例如數據中心和邊緣之間網絡上的路由和開關器件。“有很多應用場景是用戶只是想和‘AI’沾點邊而已,”Dorsey(Intel)說道,“三到四成的傳統嵌入式業務都在討論如何和AI進行結合。”設計模型面臨挑戰硬件編程解決方案既然具有如此多的優勢,那么問題來了,“為什么不是所有人都在使用FPGA呢?”回答也很簡單:FPGA是純硬件。這也是FPGA的“阿克琉斯之踵”。根據美國勞動統計局的數據,全美在2018年5月軟件工程師(包括應用編程和系統軟件開發)的數量大約是硬件工程師的21.5倍。硬件開發工作專注于低層次的硬件描述語言(HDL,更多的是描述硬件結構而不是描述算法本身),這和軟件開發的思路完全不同,絕大多數工程師無法跨越這兩種開發理念而做到融會貫通。FPGA大部分時候需要硬件設計,這使得FPGA應用工程師的門檻很高。基于硬件設計的ML策略往往開發量巨大,Saha(Intel)曾聽一個用戶說道,“我們知道FPGA的優勢,但在得知設計需要4-5個工程師8-10個月才能完成之后,我們放棄了。..”大多數FPGA解決方案包括軟件編程引擎——無論是硬編碼還是IP。這部分灰色區域造成了FPGA解決方案往往是既包含硬件開發又包含軟件開發。對于ML來說最大的挑戰并不僅僅來自硬件/軟件在開發理念上的不同。對于精通高層次開發語言的數據科學家來說(他們并非純軟件開發者,但依然和真正的硬件開發有些距離),他們依然無法做到得心應手。因此FPGA廠商要做的是在工具中將硬件的部分“抽離”出去,讓數據科學家們得以進入FPGA開發圈。硬件結構對于ML計算來說十分重要,其可由硬件工程師來設計,但進一步優化則可以交給軟件工程師來進行。軟件工程師通過高層次工具例化各類IP,從而避免了大量硬件方面的工作。為了實現這一目標,必須考慮兩個重要因素:設計流程和設計工具。一些FPGA公司將設計流程進行了分離,使得硬件設計從模型設計中解耦出來,這類做法使得FPGA對于非硬件工程師來說更加友好。FPGA設計細節一般以碼流的形式下載到器件中,但在ML中,有的公司將整個模型實現在碼流中,有的則只用碼流實現硬件部分,而轉用軟件二進制文件來描述ML模型細節。
FPGA上實現的2個ML簡單設計模型。左邊,設計的所有細節實現在一個碼流中。數據科學家可以在高層次上進行設計,由EDA工具將其轉化并交給硬件編譯器。右邊,高層次模型數據存在了一個單獨的軟件二進制文件中,而模型何時變化的信息則存在硬件碼流之中。設計模型包含了已現場部署的FPGA器件中正在運行的設計修改和更新。第一種情況由于整個設計信息包含在碼流之中,模型的變化仍然將繼續使用低層次的FPGA硬件工具去創建和更新碼流文件,即使高層次設計工具已經將設計師從硬件設計中解放出來。另一種情況,模型的變化僅僅會導致軟件二進制文件的變化,而軟件二進制文件的編譯速度要遠遠快于硬件碼流的生成速度,因此底層硬件通常不變,而僅僅是模型參數發生變化而已,而軟件和硬件具體如何變化,由架構設計來自行決定。高層次綜合(HLS)的出現,減輕了硬件設計的負擔,因為其可以直接將C算法轉化為硬件設計。很多算法都從軟件設計開始(通常是C或者C++),將其直接轉化為硬件設計將極大地節省設計時間(盡管使用HLS仍然需要一些硬件專業知識)。目前HLS最大的挑戰來自于調試Debug過程。優化推理模型所有的FPGA工具鏈均工作在抽象層級,并和云端的標準模型訓練框架相連。在頂層,訓練過程會對參數(或權重)進行定義,并將其放入常用的模型(比如ResNet,MobileNet,或者YOLO)之中。這些參數可以僅僅是簡單的數字并存儲在數據文件中。網絡結構本身則是下一層級。層級的精簡和融合就是在訓練網絡中優化的過程,在一些引擎中,這個過程由軟件原語完成,而在另一些引擎中,則會導致硬件變化。為了能夠進行在線升級,修改碼流意味著重置整個FPGA設計。如果更新只是影響到軟件二進制文件,則只需要修改這個文件即可,硬件碼流此時無需更換。“你可以根據不同模型準備不同的軟件二進制文件,”JoeMallett(seniormarketingmanageratSynopsys)說道。如果涉及到硬件修改,部分重配(PR)也能幫上你的忙,因為同一設計模型用來建立不同的算法,可以通過部分重配來實現算法間的切換。這項技術在數據中心加速板卡上顯得十分強大,而這類板卡在不同類型的推理和訓練中不可或缺。Intel聲稱他們的重配時間大概需要100ms左右,并且該公司正在致力于將這個時間降低到幾十個毫秒,從而實現FPGA加速卡的快速再部署。不同FPGA廠商的策略就在眾多start-up公司廣泛地在ML領域展開探索的同時,FPGA廠商也在嘗試各種不同的方法,以至于他們的FPGA做的“越來越不像”FPGA了。現代的FPGA大都同時提供硬件編程性以及軟件編程性(嵌入式處理器核心作為硬核直接在FPGA中工作)。這造就了不同FPGA廠商有著自己的實現策略。目前最大的兩個FPGA玩家—Xilinx以及Intel有著截然不同的發展思路。Intel通過寬廣的產品線來實現戰略,FPGA只是其中一個拼圖。Intel同時擁有Xeon處理器,該處理器是數據中心上絕對暴力的存在,并且Intel還在不斷完善其現有解決方案。Intel的FPGA還只由傳統資源組成,截止到目前,還沒有看到ML專用處理資源模塊的出現。內存獲取是ML正在面臨的一大挑戰,對于FPGA解決方案來說也是一樣。Intel的思路則是引入HBM(高帶寬存儲)技術。“我們在FPGA中加入了許多HBM,并將其放在離邏輯運算模塊很近的位置,從而幫助循環神經網絡RNN(recurrentneuralnetworks)進行語音識別”,Dorsey(Intel)說道。目前,HBM和FPGA的2D集成通過Intel的EMIB(嵌入式片間互連橋)連接器來實現。Xilinx則朝向另一個方向前進,將ML引擎加入到Versal家族器件中去。該硬模塊讓Xilinx在犧牲一定芯片靈活性為代價獲得更高的效率。ML引擎由軟件驅動,因此不那么依賴硬件設計的考慮。Achronix則和Intel一樣采取了同質策略,盡管他們聲稱微調了DSP模塊,使其更加適應ML工作。其老版DSP的優化方向更傾向于傳統數字信號處理,例如濾波器,因此聚焦于18-bit數據。ML則傾向于更小的數據單元——特別是在邊緣側——因此,新型DSP的優化方向聚焦于80bit整形數據。值得注意的是,Achronix同時提供FPGA成片和可供嵌入到SoC中的eFPGAIP。Lattice則一直專注于低成本,低功耗市場,并且在ML應用中,Lattice依然保持了他們的特點。他們將一些小功能(例如語音喚醒識別)加入到邊緣器件中,作為ML處理的初步嘗試。“我們所做的推理工作主要是偵測(detection),比如識別關鍵語句和手勢。”Osman(Lattice)說道。Microchip方面,正在推出其全新的VectorBlox工具,用以服務于其PolarFire系列FPGA。他們的策略則認為硬件設計工作并不是在FPGA上做ML所必需的。Microchip在FPGA提供可例化的引擎IP,剩下的模型信息則用軟件來處理并最終生成一個軟件二進制文件——這個文件通常被稱為BLOB(binarylargeobject),且文件體積很大。使用該BLOB文件,Microchip可以同時管理多種ML模型。例化多個引擎可以使得其具有完全并發的處理方式,除此之外,例化單一引擎仍可以通過順序或者類并發的方式控制多個模型。該引擎可以將模型信息從內存中的BLOB中抽離出來。如果有多個軟件二進制文件,則由指針的指向決定某一時刻使用哪一個BLOB中的信息,而這個被指定的BLOB并不是完全加載進來,而是只用到和模型相關的部分。“切換BLOB就像改變指針位置一樣。當某個MXP(矩陣處理器,matrixprocessor)運行時,它BLOB中的layer信息便被抽離出來。在多個神經網絡之間切換幾乎可以不耗費任何時間,”JamieFreed(seniorarchitectfortheFPGABusinessUnitatMicrochip)說道。這種近似并發的特性則通過時間分片(time-slicing)技術來實現。如果一個視頻在同一時間被多個模型所處理,則這些模型依次運行完整的一幀。一旦所有模型都處理了完了這一幀,將切換到下一幀繼續這個循環。FlexLogix則隱藏了自己的FPGA特性。他們將配置在可編程產品內部進行了固化,這意味著用戶將無法再將其作為FPGA使用。FlexLogix的路線基本游走在可編程FPGA和ML專用ASIC的邊緣。“我們的產品是混合型ASIC/FPGA,”GeoffTate(FlexLogixCEO)說道。用戶直接對神經網絡模型進行編程,而不是什么低層級的東西,包括eFPGA,就像Intel的用戶不會去寫是什么微代碼或者緩存算法一樣。FlexLogix的模塊圖顯示芯片中嵌入了一個eFPGA,但只能被用來部署模型的高層次工具所調用,設計者無法直接和該eFPGA在底層產生互動。對各個FPGA廠商的總結Intel工具可以創建一個“shell”來覆蓋FPGA本身的硬件部分以及其所依附的板卡,就像高層次工具使用的板卡支持包(boardsupportpackage)一樣。這些工具可以支持所有Intel支持的各類解決方案,無論是硬件的還是軟件的。所有改動都會影響最終FPGA碼流,即使改動是在高層次上進行的。至于軟件層面能修改什么,取決于AI引擎中可供使用的原語。Runtime模型可根據支持的原語進行修
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學英語課堂流動攤販英語口語交際能力培養策略論文
- 高中數學建模競賽中的數學建模問題發現與解決研究論文
- 蕪湖分公司管理制度
- 蘋果店規章管理制度
- 蛋白粉與免疫力提升
- 課標專用5年高考3年模擬A版2024高考物理專題十一電磁感應試題
- 教學目標知識與能力1培養觀察日常生活中的景物事物的
- 山東省濟寧市鄒城市第一中學2024-2025學年高一下學期5月月考地理試卷(含答案)
- 江蘇省南通市2024-2025學年八年級下學期數學期末考試模擬試卷(含答案)
- 設計與共享經濟
- 中國傳統禮儀全課件
- 自然保護地勘界立標技術指引
- 《論文寫作》課件 第1章 論文寫作的基本概念
- 廣東省省級政務信息化服務預算編制標準(運維服務分冊)
- 心肺復蘇課件2024
- 2025年1月福建省普通高中學業水平合格性考試語文仿真模擬卷02(春季高考適用)(考試版)
- PMCAD(V31)用戶手冊標準版
- 《粉塵分散度和游離》課件
- 物業管理會務服務方案
- GB/T 35601-2024綠色產品評價人造板和木質地板
- 新就業形態勞動者的風險識別及治理機制研究
評論
0/150
提交評論