999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA 的量化CNN 加速系統設計

2022-03-12 05:56:14杰,趙爍,何虎,鄧
計算機工程 2022年3期
關鍵詞:方法模型設計

鞏 杰,趙 爍,何 虎,鄧 寧

(清華大學微電子學研究所,北京 100084)

0 概述

卷積神經網絡(Convolutional Neural Network,CNN)憑借強大的圖像處理能力,被廣泛應用于圖像識別、目標檢測[1-2]等多個領域,但同時其網絡規模、參數量與計算量不斷增加,如何將CNN 高效地部署至硬件平臺成為當下重要的研究課題。

目前多數CNN 都是在CPU/GPU 平臺以32 位的浮點數形式進行運算,但CPU 在并行計算方面存在缺陷,并不適用于CNN 的計算,GPU 雖然在并行計算方面有巨大優勢,但是高能耗的特點導致其在便攜式移動設備環境下也不適用。現場可編程門陣列(Field Programmable Gate Array,FPGA)不僅能滿足并行計算與低功耗的需求,而且還具有高度的靈活性,可適用于不同場景,因此,FPGA 可為CNN 部署提供有效的解決方案[3]。

在研究CNN 硬件加速方法的過程中,學者們一直力求于低功耗、高能效[4-5]。一種常見的方法是通過壓縮模型來達到減小模型體積和降低硬件資源消耗的目的。目前,使用更低位寬如8 位、16 位的定點數來表示原始的32 位浮點數進行推理計算已經被證明有效且得到廣泛應用[6-8]。將高精度參數替換為低精度參數能有效降低存儲、內存帶寬等硬件資源需求且幾乎不影響模型準確率。在模型壓縮方面,學者們還使用網絡剪枝[9]、模型蒸餾[10]等方法來達到減少模型參數、提高計算效率的目的。另一種常見方法是通過面向CNN 中占比大的計算操作如卷積計算、全連接層計算、激活函數計算等設計專門的硬件進行計算加速[11],主要有面向并行計算、針對數據通路的加速器設計等[12-14]。

針對目前浮點數CNN 模型規模和硬件資源消耗大的問題,本文設計一種通用的CNN 動態定點量化方法及加速系統,并以VGG-16 與ResNet-50 網絡為例部署至FPGA 平臺進行實驗驗證。

1 算法分析

1.1 網絡參數與計算量

CNN 的主要計算有卷積計算、全連接計算、批歸一化(Batch Normalization,BN)、激活函數、池化計算等。本文所選用的VGG-16 網絡包含13 層卷積層與3 層全連接層,ResNet-50 網絡包含49 層卷積層與1 層全連接層。對網絡參數與計算量進行統計分析,由表1 可以看出,本文所選用的2 個網絡參數量都非常大,VGG-16 對一張圖片的推理所需乘加操作達到10G 級,雖然ResNet-50 中的殘差連接一定程度上減少了計算量,但是對于通用處理器來說這樣的規模同樣巨大,因此,必須設計專用加速器。

表1 網絡參數與計算量Table 1 Parameters quantity and calculation quantity of the networks

1.2 網絡運算時間

為使加速器設計更有針對性,對網絡中各層所占用的運行時間進行分析。使用C 語言搭建2 個模型,選用單張3×224×224 像素大小的圖像作為輸入,分別進行前向推理計算并統計運算時間。由表2 可知,在CNN 中,絕大部分的計算操作都是卷積計算以及全連接層的計算,而全連接層實際上可以看作是特殊的卷積操作,本文重點在于對卷積參數做有效量化并結合硬件設計進行加速計算。

表2 網絡各層計算量與運行時間Table 2 Calculation quantity and running time of each layer in the networks

2 網絡量化

2.1 網絡預處理

目前絕大多數的CNN 卷積操作都是按照卷積、BN、ReLU 的順序進行的,引入BN 層的目的是在訓練時加快模型收斂速度以及避免過擬合[15]。BN 的計算公式如式(1)所示:

其中:γ為縮放因子;μ和σ2為當前Batch 的均值和方差;xi為卷積計算結果;ε為防止分母為0 所添加的十分小的正數;β為偏置。由式(1)可以看出,在前向推理計算時,BN 層增加了不必要的參數量,同時還會消耗一定的硬件資源。為了加快計算速度,本文將卷積與BN 層的參數進行融合。卷積計算公式如式(2)所示:

其中:Wconv為卷積核參數;bconv為偏置。同時,將式(1)改寫為式(3)所示形式:

BN 的輸入實際為卷積計算的輸出,因此,將式(2)、式(3)合并,得到卷積和歸一化融合后的式(4):

2.2 量化方法

量化這一方法在神經網絡加速運算的研究領域很常見,目前常用的量化方法主要分為基于碼本的量化與定點量化兩種[16-18]。基于碼本的量化是將張量中的每個值通過縮放因子與零值映射到一個有限集合的某個元素,此集合即為碼本。定點量化是將單精度浮點網絡參數以低位定點數來替代。以VGG-16 為例,其網絡參數與層間結果分布如圖1 所示。

