《電子技術(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”,作為計算機(jī)體系結(jié)構(gòu)領(lǐng)域的頂級會議之一,每年會吸引上千名學(xué)者和上百家公司參會,進(jìn)行處理器設(shè)計、EDA工具、集成電路設(shè)計、邊緣計算、機(jī)器學(xué)習(xí)等領(lǐng)域的學(xué)術(shù)和前沿技術(shù)的交流和展出,DAC已被中國計算機(jī)學(xué)會CCF列為A類推薦會議。

微信圖片_20190724171018.jpg

  北京交通大學(xué)信息科學(xué)研究所王東副教授代表其研究小組在本次會議上宣講了題目為《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)北京大學(xué)高能效計算中心Jason Cong教授的研究小組最先提出了一種基于roofline 模型進(jìn)行硬件加速器設(shè)計空間探索的方法[1],定量化地指導(dǎo)硬件加速器吞吐率和存儲器帶寬的設(shè)計和優(yōu)化;該研究還采用了高層次綜合(high-level synthesis, HLS)設(shè)計方法學(xué),進(jìn)行基于卷積循環(huán)分塊(loop tiling)和變換優(yōu)化方法的硬件加速方法研究。清華大學(xué)Yu Wang教授團(tuán)隊的研究工作[2]進(jìn)一步指出,深度卷積神經(jīng)網(wǎng)絡(luò)推理運(yùn)算中,卷積層為計算密集型運(yùn)算(computational-centric),而全連接層為存儲密集型運(yùn)算(memory-centric);為了解決全連接層計算性能受到外存帶寬限制的問題,該研究提出了一種基于矩陣奇異值分解(singular value decomposition,SVD)的神經(jīng)網(wǎng)絡(luò)模型壓縮方法來降低網(wǎng)絡(luò)模型傳輸?shù)膸捪?,并設(shè)計了一種可同時加速卷積和全連接層運(yùn)算的硬件電路結(jié)構(gòu)。

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

微信圖片_20190724171033.jpg

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

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

  本論文另辟蹊徑,提出了一種新的稀疏卷積算法,該方法利用權(quán)值共享技術(shù)避免了卷積運(yùn)算中冗余的乘法運(yùn)算,在不影響模型精度的前提下壓縮了乘法運(yùn)算的數(shù)量;同時,還將卷積運(yùn)算公式進(jìn)行變形,解耦乘法和加法運(yùn)算數(shù)據(jù)流,使得乘法和加法運(yùn)算可分別映射到兩個相互獨(dú)立的乘法計算陣列和加法計算陣列上,通過靈活的分配乘法器和加法器的比例關(guān)系,充分利用FPGA片上所有邏輯和DSP資源,為卷積運(yùn)算提供更多算力;例如上圖所示,本文的方法可突破FPGA片上DSP資源的限制,改變硬件加速器理論計算性能極限(computational roof)為2×Nacc×Freq,與FPGA’18相比,硬件加速器的最高性能可進(jìn)一步提升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)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。