Deep-Learning Processor:Eyeriss

01 前言

 

人工智能領域中,由於深度學習的技術(Deep Learning)在圖像識別,語音識別,自動駕駛等應用取得了非常不錯的效果。深度學習中,例如:卷積神經網絡(CNN),深度網絡(DNN),遞歸神經網絡(RNN),它們具有參數量多,計算量大,並行度高的特徵。

 

傳統採用GPU,CPU的處理方式並不適用於該計算特徵,故設計一種面向深度學習領域的專用處理器(Deep-Learning Processor)是非常必要的。本文從JSSC 2016 :Eyeriss 一篇論文談起。

 

02 基本知識

卷積神經網絡的計算方式如下圖所示:卷積核與輸入特徵圖先進行點乘,然後部分和的累加操作。


Filters:代表卷積核,權值;Input Images:代表輸入的特徵圖;Output Images:代表輸出特徵圖;卷積核。

 

 

3D 的卷積操作如下圖所示:

卷積運算的計算特徵:高並行度大量的數據複用。

 

高並行度:多個卷積核Filter可以和多個輸入特徵圖Image同時運算

大量的數據複用體現在:卷積操作的複用,一個卷積核Filter在一張特徵圖Image中與多個像素點進行運算;輸入特徵圖的複用,一張特徵圖Image要與多個輸入的卷積核Filter進行運算;卷積覈覆用,一個卷積核Filter要與多張輸入的特徵圖Image進行運算。

 

 

03 電路架構

 

左圖是針對該卷積網絡計算特徵的傳統架構,SIMD(Single Instruction Multiple Data):單指令多數據流處理模式。

 

右圖是新的空間架構設計,數據流驅動的處理模式,主要包括:計算和存儲兩部分。

 

該架構的特徵就是:靈活的配置,高效的數據複用,網絡的數據映射。

 

04 DCNN加速器架構

 

DCNN 加速器的架構:片上SRAM緩存:108KB;PE Array:14x12=168 PEs。

 

 

主要從減小數據搬運充分利用數據的特徵兩個角度優化架構設計,提高DCNN加速器的能效。

 

05 減小數據搬運

 

下圖中可以看出:數據從不同位置搬運的功耗大小不同,Energy:DRAM  > Buffer > PE > RF(reg file寄存器),所以要最大化的通過數據複用來減小數據從存儲搬運的功耗。

 

卷積運算當中的數據複用形式:最大化的複用卷積核和輸入特徵圖的數據

 

 

NOC(network on chip):採用 point to point(單播)、multicast(組播)技術,相對於採用(broadcast)廣播的形式,能節省超過百分之八十的NOC能量。

PE Array中的數據分發形式:

 

06 充分利用數據特徵

 

從下圖中可以看出,在卷積核和特徵圖中,存在大量的“zero”數據,故採用數據的壓縮處理,能有效降低數據總帶寬,降低功耗。

 

 

採用的解決方式:數據通路添加運行長度壓縮器:RLC,是“zero”的地方,存儲“zero”個數,非“zero”的地方存儲響應數值。

 

採用“skipping zero”跳過計算和存儲讀,有效降低功耗。

 

 

07 實驗結果

基於TSMC 65LP 工藝,片上緩存108KB;峯值算力:33.6-84GOPS;16-bit Fxied-Point運算;支持卷積核尺寸,通道數,個數,步長的可配置性。

 

 

基於ALexNet網絡的性能測試,平均功耗278 mW,延時115.3 ms。

 

08 點評

 

1:文中採用了按行處理,僅對輸入特徵圖和卷積核進行了複用計算。

2:僅對特徵圖採用了“skip zero”,按分析:權值也存在大量“zero”的情況。

3:只測試了一種典型網絡AlexNet的加速測試情況,其他網絡的性能如何,例如:PE 資源的使用率等情況。

 

Citation:

Chen Y H, Krishna T, Emer J S, et al. Eyeriss: An energy-efficient reconfigurable accelerator for deep convolutional neural networks[J]. IEEE journal of solid-state circuits, 2016, 52(1): 127-138.

 

點擊一下在看吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章