ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable CNN Processor in 28nm FDSOI編程
單位:EAST-MICAS, KU Leuven(魯汶大學)markdown
本文是我以爲本次ISSCC2017 session 14中最好的一篇,給人的啓示有不少,好比一款SOC能夠在很是大的能效範圍內調節;好比DL加速須要多少組成部件以及有幾種數據複用的形式;多種bit位寬的乘法器資源複用,數據IO壓縮;網絡
嵌入式設備中的神經網絡:從雲端到終端的計算載體轉移,對能效的要求提升。1-10TOPS/W的CNN計算能效是對始終在線的(Always-On)嵌入式設備運行NN的重要保證。不一樣計算壓力下,計算量不一樣,所以能耗節省空間大[1]。session
高精度調整乘法器電壓+頻率:DVAS->DVAFS。基於JSSC201六、VLSI2016的DVAS工做基礎,對乘法器進行優化設計,增長實現頻率的調整。DVAFS實現了對運行時全部可調整參數的下降:激活a,頻率f,電壓v。經過採用高位x高位、低位x低位,能夠在16b陣列上同時計算兩個8b乘法,對於後續的不一樣精度計算吞吐提高和資源利用提升起到極大的做用。架構
重點看一下本篇的架構設計:ide
在ENVISION中,數據重用分爲三類:卷積重用(單一卷積核vs一張圖的多圖層);圖像重用(多個卷積核vs一張圖的單圖層);卷積核重用(單一卷積核vs多張圖像的多圖層)。
性能
整體架構以下:整個架構包含用於ReLU/MacPool/Mac計算的1D-SIMD,專用於MAC計算的2D-SIMD,用於數據和控制的RISC主控、DMA接口、DM、PM模塊等。優化
下面幾張圖分別介紹了卷積重用(單一卷積核vs一張圖的多圖層);圖像重用(多個卷積核vs一張圖的單圖層);卷積核重用(單一卷積核vs多張圖像的多圖層)的方法:spa
上面這些都是很基本的計算trick,可是在一款設計中要所有作到,不少之前的設計並無作好。緣由不少,好比在作多張的時候,若是複用一張的資源就須要2X的資源,可是本文結合了4-8-16複用一套計算單元的方法——就是在低bit的時候,仍是一套資源。架構設計
幾個其餘特色:
關閉sparse的乘法:
芯片性能及能效表現:由上到下分爲1x16b/2x8b/4x4b/30~60% 4×3~4b。能夠看到scale很是大,能效相差可達40x,電壓域爲0.61v~0.85v。性能表如今BBopt下可達10TOPS/W。
總結[1]:
一、面向多層場景的Always-on架構
二、高能效的CNN處理架構:基於2D-SIMD;採用DVAFS技術;面向稀疏計算的檢測及IO級壓縮
三、ENVISION是一款具備0.25~10TOPS/W@76GOPS能效表現的嵌入式CNN處理芯片。
[1] https://reconfigdeeplearning.com/2017/02/09/isscc-2017-session-14-slides14-5/ [2] ENVISION: A 0.26-to-10 TOPS/W Subword-Parallel Dynamic-Voltage-Accuracy-Frequency-Scalable CNN Processor in 28nm FDSOI