如何使用 FPGA 實現(xiàn)深度學(xué)習(xí)_第1頁
如何使用 FPGA 實現(xiàn)深度學(xué)習(xí)_第2頁
如何使用 FPGA 實現(xiàn)深度學(xué)習(xí)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

如何使用FPGA實現(xiàn)深度學(xué)習(xí)這是新的系列教程,在本教程中,我們將介紹使用FPGA實現(xiàn)深度學(xué)習(xí)的技術(shù),深度學(xué)習(xí)是近年來人工智能領(lǐng)域的熱門話題。在本教程中,旨在加深對深度學(xué)習(xí)和FPGA的理解。用C/C++編寫深度學(xué)習(xí)推理代碼高級綜合(HLS)將C/C++代碼轉(zhuǎn)換為硬件描述語言FPGA運(yùn)行驗證在之前的文章中,我們已經(jīng)依次抽取了推理核的任務(wù)并行度和循環(huán)并行度和數(shù)據(jù)并行性。在本文中,我們將繼續(xù)優(yōu)化。最終版本包括全連接層的循環(huán)數(shù)據(jù)并行化在上篇文章中《從FPGA說起的深度學(xué)習(xí)(八)-數(shù)據(jù)并行性》,全連接層是一個瓶頸,所以我們實現(xiàn)了一個優(yōu)化了全連接層的版本。我不會在此處粘貼代碼,因此請查看代碼存儲庫中的linear.h(文末)。全連接層是向量和矩陣的乘積,因此與卷積層不同,它不能在兩個通道上并行化,但基本上可以使用與卷積層相同的過程進(jìn)行優(yōu)化。如第6篇文章所示,當(dāng)任務(wù)之間的處理時間一致時,任務(wù)并行性最有效。下表顯示了最終版本的并行化程度和執(zhí)行周期數(shù),它是根據(jù)這個目標(biāo)進(jìn)行參數(shù)調(diào)整的conv1,conv2,fc1,fc2。本來,處理fc2一直很低,但現(xiàn)在其他內(nèi)核基本平衡了。層并行度(輸出通道)平行度(x方向)執(zhí)行周期數(shù)執(zhí)行時間(us)conv1441274142.466conv2481293743.119fc14–1272143.399fc21–3831.277

各層的并行度和處理性能整體加速結(jié)果從第8篇到第3篇,我們將任務(wù)并行化、循環(huán)并行化、數(shù)據(jù)并行化應(yīng)用于推理內(nèi)核。下表總結(jié)了這些方法的優(yōu)化結(jié)果。名稱執(zhí)行時間(毫秒/圖像)比以前的實施提速相對于基線的改進(jìn)百分比基線20.811.001.00任務(wù)并行化12.651.651.65通過本地緩沖區(qū)減少外部存儲器訪問1.617.8612.93循環(huán)并行化(僅限卷積層)0.612.6434.11數(shù)據(jù)并行化4×4(僅卷積層)0.3361.8161.93最終版本0.04986.75417.87另外,雖然在之前的文章中沒有涉及到,但每個優(yōu)化結(jié)果的資源使用情況如下:名稱BRAM_18KDSP48EFFLUT基線49201359215600任務(wù)并行化61201378515955通過本地緩沖區(qū)減少外部存儲器訪問84211380016967循環(huán)并行化(僅限卷積層)84211536318653數(shù)據(jù)并行化4×4(僅卷積層)86432233527020最終版本90+633276433674首先,看執(zhí)行性能,這些調(diào)優(yōu)最終使其比基線快417.87倍。兩個特別有效的是使用本地緩沖區(qū)減少外部內(nèi)存訪問和最終版本(加速完全連接的層+層之間的平衡)。這兩者中,前者需要大量增加RAM資源,后者需要增加運(yùn)算單元資源(DSP、LUT)。另外,雖然我們已經(jīng)實現(xiàn)了400多倍的性能提升,但即使是資源增量方面增速最高的DSP,也只是63/20=3.15翻了一番。特別是任務(wù)并行化和循環(huán)并行化是非常有利的結(jié)果,因為幾乎不增加資源就可以提高性能。即使使用當(dāng)前內(nèi)核,F(xiàn)PGA內(nèi)部仍有大量資源,因此可以應(yīng)用進(jìn)一步的優(yōu)化。可以像這次一樣進(jìn)一步提取內(nèi)核內(nèi)部的數(shù)據(jù)并行性,也可以復(fù)制內(nèi)核本身,取幀間的并行性。特別是,如果只使用前者,在綜合時很難滿足時序限制,所以我認(rèn)為有時不得不采用后者的方法??偨Y(jié)本次針對的MNIST數(shù)據(jù)集是一個非常小的數(shù)據(jù)集,圖像大小為28×28。此外,該模型是一個非常輕量級的網(wǎng)絡(luò)模型。如果將這些做成更真實的數(shù)據(jù)模型,計算規(guī)模會發(fā)生如下變化。分辨率:28×28->幾百到幾千的寬高網(wǎng)絡(luò)規(guī)模:2層(卷積層轉(zhuǎn)換)->幾十到幾百粗略計算一個真實模型所需的計算量,大約是本次創(chuàng)建的網(wǎng)絡(luò)模型量的1000到100萬倍。如果這個是1000倍左右的話,即使以現(xiàn)在配置的運(yùn)算單元數(shù)也能處理幾十毫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論