圖像識別和分析對于產(chǎn)品創(chuàng)新至關(guān)重要,但需要高工作負(fù)載,對服務(wù)質(zhì)量要求嚴(yán)格。解決方案如GPU無法滿足低延遲和高性能要求。DLP FPGA是一種可行的選擇,本文將探討如何實(shí)現(xiàn)這種技術(shù)。
圖像識別和分析在各種產(chǎn)品創(chuàng)新中具有重要作用。然而,這些應(yīng)用通常涉及高工作負(fù)載,對服務(wù)質(zhì)量有嚴(yán)格要求。目前的解決方案,如GPU,無法同時兼顧低延遲和高性能要求。
為了在應(yīng)用深度學(xué)習(xí)的同時提供良好的用戶體驗(yàn),可以在FPGA上架構(gòu)一個超低延遲和高性能的DLP(深度學(xué)習(xí)處理器)。
DLP FPGA可以同時支持稀疏卷積和低精度數(shù)據(jù)計算,同時定義了一個定制的ISA(指令集架構(gòu)),以滿足對靈活性和用戶體驗(yàn)的要求。使用Resnet18(稀疏內(nèi)核)的延遲測試結(jié)果顯示,F(xiàn)PGA的延遲只有0.174ms。
在本文中,我們將簡要討論如何通過新的DLP FPGA實(shí)現(xiàn)這樣的結(jié)果。
1 架構(gòu)
新開發(fā)的DLP有4種模塊,根據(jù)其功能進(jìn)行分類:
計算:卷積、批量歸一化、激活和其他計算
數(shù)據(jù)路徑:數(shù)據(jù)存儲、移動和重塑
參數(shù):存儲權(quán)重和其他參數(shù),解碼
指令:指令單元和全局控制

DLP中的Protocal Engine(PE)可以支持:
Int4數(shù)據(jù)類型輸入。
Int32數(shù)據(jù)類型輸出。
Int16量化
這種PE能提供超過90%的效率。此外,DLP的重量加載支持CSR解碼器和數(shù)據(jù)預(yù)取。
2 訓(xùn)練
需要重新訓(xùn)練來開發(fā)一個高精確度的模型。下面有4個主要步驟來獲得稀疏權(quán)重和低精度數(shù)據(jù)特征圖。

我們用一種有效的方法將Resnet18模型訓(xùn)練到稀疏和低精度(1707.09870)。我們方法中的關(guān)鍵部分是離散化。我們專注于壓縮和加速深度模型,其網(wǎng)絡(luò)權(quán)重由非常小的比特數(shù)表示,被稱為極低比特神經(jīng)網(wǎng)絡(luò)。然后我們將這個問題建模為一個離散約束的優(yōu)化問題。
借用乘法交替方向法(ADMM)的思想,我們將連續(xù)參數(shù)與網(wǎng)絡(luò)的離散約束解耦,并將原來的硬問題鑄成幾個子問題。我們建議使用梯度外算法和迭代量化算法來解決這些子問題,與傳統(tǒng)的優(yōu)化方法相比,這些算法會導(dǎo)致更快的收斂。
在圖像識別和物體檢測方面的大量實(shí)驗(yàn)證明,當(dāng)涉及到極低比特的神經(jīng)網(wǎng)絡(luò)時,所提出的算法比最先進(jìn)的方法更有效。
3 ISA/編譯器
如前所述,對于大多數(shù)在線服務(wù)和使用場景,僅有低延遲是不夠的,因?yàn)樗惴P蜁?jīng)常變化。正如我們所知,F(xiàn)PGA的開發(fā)周期非常長;通常需要幾周或幾個月的時間來完成一個定制的設(shè)計。為了解決這一挑戰(zhàn),我們設(shè)計了工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)和編譯器,以減少模型升級的時間,使之僅為幾分鐘。

SW-HW共同開發(fā)平臺由以下項(xiàng)目組成:
編譯器:模型圖分析和指令生成。
API/驅(qū)動:CPU-FPGA DMA圖片重塑,重量壓縮。
ISA控制器:指令解碼、任務(wù)調(diào)度、多線程流水線管理。
4 硬件卡
DLP是在FPGA卡上實(shí)現(xiàn)的,它有PCIe和DDR4內(nèi)存。DLP與該FPGA卡相結(jié)合,可以使在線圖片搜索等應(yīng)用場景更高效用戶體驗(yàn)更好。
5 結(jié)果

使用Resnet18的FPGA測試結(jié)果表明,我們的設(shè)計實(shí)現(xiàn)了超低水平的延遲,同時在低于70W的芯片功率下保持了非常高的性能。

審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
20256瀏覽量
252498 -
FPGA
+關(guān)注
關(guān)注
1660文章
22416瀏覽量
636584 -
圖像識別
+關(guān)注
關(guān)注
9文章
534瀏覽量
40071 -
dlp
+關(guān)注
關(guān)注
6文章
402瀏覽量
63281 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5599瀏覽量
124414
原文標(biāo)題:使用FPGA制作低延時高性能的深度學(xué)習(xí)處理器
文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?
FPGA構(gòu)建高性能DSP
【FPGA干貨分享六】基于FPGA協(xié)處理器的算法加速的實(shí)現(xiàn)
用FPGA 嵌入式處理器實(shí)現(xiàn)高性能浮點(diǎn)元算
【詳解】FPGA:深度學(xué)習(xí)的未來?
采用Sitara處理器PRU-ICSS的高性能脈沖序列輸出 (PTO)
怎么實(shí)現(xiàn)多內(nèi)核處理器開發(fā)趨勢下的高性能視頻系統(tǒng)設(shè)計?
什么是深度學(xué)習(xí)?使用FPGA進(jìn)行深度學(xué)習(xí)的好處?
基于FPGA的1024點(diǎn)高性能FFT處理器的設(shè)計鐘冠文
FPGA是如何實(shí)現(xiàn)30倍速度的云加速的?
通過利用FPGA協(xié)處理器實(shí)現(xiàn)對汽車娛樂系統(tǒng)進(jìn)行優(yōu)化設(shè)計
在FPGA和DSP兩種處理器之間實(shí)現(xiàn)SRIO協(xié)議的方法
中科億海微推出高性能FPGA加速卡系列產(chǎn)品
如何通過DLP FPGA實(shí)現(xiàn)低延時高性能的深度學(xué)習(xí)處理器設(shè)計呢?
評論