精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

清華大學Thinker團隊提出AI計算芯片的存儲方法

責任編輯:zsheng

2018-06-11 22:31:49

摘自:雷鋒網

6 月 2 日至 6 日,第 45 屆國際計算機體系結構大會(International Symposium on Computer Architecture,簡稱 ISCA)在美國洛杉磯召開。國際計算機體系結構大會(ISCA)是計算機體系結構領域的頂級會議。本次大會共收到 378 篇投稿,收錄 64 篇論文。

6 月 2 日至 6 日,第 45 屆國際計算機體系結構大會(International Symposium on Computer Architecture,簡稱 ISCA)在美國洛杉磯召開。國際計算機體系結構大會(ISCA)是計算機體系結構領域的頂級會議。本次大會共收到 378 篇投稿,收錄 64 篇論文。

清華大學微納電子系博士生涂鋒斌在大會上做了題為《RANA:基于刷新優化嵌入式 DRAM 的神經網絡加速框架》(RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAM)的口頭報告。該研究成果大幅提升了人工智能(AI)計算芯片的能量效率。

涂鋒斌的研究論文是今年大會中國唯一被收錄的署名第一完成單位的論文。清華大學微納電子系尹首一副教授為本文通訊作者,涂鋒斌為本文第一作者,論文合作者還包括清華大學微納電子系魏少軍教授、劉雷波教授和吳薇薇同學。

Fengbin Tu, Weiwei Wu, Shouyi Yin, Leibo Liu, Shaojun Wei,「RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAM,」International Symposium on Computer Architecture (ISCA), Los Angeles, USA, 2018.

 

 

清華大學微納電子系博士生涂鋒斌報告現場。

論文詳細信息如下:

1 研究背景

深度神經網絡(DNN)已經被廣泛應用在各種 AI 場景中。為了獲得更高的精度,DNN 的網絡規模也日益增大,導致網絡數據存儲量達幾 MB 甚至幾十 MB。此數據量甚至會隨著輸入圖片的分辨率和批處理規模的增大而增大。然而,傳統的基于 SRAM 的 AI 計算芯片,由于芯片面積的限制,往往只有幾百 KB 的片上存儲容量。因此,在運行當前的 DNN 時,片外存儲訪問難以避免,這會造成巨大的系統能耗開銷。存儲問題是 AI 計算芯片設計中必須解決的一個重要問題。

 

 

當前幾款主流 AI 計算芯片(DianNao、Eyeriss、Envision、Thinker)及其存儲、面積參數。

2 數據生存時間感知的神經網絡加速框架(RANA)

嵌入式 DRAM(簡稱 eDRAM),相比于傳統 SRAM 有更高的存儲密度,可以替代傳統 SRAM 作為片上存儲以減少片外訪問。然而,eDRAM 存儲單元中的電容電荷會隨時間而逐漸丟失,因此需要周期性的刷新操作來維持 eDRAM 的數據正確性。已經有研究證明,刷新能耗是 eDRAM 總能耗的主要來源,而且會占據整體系統能耗的很大比重。因此,使用 eDRAM 帶來的額外刷新能耗開銷不容忽視。本文發現,如果數據在 eDRAM 中的生存時間(Data Lifetime)小于 eDRAM 的數據維持時間(Retention Time),那么系統將不再需要對于此數據的刷新操作。由此可以得到兩個優化方向:減少數據生存時間,和增大數據維持時間。

 

 

嵌入式 DRAM(eDRAM)結構及本文核心觀點。

本文提出一種基于 eDRAM 存儲器的新型加速框架:數據生存時間感知的神經網絡加速框架(RANA)。RANA 框架采用 eDRAM 作為片上存儲器,相比于傳統 SRAM 具有更高的存儲密度,大幅減少片外訪存。同時,RANA 框架采用三個層次的技術:數據生存時間感知的訓練方法,神經網絡分層的混合計算模式和刷新優化的 eDRAM 控制器,分別從訓練、調度和架構三個層面降低 eDRAM 刷新能耗,進而大幅優化整體系統能耗。

 

 

數據生存時間感知的神經網絡加速框架(RANA)。

2.1 訓練層次優化:數據生存時間感知的訓練方法

通常 eDRAM 的刷新周期會設置為最差的存儲單元所對應的數據維持時間,以保證程序執行過程中所有存儲單元的數據都不會出錯。而在一個實際 eDRAM 存儲器中,不同存儲單元的數據維持時間是不同的。下圖是一條典型的 eDRAM 數據維持時間分布曲線。橫軸是數據維持時間,縱軸是錯誤率,即低于給定維持時間的存儲單元占所有存儲單元的比例。對于一個 32KB 的 eDRAM 而言,數據維持時間最短的存儲單元通常出現在 45 微秒處,對應的錯誤率大約為 10^(-6) 量級。本文發現,適當增加數據維持時間,并不會顯著地提升錯誤率。

 

 

