當前位置:
首頁 > 新聞 > 數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

機器之心發布

來源:Thinker 人工智慧晶元團隊

清華大學微電子所


VLSI Symposia on Technology and Circuits(簡稱VLSI)是集成電路與微電子領域的頂級會議,與ISSCC(國際固態電路會議)、IEDM(國際電子器件會議)並稱微電子技術領域的「奧林匹克盛會」,是超大規模集成電路和半導體器件領域裡最頂尖的國際會議之一,也是展現IC技術最新成果的櫥窗。今年的 VLSI 不久之前在日本京都落幕。清華大學微電子所可重構計算團隊在VLSI 2019上發表了題為「採用16個存內計算單元的高能效(5.1pJ/神經元)低延時(127.3us/推理)語音識別晶元」(A 5.1pJ/Neuron 127.3us/Inference RNN-based Speech Recognition Processor using 16 Computing-in-Memory SRAM macros in 65nm CMOS)的學術論文。該論文是北京清華大學、新竹清華大學和北京清微智能科技有限公司的合作成果,其中北京清華大學微電子所博士生郭瑞琦為本文第一作者,尹首一教授為本文通訊作者,論文合作者還包括北京清華大學微電子所魏少軍教授、劉雷波教授,新竹清華大學張孟凡教授等。

深度學習廣泛用於各種人工智慧任務中,傳統的深度學習加速器側重於面向數據流的計算架構優化。然而傳統馮·諾依曼體系結構所帶來的「存儲牆」問題日益突顯,計算單元與存儲單元間的頻繁數據搬移造成了大量的能耗。

存內計算(computing-in-memory,簡稱 CIM)技術是解決「存儲牆」問題的有效途徑,但存內計算只能支持向量內積等有限運算。為支持完整的 AI 應用,該團隊基於可重構計算架構,融合存內計算技術,設計了數模混合計算晶元(代號 Thinker-IM),在語音識別應用中實現了極低能耗。

為了獲得極低的能耗,在演算法層面上使用二值化的循環神經網路(RNN)建立語音聲學模型,從而降低了計算複雜度並節省了存儲開銷。圖 1 展示了基於二值化 RNN 的語音識別系統,包括前端信號處理、二值 RNN 聲學模型處理以及解碼輸出。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 1:基於二值 RNN 的語音識別系統

在硬體設計層面為了打破傳統的馮·諾依曼體系結構的存儲牆瓶頸,設計了數模混合計算架構。其中數字部分實現了必要的語音信號處理,而通過模擬計算方式在 SRAM 中實現了同或(XNOR)計算操作,並構建了基於 SRAM 存內計算(SRAM-CIM)的 RNN 計算模塊。

該晶元使用 16 個 SRAM-CIM 宏單元完成 RNN 計算任務,從而避免了存儲單元與計算單元的大量數據搬移所產生的能耗。當使用 SRAM-CIM 計算單元構建一顆全功能的語音晶元時,存在以下三方面挑戰,如圖 2 所示。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 2:基於存內計算的語音晶元的實現挑戰

挑戰一:需要設計融合多個 SRAM-CIM 單元的計算架構和數據流調度方案。一般情況下,單個 SRAM-CIM 無法存下 DNN 中的全部權重。因此需要多個 SRAM-CIM 單元協同計算,需要考慮如何組織它們的計算方式。

挑戰二:需要針對複雜 AI 任務設計多比特輸出 SRAM-CIM 單元。對於簡單 AI 任務(如手寫體識別),SRAM-CIM 單元 1 比特輸出精度可以滿足識別需求。但對於複雜的識別任務(如語音識別),SRAM-CIM 單元 1 比特輸出就會導致 Partial Sum(部分和)的精度損失,影響最終識別精度。

挑戰三:RNN 推理過程是一種時域上的迭代計算,其計算過程相當耗時。我們發現在二值 RNN 中的累加過程中存在一些冗餘計算。見圖 2(c),在累加過程中,如果中間數據足夠大而超過剩餘累加的最大值,將保證最終結果大於 0。此時剩餘累加周期的計算就是冗餘的,如能去除這些計算,將能夠有效加速 RNN 計算。

Thinker-IM 架構如圖 3 所示,主要包括語音信號處理部分和基於 CIM 的 RNN 計算引擎。晶元設計中三項關鍵技術分別針對性解決了上述三個問題。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 3:Thinker-IM 晶元架構與計算數據流調度

關鍵技術 1:設計了數模混合架構並組織多 SRAM-CIM 單元計算方式,如圖 3 所示。提出了「輸出-權重」雙穩定數據流架構,在計算時同時固定輸出與權重,減少了數據的重複訪問,其中權重被固定在 SRAM-CIM 單元中,部分和被固定在加法樹中。

通過分割權重矩陣將 64 個輸出神經元作為一組,進一步通過多周期累加得到最終輸出。在每個周期,64 個輸入被分為 16 組並轉化為 SRAM 的字線激勵,生成該組輸出的部分和並對應在加法樹中相加。

