<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    IEEE TPDS'22:基于ReRAM的數模混合異構卷積神經網絡訓練加速器——內存計算系統系列成果之十一

    VSole2022-07-25 08:37:50

    卷積神經網絡(CNN)訓練過程可以分為前向和后向兩個階段,CNN訓練在后向傳播階段通常需要高精度的計算,但當前廣泛使用的基于模擬計算的存內處理(PIM)加速器由于精度受限難以滿足要求。論文提出了基于ReRAM的異構加速器ReHy,結合數字計算和模擬計算模塊來加速CNN訓練的不同階段:在前向階段利用基于模擬計算的存內處理模塊(APIM)實現高性能,在后向階段利用基于數字計算的存內處理(DPIM)保證高精度。我們在DPIM中設計了浮點加法和乘法運算邏輯來實現32位的高精度矩陣乘法運算,保證了后向階段的計算準確率。在計算過程中,對DPIM陣列中處理單元的刷新和重用,使資源利用率提高了54%。同時,我們還提出一個性能模型,用于評估在CNN訓練的后向階段執行高精度矩陣乘法時從DPIM獲得的收益,從而使得ReHy可根據數據并行度卸載由 DPIM 加速的矩陣乘法。基于七個典型的CNN模型進行實驗評估,ReHy實現了與全精度計算平臺(CPU/GPU)相似的準確率和收斂速度,但與CPU/GPU和FloatPIM相比,ReHy可以將CNN訓練速度提高48.8倍和2.4倍,并將能耗降低35.1倍和2.33倍。

    該成果“ReHy: A ReRAM-based Digital/Analog Hybrid PIM Architecture for Accelerating CNN Training”發表在CCF A類期刊IEEE Transactions on Parallel and Distributed Systems(IEEE TPDS)2022上。IEEE TPDS主要關注并行分布計算算法、并行分布計算應用、并行分布計算結構和并行分布計算軟件等領域最新的研究進展和技術,該期刊的影響因子為3.757。

    摘要

    存內處理 (PIM) 已成為一種用于加速卷積神經網絡 (CNN) 應用的高性能和高能效計算范式。電阻隨機存取存儲器 (ReRAM) 已廣泛用于PIM架構,因為它具有極高的效率,可通過模擬計算以陣列級并行度加速矩陣向量乘法。然而,由于CNN訓練通常需要在后向傳播(BP)階段進行高精度計算,模擬PIM加速器的有限精度阻礙了它們在CNN訓練中的應用。為此,我們提出了ReHy,一種數模混合的PIM加速器以支持 ReRAM 陣列中的CNN訓練。ReHy由模擬PIM (APIM)和數字PIM (DPIM)模塊組成。ReHy使用APIM加速前向傳播 (FP) 階段以獲得高性能,并使用DPIM處理BP階段以獲得高精度。我們利用ReRAM的布爾邏輯運算能力來設計DPIM架構,設計浮點加法和乘法運算邏輯以支持ReRAM 陣列中的高精度矩陣乘法。我們的設計能夠在DPIM中以很高的精度處理單精度(32 位)或雙精度浮點數。此外,我們還設計了一種ReRAM重用機制,從而將資源利用率提高54%,而性能開銷可以忽略不計。我們提出了一個性能模型來估計在CNN訓練的BP階段執行高精度矩陣乘法時從DPIM獲得的收益,從而可以根據數據并行度把矩陣乘法卸載到DPIM加速模塊執行。

    背景與動機

    圖1 神經網絡訓練過程

    CNN訓練經常使用隨機梯度下降 (SGD) 算法來確定權重參數。訓練過程可以分為兩個階段:FP和BP階段,如圖1所示。在FP階段,對訓練數據進行批量分類和檢測,以檢查神經網絡的質量。在FP計算過程中,對上一層的結果進行加權計算,并對結果應用一個激活函數,例如ReLU。在BP階段,反向計算輸出激活誤差和權重梯度。訓練過程評估CNN輸出層的損失函數,然后計算前一層的權重梯度,期間需要不斷更新網絡的權重以減少CNN輸出的誤差。

    圖2 APIM中的陣列結構

    ReRAM是一種典型的非易失性存儲器,已被廣泛用于設計模擬PIM (APIM) 加速器。數據以電阻狀態保存在ReRAM陣列中。如圖2(a)所示,流出位線(BL)的總電流(I)是流過陣列中連接到位線的所有 ReRAM 單元的電流總和。每個子電流代表電壓和電導的乘積,那么總電流I可以表示為兩個向量(V1,V2)和(G1,G2)的點積。如圖2(b)所示,ReRAM可以有效地在模擬域中執行矩陣向量乘法(MVM)。權重矩陣首先映射到ReRAM陣列,權重的值對應于ReRAM單元的電導。在MVM計算過程中,輸入向量作為電壓施加到字線上,部分和的結果在位線中生成。然后,每個位線中的部分和結果通過ADC轉換為數字值,并由移位器和加法器 (S&A) 生成最終結果。APIM加速器可以提供高性能和高能效,但由于計算精度有限,它們不能保證CNN訓練的收斂性。因此,梯度計算只能由高精度計算設備執行,例如CPU和GPGPU。在“GPU+APIM”架構中,雖然可以利用APIM來加速FP階段,但BP階段處理的數據仍然需要在不同的迭代中從APIM傳輸到GPU,導致極高的通信成本,這阻礙了APIM加速器在CNN訓練中的應用。

    圖3 DPIM中的陣列結構

    DPIM不同于依賴于數模和模數轉換的APIM的計算范式。它可以原位直接執行 “或非”運算,無需任何讀出放大器。圖3(a)顯示了并行電路在DPIM中的映射。憶阻器低阻態和高阻態分別對應1和0值。首先,輸出憶阻器應初始化為低阻態(1)。根據基爾霍夫定律,在并聯電路中,所有輸入憶阻器的總電阻變得低于每個憶阻器的電阻。因此,如果一個輸入憶阻器處于低阻狀態(1),則通過輸出憶阻器的電流增加,使得輸出憶阻器的狀態從1變為0,可以利用這一物理特性來實現NOR操作。NOR可以在DPIM陣列內并行執行,如圖3(b)所示。行中的輸出憶阻器應初始化為1,對代表不同操作數的憶阻器施加固定電壓VG,既不是輸入操作數也不是輸出結果的單元需要通過電壓VISO進行隔離。執行NOR運算的多個操作數應與輸出單元放在同一列(或同一行),以便在ReRAM陣列中實現列(或行)并行處理。

    設計與實現

    我們利用APIM加速FP階段,并使用DPIM處理BP階段,以保證高精度的同時實現高效率。我們提供了一個基于數據并行度的性能模型,以衡量將矩陣乘法操作卸載到DPIM的收益。為了支持DPIM中的更多操作,我們設計了基于NOR的一位減法運算符來支持具有不同符號位的浮點加法。為了獲得更高的行移位并行度,我們設置了移位索引,并行處理具有相同索引的行。由于定點乘法的結果只保留最低有效N位,因此不適用于十進制乘法。因此,我們重新設計了基于NOR運算的定點乘法運算,結果保留了最高有效N位。我們還建議在DPIM陣列中進行多次刷新操作,以減少處理單元的面積。

    圖4 DPIM中的矩陣乘法映射

    DPIM中矩陣乘法映射策略:在DPIM中,我們將需要參與運算的操作數放在同一行實現行并行。圖4舉例說明了兩個2×2矩陣的乘法。Matrix-1的行和 Matrix-2的列映射在同一行中,以并行執行點積。處理單元(PU)首先執行向量的點積,然后將中間結果存儲在IMn中。最后,我們累加中間結果,并將最終結果存儲在列Rn中。假設兩個矩陣的大小分別為M×K和K×N,則DPIM數組中映射了M×N行,即并行度為M×N。因此,總共需要執行K次乘法和K-1次加法。在上面的例子中,兩個2×2矩陣的乘法只需要依次執行2次乘法和1次加法。

    圖5 浮點數運算符設計

    浮點加法設計:浮點加法可以分為三個主要步驟:(i)對齊指數位,(ii)根據符號位進行尾數加減法,(iii)結果標準化。我們詳細介紹了不同符號位的浮點加法的設計。兩個不同符號的浮點數之間的加法運算本質上是減法運算。為了支持這樣的運算,我們設計了基于NOR的一位減法運算,它需要13次NOR運算。圖5(b)舉例說明了浮點加法的過程。假設Ne代表指數位,Nm代表尾數位。首先,兩個操作數的指數位相減。使用Ne+1位將差值存儲在exp'區域,額外的1位用于存儲差值符號。我們在對齊指數后對兩個尾數進行減法運算,然后對差值進行歸一化。為了使歸一化階段的移位操作并行化,我們創建了一個移位索引來記錄每一行的差值,將具有相同移位索引的行在一次復制操作中一起移位。需要注意的是,完成一個N位的復制操作需要2N次NOR操作。為了對齊指數位,exp'提供移位索引,并通過搜索操作實現并行移位。例如,在圖5(b)中,兩個指數位之間的差為10-01=01。因此,在指數位對齊過程中,該行的移位索引為1。

    浮點乘法設計:浮點乘法分為四個步驟:(i)符號位異或,(ii)指數位相加,(iii)尾數進行定點乘法,(iv)結果標準化。圖5(a)舉例說明了浮點乘法的運算過程。現有的有限精度乘法機制不適用于尾數的定點乘法,因為它們在最終結果中保留最低N個有效位。因此,我們設計了一個有限精度的定點乘法,它保留了最高N個有效位,如圖6(c)所示。與圖6(b)所示的方法相比,我們設計的定點乘法的結果更接近于圖6(a)所示的實際值。

    圖6 DPIM中定點乘法設計

    由于ReRAM陣列大小是有限的,在設計浮點乘法運算符時,我們提出ReRAM重用機制,多次刷新并重用用于計算1位加法的12個單元,僅以8.3%的性能開銷將資源利用率提高了54%。資源的重用及利用率的提高使DPIM中進行更高精度的計算成為可能。

    我們使用7個典型的CNN模型評估ReHy的性能,并將ReHy與CPU/GPU架構(基線)和最先進的基于ReRAM的加速器FloatPIM進行比較。實驗結果表明,ReHy達到了與CPU/GPU架構相似的精度和收斂速度。此外,與基線和 FloatPIM相比,ReHy可以將CNN訓練速度分別提高48.8倍和2.4倍,能耗降低35.1倍和2.33倍。這表明ReHy以數字計算和模擬計算混合的計算形式同時實現了CNN訓練的高精度和高效率。

    參考文獻:

    Hai Jin, Cong Liu, Haikun Liu, Ruikun Luo, Jiahong Xu, Fubing Mao, and Xiaofei Liao "ReHy: A ReRAM-Based Digital/Analog Hybrid PIM Architecture for Accelerating CNN Training," in IEEE Transactions on Parallel and Distributed Systems, vol. 33, no. 11, pp. 2872-2884, 1 Nov. 2022.

    往期 · 回顧

    浮點卷積神經網絡
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    我們設計了基于ReRAM的數模混合CNN加速器ReHy,相比CPU/GPU可以在保證CNN訓練精度的同時將訓練時間縮短近50倍。
    摘要:數字基礎設施的發展加速了個人隱私數據在機器學習中的應用。隨著機器學習即服務的市場規模逐步擴大,服務提供商和用戶在雙向獲利的同時也面臨著嚴重的隱私泄露風險。因此,安全推理作為隱私保護機器學習的一個分支,成為科學界和工業界的研究熱點。安全多方計算是安全推理最重要的密碼學工具。從機器學習推理中潛在的隱私問題出發,引入安全多方計算技術,進一步對基于安全多方計算實現的安全推理框架進行分析研究,重點分析
    模型量化攻擊
    2022-01-12 16:34:14
    隨著深度神經網絡模型的性能增加,神經網絡的深度越來越深
    莫過于去花之后替換進apk中,依然正常運行,這對匯編功底無疑是一種挑戰。今天就獻丑拿某流量第一的APK樣本做一下IDA腳本一鍵去花指令分析。◆上IDA腳本,此代碼為片段代碼ARM64是ARM架構的64位版本。ARM64的調用約定定義了函數如何傳遞參數和返回結果。前八個浮點型參數通過寄存器V0至V7傳遞。這意味著如果函數修改了這些寄存器的值,那么它需要在返回前恢復它們的原始值。
    Java反序列化是java安全的基礎,想要學好java反序列化,就不能只看看相關文章,要自己動手實踐,看看java反序列化到底是怎么回事。JSON和XML是通用數據交互格式,通常用于不同語言、不同環境下數據的交互,比如前端的JavaScript通過JSON和后端服務通信、微信服務器通過XML和公眾號服務器通信。快速入門Java Serialization(序列化):將java對象以一連串的字節保存在磁盤文件中的過程,也可以說是保存java對象狀態的過程。
    12 月 27 日消息,開放麒麟 openKylin 社區宣布聯合蘇州睿芯公司,openKylin 平臺正式部署上線對 RV64G 架構支持,后續 RV64G 非壓縮指令集愛好者可以通過社區平臺開發編譯并部署自己的代碼
    美國國家標準技術研究所(NIST)近日宣布已持續數年的后量子加密和簽名算法競賽已落下階段性帷幕,首批獲勝者名單已經出爐。在后量子加密上,NIST 首推 CRYSTALS-Kyber 算法,但后期可能會根據表現有所調整。在簽名算法上,NIST 首推 CRYSTALS-Dilithium,以及兩款同樣優秀的備選算法:Falcon 和 SPHINCS+。
    我們在使用金額計算或者展示金額的時候經常會使用 BigDecimal,也是涉及金額時非常推薦的一個類型。 BigDecimal 自身也提供了很多構造器方法,這些構造器方法使用不當可能會造成不必要的麻煩甚至是金額損失,從而引起事故資損。 事故 接下來我們看下收銀臺出的一起事故。 | 問題描述 收銀臺計算商品金額報錯,導致訂單無法支付。
    安全芯片開放式架構實現了用戶程序和操作系統的分離,降低了應用程序與安全芯片操作系統的耦合性,但同時存在國外壟斷、執行效率低、內存易泄露等弊端。對于搭載了開放式運行環境的安全芯片,面向資源受限所設計的精簡擴展指令集支持與行業應用高度結合,具有基于寄存器的高效指令集解釋執行能力,并具有更好的指令集安全性,可支持多應用融合,有助于打破國外壟斷。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类