典型 eDRAM 數據維持時間分布曲線。

本文利用 DNN 的容錯能力來重新訓練網絡使其能承受更高的錯誤率,并獲得更長的「可容忍」的數據維持時間。如下圖所示,本方法在訓練的正向過程中對輸入和權重數據加入一個掩膜(Layer Mask)以引入誤差。這個掩膜會以一定的錯誤率對每個比特注入誤差。經過反復的重訓練,如果最終的精度損失可以接受,那么就認為網絡可以承受當前的錯誤率。本文發現,對于 AlexNet、VGG、GoogLeNet 和 ResNet 四個網絡,錯誤率提高到 10^(-5) 后網絡精度仍沒有損失,此時對應的「可容忍」的數據維持時間提高到了 734 微秒,因此更有機會以更低的頻率刷新甚至消除刷新操作。

 

 

訓練層次優化:數據生存時間感知的訓練方法。

2.2 調度層次優化:神經網絡分層的混合計算模式

下圖所示是三種典型的計算模式,分別用多層循環的形式表示。本文發現,數據生存時間和片上存儲需求與循環順序,特別是最外層循環極為相關。在輸入、輸出和權重這三類數據中,輸出數據的生存時間與另兩種數據類型完全不同。與輸入、權重這種靜態存儲在緩存中的數據不同,輸出數據會在累加的過程中不斷刷新。在每次刷新中,輸出數據會被重新寫入存儲器,對 eDRAM 存儲單元重新充電進而恢復了之前丟失的電荷。這一過程和周期性刷新操作本質上是一樣的。因此,如圖所示,如果把輸出數據作為最外層循環迭代變量,數據生存時間將會非常短。當然,此時必須在片上存下全部的輸出數據以避免片外訪存。

 

 

三種典型的計算模式及其生存時間/緩存需求分析。

本文提出神經網絡分層的混合計算模式,根據芯片參數及 DNN 網絡參數,對網絡的每一層分配一個最優的計算模式。計算模式的探索過程被抽象為一個目標為系統能耗最小化的優化問題。具體調度方法如下圖所示,調度結果會被編譯成分層的配置信息(包括「可容忍」的數據維持時間、每層的計算模式及刷新標志),以用于執行過程的硬件配置。

 

 

調度層次優化:神經網絡分層的混合計算模式。

2.3 架構層次優化:刷新優化的 eDRAM 控制器

在傳統的 eDRAM 控制器中,所有的 eDRAM 分區都以最保守的刷新周期進行刷新。本工作對 eDRAM 控制器稍加改造,加入一個可編程的時鐘分頻器、各 eDRAM 分區獨立的刷新觸發器和刷新標志位。控制器的配置信息來自于前兩個技術的編譯結果,具體將決定每個分區分別存儲什么數據類型、是否需要刷新以及刷新周期。

 

 

架構層次優化:刷新優化的 eDRAM 控制器。

3 實驗結果

下圖為用于驗證 RANA 框架的實驗平臺具體配置:本工作實現了一款 AI 計算芯片來進行 RTL 級別性能功耗分析,以獲得精確的性能參數和訪存行為記錄。

 

 

驗證平臺配置參數及芯片版圖。

實驗結果顯示,RANA 框架可以消除 99.7% 的 eDRAM 刷新能耗開銷,而性能和精度損失可以忽略不計。相比于傳統的采用 SRAM 的 AI 計算芯片,使用 RANA 框架的基于 eDRAM 的計算芯片在面積開銷相同的情況下可以減少 41.7% 的片外訪存和 66.2% 的系統能耗,使 AI 計算系統的能量效率獲得大幅提高。

 

 

RANA 框架系統級能耗分析。

4 總結

清華大學微納電子系 Thinker 團隊近年來基于可重構計算架構設計了 Thinker 系列 AI 計算芯片(Thinker I,Thinker II,Thinker S),受到學術界和工業界的廣泛關注,在 2017 年曾獲得 ISLPED'17 低功耗設計競賽冠軍。Thinker 團隊此次研究成果,從存儲優化和軟硬件協同設計的角度大幅提升了芯片能量效率, 給 AI 計算芯片的架構演進提供了新思路。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 英吉沙县| 铁力市| 治县。| 阜阳市| 松阳县| 古浪县| 浙江省| 安义县| 安阳市| 白玉县| 达日县| 喀什市| 遵义县| 沂源县| 汶上县| 清水河县| 苗栗市| 遂溪县| 陵川县| 古丈县| 怀柔区| 周口市| 巧家县| 左贡县| 玛沁县| 乡宁县| 阿巴嘎旗| 淮北市| 鄂伦春自治旗| 崇文区| 鄂尔多斯市| 驻马店市| 嘉祥县| 灌阳县| 邳州市| 内丘县| 南乐县| 象州县| 通海县| 高碑店市| 南安市|