計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法

機器之心發表於2018-06-12

機器之心編譯,作者:塗鋒斌、吳薇薇、尹首一、劉雷波、魏少軍,編譯:劉曉坤、思源。

ISCA 是計算機架構領域的頂會,今年的 ISCA 不久之前在洛杉磯落幕。本次大會共收到 378 篇投稿,收錄 64 篇論文,而清華大學的一篇研究論文是今年大會中國唯一被收錄的署名第一完成單位的論文。據瞭解,論文全部作者均為清華大學微納電子系師生,清華大學微納電子系尹首一副教授為本文通訊作者,塗鋒斌為本文第一作者,論文合作者還包括清華大學微納電子系魏少軍教授、劉雷波教授和吳薇薇同學。機器之心對來自清華的這篇論文進行了編譯介紹。

卷積神經網路目前已經廣泛應用於各種任務中,但因為其引數數量與中間儲存的特徵圖資料,它很難部署到一般端應用中。尤其是當輸入影象的解析度增加,網路儲存的中間特徵圖將大大增加,這無疑會增加對計算資源的需求。

目前很多 CNN 加速器 [7-11] 已經在為設計更高能效的 CNN 處理而做一些努力,但是晶片面積小則限制了片上快取大小。一般片上快取大小不超過 500KB,面積開銷為 3 ∼ 16mm^2(歸一化為 65nm)。當這些處理器計算 VGG 和 ResNet 等深度模型時,它們需要額外的片外儲存訪問。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
表 2:SRAM 與 eDRAM 的特點對比(32KB,在 65nm 技術結點中)

嵌入式 DRAM(eDRAM)以其高密度著稱,現代 CNN 加速器一般採用它提供大型的片上記憶體能力 [12-15]。如表 2 所示,eDRAM 的面積成本在 65nm 技術節點中是 SRAM 的 26%(用 Destiny [16] 模擬)。然而,由於 eDRAM 單元將資料儲存為電容上的電荷,因此電荷可能會隨著時間的推移而洩漏並造成資料錯誤。因此,eDRAM 需要定期重新整理以維持資料正確性。重新整理間隔通常等於最弱單元的保留時間([6] 中為 45μs)。我們使用 eDRAM 快取在我們的評估平臺上模擬 ResNet[4],並發現 eDRAM 的重新整理能耗如圖 1 所示在系統總能耗中佔了很大的比重。儘管大型 eDRAM 快取解決了過多的片外存取問題,但重新整理能耗成為了我們不可忽視的新問題。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 1:ResNet 在評估平臺上的能耗細節

我們發現如果 eDRAM 快取中的資料生存時間短於 eDRAM 單元的保留時間,那麼就不需要重新整理。在本論文中,研究者們提出了一種基於保留時間的神經加速(RANA)框架,它通過優化了重新整理的 eDRAM 增強 CNN 加速器的效果,並節省系統總能耗。該框架解決了兩個問題,即導致片上記憶體能力限制的快取儲存問題和由 eDRAM 重新整理產生的資料保留問題。RANA 包含三個級別的優化技術:

  • 訓練階段:提出了一種基於保留期的訓練方法以提升 eDRAM 的容許保留時間,且不會造成準確度損失。訓練時注入位元級的保留誤差,因此能提高網路對保留失敗的容忍度。更高的容錯率可以導致更長的容忍保留時間,所以更多的重新整理就可以去除了。
  • 排程階段:考慮計算能耗、片上快取存取能耗、重新整理能耗和片外記憶體存取能耗來構建系統能耗模型。RANA 排程網路就是基於這一模型的混合計算模式。每一個神經網路層級都會分配有最低能耗的計算模式。
  • 架構階段:RANA 基於儲存資料的壽命獨立地禁用 eDRAM banks 的重新整理,以節省更多的重新整理能耗。研究者們使用了可程式設計的 eDRAM 控制器以允許上述細粒度的重新整理控制。

本論文其餘部分的主題如下,第二節初步介紹了 CNN、CNN 加速器以及 eDRAM。第三節構建了一個能耗分析的評估平臺,並指出優化整個系統能耗的可能方面。第四節提出了 RANA 框架,包括三個級別的優化技術。第五節介紹了 RANA 在評估平臺上的試驗結果,而最後第六節則總結了該論文。

CNN 的卷積層取 NxHxL 的特徵圖作為輸入,並有 M 個 3D 卷積核(NxKxK)。每個卷積核對輸入特徵圖執行卷積運算(步幅為 S),生成 RxC 尺寸的輸出特徵圖。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 2:卷積層圖示

圖 3(a)展示了在很多硬體 CNN 實現中使用的典型 CNN 加速器架構。在 CNN 加速器中,有控制器、權重/輸入/輸出快取以及計算核心。圖 3(b)中展示了一種典型的計算模式,即卷積層運算如何在 CNN 加速器中執行。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 3:CNN 加速器的圖示

嵌入式 DRAM(eDRAM)的密度比 SRAM 高,被用於現代 CNN 加速器中來提供大規模晶片容量 [12-15]。圖 4 展示了 eDRAM 的典型結構。每個 eDRAM 單元由一個存取電晶體和一個儲存電容器構成。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 4:嵌入式 DRAM(eDRAM)的結構

IV. RANA 框架