圖1 VGG-16 網絡數據分布Fig.1 Data distribution of VGG-16 network

從圖1 可以看出,VGG-16 網絡中不同層的參數范圍有較大出入,并且層間結果相對于網絡參數來說都過大。因此,本文采用動態定點量化方法,即針對不同結構選擇合適的參數分別對其進行量化以達到最優效果。為了避免量化位寬不夠的情況,通過式(5)的方法尋找合適的整數位:

其中:x為待量化數;lint為整數位長度。由此可以得到小數位長度lfloat=lbw-lint,其中,lbw為量化后位寬。

圖2 為2 個8 位定點數的例子。上半部分的小數位為4,其表示的數為22+21+2-1+2-2+2-4=6.812 5。下半部分的小數位為-1,其表示的數為27+26+24+23+21=218。通過小數位所在位置,能夠有效地將定點數還原至其十進制數值,同時在后續過程中使用定點8 位數替代浮點數運算。

圖2 8 位定點數結構Fig.2 Structure of 8 bit fixed-point

對待量化參數進行量化處理,如式(6)所示:

其中:s為符號位值;x為有效位值。

3 定點量化卷積加速器設計

基于上文提出的動態定點量化方法設計加速器結構,如圖3 所示。加速器主要包含控制器、片上緩存、傳輸單元、計算核4 個部分,其中:控制器通過總線從CPU 獲取數據傳輸、緩存、計算的相關配置信息并分別進行配置,保證整個計算流程穩定、準確;片上緩存暫存來自DDR 的輸入和網絡權重以及計算輸出數據;傳輸單元用于傳輸內存與偏上緩存間的數據;計算核則完成整個加速過程的核心計算。

圖3 加速器計算結構Fig.3 Computing structure of accelerator

3.1 片上緩存與傳輸單元

片上緩存主要分為輸入、輸出和權重的緩存,計算核中同時還有暫存卷積計算中間結果的緩存和暫存定點處理模塊輸入數據的緩存。數據緩存能有效地降低DDR 和加速器的數據傳輸頻率,不但能滿足卷積核參數復用的需求,而且還能降低數據搬運的能耗。

輸入輸出與權重的緩存分別使用2 個不同的傳輸單元控制以提高數據傳輸的并行度,其中權重的數據傳輸采用ping-pong 模式進行,即同時進行DDR 到緩存的數據傳輸和計算核的加速計算,提高了加速效率。

3.2 計算核

計算核是加速器的核心模塊,包含3 個子模塊,分別為MAC 模塊、量化處理模塊(Quantization Process Module,QPM)和激活函數模塊,其結構如圖4 所示。

圖4 計算核結構Fig.4 Structure of computing core

MAC 模塊主要由乘加陣列構成,其作用為將卷積核與對應輸入特征映射的部分乘加結果與其對應通道的部分乘加結果累加,通過提高卷積計算并行度和陣列循環展開計算來提高計算效率。

QPM 為量化處理模塊,主要負責量化運算,具體由移位、加偏置、舍入和截斷4 個部分組成。QPM計算過程如圖5 所示,為了避免溢出,卷積乘加結果以32 位形式暫存,與偏置求和時,因為定點數小數點位置不同,所以需要先進行移位操作使兩者小數位相同,再進行加操作,隨后判斷是否有進位產生,最后移位至小數點位置與輸出小數點位置相同并截斷至8 位位寬,完成一次卷積計算,這樣整個計算流程都是以定點數形式進行,而不需要將定點數反量化為浮點數再進行計算。

圖5 加速器量化計算流程Fig.5 Quantization computing process of accelerator

激活函數運算模塊由控制信號決定進行ReLU、LeakyReLU 和ByPass 中的一種操作。其中:ReLU由選擇器實現,當輸入小于0 時,輸出為0,否則保持不變;LeakyReLU 由選擇器與移位器實現,即輸入小于0 時,將數據右移3 位得到輸出值。

3.3 多核擴展加速器SoC

最終設計的CNN加速器片上系統(System on Chip)結構SoC如圖6所示,主要包含DDR,Zynq系統和可擴展的加速器等模塊,其中,數據通過AXI4-Full總線傳輸,控制信號通過AXI4-Lite總線傳輸。為了提高計算效率,將計算核的數量擴展至4個,SRAM 的大小也相應提高為原來的2倍,總算力相較于單核加速器提升近4倍。

圖6 多核擴展加速器SoC 結構Fig.6 SoC structure of multi-core expansion accelerator

4 實驗結果與分析

使用基于caffe深度學習框架的VGG-16與ResNet-50 預訓練模型,以ImageNet ILSVRC2012 為數據集,單張圖片大小設置為3×224×224 像素進行量化,得到不同位寬下網絡Top-1 準確率,如圖7 所示。