關鍵技術 2:設計了支持 XNOR 操作、3 比特輸出的 SRAM-CIM 單元,提出了演算法和硬體協同的 SRAM-CIM 能耗優化方法。如圖 4 所示,存儲單元採用了分割雙字線設計(WLL/WLR)。輸入數據轉化為字線激勵,而二值權重被存於存儲單元中。此時,位線(Bitline, 簡稱 BL)的讀電流依賴於輸入與權重的組合。

存儲單元引起的位線的充電、放電電流將分別代表輸入-權重-乘積(IWP)為 1、-1。當同時激活 4 條 WL 時,存儲單元的讀電流在 BL 上累加而代表 4 個 IWP 的累加。最終利用 TSC 和 VSA 單元實現了串列的 3 比特 BL 輸出。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 4:3-b SRAM-CIM 單元結構、波形示例與先前工作對比

在 SRAM-CIM 的存儲單元中,充電電流代表 IWP=+1,而放電電流代表 IWP=-1。為了更好地區分 BL 電壓值,設計放電電流遠大於充電電流。因此存儲單元產生 IWP=-1 時的能耗要遠遠小於 IWP=+1,非對稱電流將產生 1.5 倍左右的功耗差。

因此,我們考慮在訓練過程中調整 RNN 權重從而產生更多的 IWP=+1 的情況,故在訓練的損失函數中引入了正則項修正,並設計了具有感知 CIM 能耗的權重訓練流程,如圖 5 所示。隨著反向傳播誤差並最小化損失函數,IWP=+1 的比例提高,從而降低能耗。最終在保證精度需求的情況下,在三個測試數據集中平均降低了 10.0% 的能耗。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 5:具有 CIM 能耗感知的權重調整訓練流程

關鍵技術 3:批標準化(Batch normalization,簡稱 BN)與二值化的預測機制與處理單元設計。由於 BN 是線性變化,標準二值化是與 0 的階躍比較,因此 BN 與二值化的融合可以轉化為直接與另一個參數 VTH0 的比較,其中 VTH0 由 BN 參數決定。

預測過程分為兩個階段,其一是利用剩餘累加的上下界提前預測二值化結果。當中間結果超過或低於剩餘累加值的上或下界時,將保證最終結果的正確性,因此我們稱這階段為精確預測,剩餘累加值的上下界則組成了精確閾值。

深度學習的統計特性給 RNN 帶來了出色的容錯性,因此我們可以進一步放寬精確閾值,以一個更激進的閾值完成預測,此過程稱為激進預測。

整體預測機製為:首先進行精確預測,如果在每輪精確預測的數量超過我們預先設定的一個參數 Nex 時,激活激進預測對剩餘中間累加結果進行二值化。

圖 6 展示了預測的流程和預測單元的設計。預測單元中包含 64 個預測通道,每個預測通道中使用累加器完成部分和的累加得到中間結果;使用比較器完成 BN 與二值化的融合操作;使用查找表的方式向比較器提供精確、激進閾值和 Nex 參數。最終在保證精度超過 90% 的情況下,在三個測試數據集中平均減少了 24.5% 的操作。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 6:Batch normalization 與二值化的預測機制與預測單元設計

Thinker-IM 在 65nm CMOS 工藝下完成了流片,晶元面積為 6.2 mm2。在不同的電源電壓和工作頻率下,在每個神經元和每次推斷的最低能耗分別為 5.1 pJ 和 3.36 uJ,每次推斷的最低時延為 127.3 us,在能效和性能上都超過了之前工作。

分別在 Google Speech Commands, Hey snips, Smart home 三個語音數據集上對 Thinker-IM 進行測試,結果如圖 7 所示。當不採取權重調整和預測機制時,在三個數據集上可以實現平均 92.3% 的精度。當分別採取上述兩個優化方法後,可以在超過 90% 的識別精度下平均節省 10% 的能耗和 24.5% 的冗餘操作。

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

圖 9:晶元測試結果與工作對比表

Thinker 團隊近年來基於可重構架構設計了 Thinker 系列人工智慧計算晶元,相關成果相繼發表在 VLSI Symposia、ISCA、IEEE JSSC 等頂尖學術會議和期刊上,受到了學術界和工業界的廣泛關注。此次該團隊設計了數模混合、存算一體新架構,並針對語音識別場景,設計了採用存內計算的數模混合語音晶元 Thinker-IM,為人工智慧計算晶元的架構演進開拓了新方向。

論文:A 5.1pJ/Neuron 127.3us/Inference RNN-based Speech Recognition Processor using 16 Computing-in-Memory SRAM Macros in 65 nm CMOS

數字與模擬可兼得:清華可重構計算團隊發表數模混合AI晶元

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

解讀目標檢測新範式:Segmentations is All You Need
文本也有攻防戰:清華大學開源對抗樣本必讀論文列表

TAG:機器之心 |