<center id="kb5dl"></center>

<optgroup id="kb5dl"><del id="kb5dl"></del></optgroup><optgroup id="kb5dl"><tt id="kb5dl"><video id="kb5dl"></video></tt></optgroup>

      <i id="kb5dl"><option id="kb5dl"><listing id="kb5dl"></listing></option></i>

        <optgroup id="kb5dl"><del id="kb5dl"></del></optgroup>

        北京交通大學王東副教授課題組論文挑戰FPGA神經網絡硬件加速器性能極限
        2019-07-03 瀏覽量:1825

        6月2-6日,在美國拉斯維加斯Convention Center召開了一年一度的ACM/IEEE設計自動化大會“Design Automation Conference (DAC) 2019”,作為計算機體系結構領域的頂級會議之一,每年會吸引上千名學者和上百家公司參會,進行處理器設計、EDA工具、集成電路設計、邊緣計算、機器學習等領域的學術和前沿技術的交流和展出,DAC已被中國計算機學會CCF列為A類推薦會議。 
            北京交通大學信息科學研究所王東副教授代表其研究小組在本次會議上宣講了題目為《ABM-SpConv一種基于新型稀疏卷積算法的卷積神經網絡FPGA硬件加速方法》(ABM-SpConv: A Novel Approach to FPGA-Based Acceleration of Convolutional Neural Network Inference)的論文。 

                                          

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

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

                              

                                                                圖(2)深度卷積神經網絡硬件加速器roofline模型

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

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

        論文相關研究成果已申請多項國家發明專利,可聯系王東副教授團隊獲取相關信息wangdong@bjtu.edu.cn.

        [參考文獻]

        [1] C. Zhang et al, Optimizing FPGA-based accelerator design for deep convolutional neural networks, FPGA 2015.

        [2] J. Qiu et al., Going deeper with embedded FPGA platform for convolutional neural network, FPGA 2016.

        [3] H. Zeng et al., A Framework for Generating High Throughput CNN Implementations on FPGAs, FPGA 2018.

        院內鏈接: 高速鐵路網絡管理研究中心 交通數據分析與挖掘實驗室 信息安全系 信息科學研究所 計算機實驗教學中心 基礎教學基地 網絡科學與智能系統研究所 信息通信網絡研究所

        北京交通大學計算機與信息技術學院

        地址:北京市海淀區上園村3號北京交通大學第九教學樓 郵編:100044

        BJTUICP備 13022701 @ 2015-2019 北京交通大學 計算機與信息技術學院 All Rights Reserved

        哪里可以玩秒速赛车