圖7 Top-1 準確率隨量化位寬的變化趨勢Fig.7 Change trend of Top-1 accuracy with quantization bit

從圖7 可以看出,將卷積權重和中間結果量化為8 位,全連接層權重量化為4 位,可以在Top-1 準確率損失較小的情況下實現更大的壓縮率,因此,實驗采用上述量化方案,量化結果見表3。可以看出,2 個網絡的Top-1 準確率損失均在1%以內,VGG-16 和ResNet-50分別壓縮為原來的13.8%和24.8%,表明本文量化方法效果顯著。

表3 量化結果Table 3 Quantization results

提取量化后的模型參數,使用C 語言搭建前向推理計算網絡模型,輸入量化后的ImageNet ILSVRC2012 驗證集。使用Vivado 搭建本實驗的仿真環境并將生成的bitstream 文件導入XilinxZCU102開發板,處理器與加速器的工作頻率分別為100 MHz 和300 MHz。之后在VivadoSDK 中實現網絡,輸入圖像進行預測。

加速器SoC 各資源利用情況如表4 所示。本文加速系統運行VGG-16 的性能與其他加速器的比較如表5 所示。可以看出,在300 MHz 工作頻率下,VGG-16 和ResNet-50 完成單張圖片推理所需時間分別為166.2 ms 與109.6 ms,與其他FPGA 的實現相比,本文系統在峰值性能和能效上均有較大提升,其中峰值性能最高可達614.4 GOPs,提升了4.5 倍,能耗比達113.99 GOPs/W,提升了4.7 倍。

表4 加速器SoC 各資源利用情況Table 4 Utilization of each resource in accelerator SoC

表5 加速性能對比Table 5 Acceleration performance comparison

5 結束語

本文通過對CNN 的參數結構和計算特性進行分析,設計一種通用的動態定點量化與計算加速系統,并對計算核進行4 核擴展以提高加速性能。在ImageNet ILSVRC2012 數據集上進行性能測試,結果表明,量化后網絡的Top-1 準確率損失在1%以內,VGG-16 和ResNet-50 網絡模型分別壓縮至原來的13.8%和24.8%。與其他加速系統相比,本文設計的加速系統峰值性能達614.4 GOPs,最高提升4.5 倍,能耗比達到113.99 GOPs/W,最高提升4.7 倍。后續將優化量化方法,并將計算核擴展至8 核,進一步提升加速系統的整體性能。

猜你喜歡
方法模型設計
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 激情無極限的亚洲一区免费| 精品综合久久久久久97超人该| 国产在线自揄拍揄视频网站| 香蕉在线视频网站| 久久综合五月婷婷| 亚洲综合经典在线一区二区| 国产精品嫩草影院av| 国产网站黄| 一级毛片免费观看久| 日韩国产黄色网站| 试看120秒男女啪啪免费| 亚洲无码37.| 久久精品只有这里有| 欧美成人aⅴ| 黄色国产在线| a在线观看免费| 久久精品娱乐亚洲领先| 中文字幕在线日本| 国产在线拍偷自揄观看视频网站| 国产精品lululu在线观看| 在线国产91| 国产偷国产偷在线高清| 国产精品视频导航| 天天爽免费视频| 亚洲av片在线免费观看| 国产丝袜第一页| 性网站在线观看| 成人伊人色一区二区三区| 国产网友愉拍精品| 精品国产99久久| www.av男人.com| 欧美一区二区精品久久久| 99成人在线观看| 欧美国产综合视频| 国产综合欧美| 日韩在线影院| 精品视频免费在线| 综合色88| 亚洲IV视频免费在线光看| 欧美色香蕉| 亚洲三级色| 久久96热在精品国产高清| 国产99在线| 强奷白丝美女在线观看| 国产一区二区三区日韩精品| 91精品免费高清在线| 国产毛片一区| 在线免费a视频| 午夜精品久久久久久久无码软件| 欧美日韩综合网| 亚洲欧美另类中文字幕| 精品视频第一页| 99精品在线看| 久久国产香蕉| 欧美日韩国产成人高清视频| 一本大道香蕉高清久久| 伊人激情综合网| 欧美a网站| 久久美女精品| 91久久夜色精品国产网站| 欧美视频在线不卡| 久久综合伊人 六十路| 97久久精品人人| 日本人妻丰满熟妇区| 国产农村精品一级毛片视频| 国产免费久久精品44| 香蕉eeww99国产精选播放| 亚洲美女久久| 日本精品αv中文字幕| 欧美在线观看不卡| 伊人AV天堂| 99re热精品视频国产免费| 狠狠v日韩v欧美v| 国产自产视频一区二区三区| 国产精品人莉莉成在线播放| 亚洲无线观看| 中文字幕在线一区二区在线| 高清无码一本到东京热| 国产一级二级三级毛片| 综合亚洲网| 性色一区| 亚洲精品图区|