《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > MEMS|傳感技術(shù) > 業(yè)界動態(tài) > DAC2019論文|挑戰(zhàn)FPGA神經(jīng)網(wǎng)絡(luò)硬件加速器性能極限

DAC2019論文|挑戰(zhàn)FPGA神經(jīng)網(wǎng)絡(luò)硬件加速器性能極限

2019-07-24

  01

  —

  6月2-6日,在美國拉斯維加斯Convention Center召開了一年一度的ACM/IEEE設(shè)計自動化大會“Design Automation Conference (DAC) 2019”,作為計算機體系結(jié)構(gòu)領(lǐng)域的頂級會議之一,每年會吸引上千名學者和上百家公司參會,進行處理器設(shè)計、EDA工具、集成電路設(shè)計、邊緣計算、機器學習等領(lǐng)域的學術(shù)和前沿技術(shù)的交流和展出,DAC已被中國計算機學會CCF列為A類推薦會議。

微信圖片_20190724171018.jpg

  北京交通大學信息科學研究所王東副教授代表其研究小組在本次會議上宣講了題目為《ABM-SpConv一種基于新型稀疏卷積算法的卷積神經(jīng)網(wǎng)絡(luò)FPGA硬件加速方法》(ABM-SpConv: A Novel Approach to FPGA-Based Acceleration of Convolutional Neural Network Inference)的論文,作者分別為:Dong Wang, Ke Xu, Qun Jia, Soheil Ghiasi.

微信圖片_20190724172500.jpg

  圖(1)王東老師在DAC2019大會上宣講論文

  02

  —

  論文簡介

  早期基于FPGA的深度卷積神經(jīng)網(wǎng)絡(luò)推理硬件加速器設(shè)計研究均采用時域卷積(Spatial-Domain Convolution,SDConv)方法,研究方向主要集中在處理器設(shè)計空間探索、存儲器帶寬優(yōu)化、神經(jīng)網(wǎng)絡(luò)模型壓縮編碼等方面。如國內(nèi)北京大學高能效計算中心Jason Cong教授的研究小組最先提出了一種基于roofline 模型進行硬件加速器設(shè)計空間探索的方法[1],定量化地指導硬件加速器吞吐率和存儲器帶寬的設(shè)計和優(yōu)化;該研究還采用了高層次綜合(high-level synthesis, HLS)設(shè)計方法學,進行基于卷積循環(huán)分塊(loop tiling)和變換優(yōu)化方法的硬件加速方法研究。清華大學Yu Wang教授團隊的研究工作[2]進一步指出,深度卷積神經(jīng)網(wǎng)絡(luò)推理運算中,卷積層為計算密集型運算(computational-centric),而全連接層為存儲密集型運算(memory-centric);為了解決全連接層計算性能受到外存帶寬限制的問題,該研究提出了一種基于矩陣奇異值分解(singular value decomposition,SVD)的神經(jīng)網(wǎng)絡(luò)模型壓縮方法來降低網(wǎng)絡(luò)模型傳輸?shù)膸捪?,并設(shè)計了一種可同時加速卷積和全連接層運算的硬件電路結(jié)構(gòu)。

  時域卷積SDConv方法的問題在于,采用該方法設(shè)計的硬件加速器的最高性能受到FPGA片上DSP資源數(shù)量的限制。如圖(2)所示的roofline模型所示,當FPGA片上DSP資源對應(yīng)的乘累加單元(MAC)總數(shù)為Nmac時,處理器的推理運算的最高性能不會超過2×Nmac×Freq,其中Freq為處理器的工作頻率;該理論性能極限被稱為computational roof。目前,基于時域卷積方法的硬件硬件加速器設(shè)計性能已接近理論計算性能極限,單從架構(gòu)設(shè)計方面已經(jīng)無法進一步提升神經(jīng)網(wǎng)絡(luò)硬件加速器的性能。因此,最新的學術(shù)研究開始轉(zhuǎn)向研究基于新型卷積算法的加速器設(shè)計,包括如頻域卷積(Frequency-Domain Convolution,F(xiàn)DConv)和稀疏卷積(Sparse Convolution,SpConv)。這兩種方法都是通過設(shè)計新型的卷積計算方法,在算法層面壓縮卷積運算所需要執(zhí)行的乘累加運算數(shù)目,如減少Rmac倍,則理論上對應(yīng)的硬件加速器性能可提升Rmac倍(通常也稱Rmac為算法加速比)。例如FPGA’18的最新論文[3]設(shè)計了一種高效的頻域卷積算法,與時域卷積算法相比,該方法可以將卷積運算中乘累加運算數(shù)量壓縮3.6倍,從而將理論計算性能極限提升了3.6倍,論文在Stratix-VA7 FPGA上進行了實驗,僅使用256個DSP單元,實現(xiàn)了高達669 GOP/s的卷積神經(jīng)網(wǎng)絡(luò)推理性能。

微信圖片_20190724171033.jpg

  圖(2)深度卷積神經(jīng)網(wǎng)絡(luò)硬件加速器roofline模型

  通過進一步分析深度卷積神經(jīng)網(wǎng)絡(luò)硬件加速器的roofline模型可以發(fā)現(xiàn),現(xiàn)有研究雖然在算法層面開展了不同類型卷積方法的研究,但在硬件架構(gòu)層面,絕大多數(shù)設(shè)計均采用了相類似的計算陣列架構(gòu)——乘累加陣列;所帶來的問題是硬件加速器電路過度依賴片上DSP資源,提升硬件加速器的推理性能的途徑被局限于兩種:(1)使用更大容量FPGA器件,利用更多DSP資源提供算力;(2)進一步壓縮卷積運算中乘累加運算的數(shù)量,提高算法加速比Rmac。第一種方法會增大應(yīng)用實現(xiàn)的成本,第二種方法往往會帶來深度學習算法準確率的下降。

  本論文另辟蹊徑,提出了一種新的稀疏卷積算法,該方法利用權(quán)值共享技術(shù)避免了卷積運算中冗余的乘法運算,在不影響模型精度的前提下壓縮了乘法運算的數(shù)量;同時,還將卷積運算公式進行變形,解耦乘法和加法運算數(shù)據(jù)流,使得乘法和加法運算可分別映射到兩個相互獨立的乘法計算陣列和加法計算陣列上,通過靈活的分配乘法器和加法器的比例關(guān)系,充分利用FPGA片上所有邏輯和DSP資源,為卷積運算提供更多算力;例如上圖所示,本文的方法可突破FPGA片上DSP資源的限制,改變硬件加速器理論計算性能極限(computational roof)為2×Nacc×Freq,與FPGA’18相比,硬件加速器的最高性能可進一步提升1.5倍,突破1TOP/s。論文使用了英特爾公司的FPGA平臺和OpenCL SDK開發(fā)工具。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。