雖然 eDRAM 的高密度增大了晶片快取容量,當網路規模過大的時候,快取儲存問題仍然可能存在。同時,由 eDRAM 導致的資料保留問題將產生很大的重新整理能耗。在這一部分,研究者提出了基於保留期的神經加速(Retention-Aware Neural Acceleration,RANA)框架,以重新整理優化的 eDRAM 來強化 CNN 加速器,從而節省系統總能耗。圖 6 是整個框架的概覽。RANA 取 CNN 加速器和目標 CNN 模型的引數作為輸入,然後生成 3 階段的工作流。前兩個階段處於編譯階段,用於為加速器生成配置。最後一個階段處於執行階段,其中加速器基於配置以優化的能耗執行。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 6:RANA 框架:優化被引入訓練階段、排程階段和架構階段中
  • 階段 1(訓練):使用一種基於保留期的訓練方法來訓練目標 CNN 模型,以提高其對資料保留失敗的容錯能力。保留失敗通過新增位元級的誤差掩碼而諸如到模型的每個層中。在給定的準確率限制下,該訓練方法獲得了最高的保留失敗容錯率。根據 eDRAM 的保留期分佈,容錯保留期是根據失敗率獲得的,其通常要長於 eDRAM 的典型保留期。
  • 階段 2(排程):該系統能耗模型是基於計算能耗、片上快取存取能耗、重新整理能耗和片外記憶體存取能耗的考慮而建立的。對於每個 CNN 層,RANA 探索不同的計算模式,並基於資料生命期和快取儲存分析估計它們的能耗。RANA 分別分配最低能耗的計算模式到每個層上,最終在整個網路中得到混合型的計算模式。RANA 在這個階段生成層級配置,其中包含容錯保留期、每個層的計算模式以及在下一個階段使用的 eDRAM 重新整理 flag。
  • 階段 3(架構):設計一個重新整理優化的 eDRAM 控制器用於允許對每個快取容器進行獨立的控制,以進一步優化重新整理能耗。在執行階段,重新整理區間被初始化為容錯保留期。加速器一層一層地載入配置。控制邏輯和快取資料對映適應於當前層的計算模式。eDRAM 控制器只對重新整理 flag 為有效的容器優化重新整理,以節省很多不必要的重新整理操作。

本文提出的 RANA 框架可以應用於當前的 CNN 硬體架構,僅需要對記憶體控制邏輯單元進行小量的修改。這些架構的效能損失是可以忽略不計的,因為 RANA 並沒有改變它們的核心計算部分,並且 eDRAM 的重新整理開銷在這個框架中已經被最小化。


V. 實驗結果

圖 15 展示了六種設計在總體系統能耗上的比較。所有的數字都被歸一化為 S+ID 的系統能耗,以方便對比。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 15:系統總能耗

圖 16 中排除了晶片外記憶體存取,因為它受保留期的影響並不顯著。如圖 16 所示,重新整理能量可以通過增加保留期而顯著減少。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 16:加速器在 ResNet 上的能耗對比:eD+ID vs. eD+OD vs. RANA(0),其中保留期(RT)從 45μs 增加到 1440μs
計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 17:VGG 上的層級系統能耗對比:eD+OD vs. RANA(0)

圖 18(a)展示了 RANA(E-5)的不同快取容量的歸一化系統能耗,在四個基準上測量得到。晶片外記憶體存取隨快取容量的增加而減少,因為有更多的資料可以快取在晶片上。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法

圖 18:總體系統能耗:RANA(E-5)vs. RANA*(E5),其中快取容量從 0.364MB 增加到了 11.632MB(1.454MB 的 0.25x~8x)。


研究者將 RANA 框架應用到當前最佳的基於 eDRAM 的 CNN 加速器 DaDianNao[12],以研究 RANA 向其它架構的可擴充套件性,如圖 19 所示。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法
圖 19:DaDianNao 的可擴充套件性分析


論文:RANA: Towards Efficient Neural Acceleration with Refresh-Optimized Embedded DRAM

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法

摘要:卷積神經網路(CNN)規模的持續增長需要越來越大的晶片儲存。在很多 CNN 的加速器中,它們有限的片上儲存容量造成了大量的晶片外儲存的存取並導致了很高的系統能耗。嵌入式 DRAM(eDRAM)擁有高於 SRAM 的密度,可以用於提高晶片快取容量,並減少晶片外存取。然而,eDRAM 需要週期性的重新整理來維持資料保留,這會消耗大量能量。

如果資料在 eDRAM 中的生命期短於在 eDRAM 中的保留期,重新整理是不必要的。基於該原則,我們提出了基於保留期的神經加速框架(RANA),並根據已優化重新整理的 eDRAM 為 CNN 加速器節省系統總能耗。RANA 框架包含三個階段的技術:基於保留期的訓練方法、混合計算模式以及重新整理優化的 eDRAM 控制器。在訓練階段,CNN 的誤差適應性被用於訓練過程以提高 eDRAM 的保留期容錯能力。在排程階段,RANA 為每個 CNN 層分配一種計算模式使其能耗最小。在架構階段,使用一個重新整理優化的 eDRAM 控制器來減少不必要的重新整理操作。我們實現了一個評估平臺來驗證 RANA。由於 RANA 框架的幫助,99.7% 的 eDRAM 重新整理操作都可以被刪除,其對效能的影響是可以忽略不計的。相比較於傳統的基於 SRAM 的 CNN 加速器,經 RANA 強化的基於 eDRAM 的 CNN 加速器在相同的區域成本下可以節省 41.7% 的晶片外記憶體存取以及 66.2% 的系統能耗。

計算機架構頂會ISCA 2018唯一中國論文:清華大學提出AI計算晶片的儲存優化新方法


相關文章