機器之心發布
湃方科技
2 月 20 日,來自清華大學線路所的劉勇攀副教授團隊在美國舊金山舉辦的第 66 屆國際固態電路會議(簡稱 ISSCC 2019)發表了基於循環矩陣壓縮方法的通用神經網絡加速器晶片 STICKER-T。該晶片在算法,架構和電路三方面進行了聯合優化,在變換域進行神經網絡加速,並使用可轉置存儲器復用數據,使得晶片的能效和面積相較於之前的研究都有顯著的提升。
隨著 AI 技術的不斷發展,單一的網絡結構已經很難滿足不同領域的任務需求。常見的應用諸如圖像識別或機器翻譯分別需要卷積神經網絡或循環神經網絡的支持。而不同網絡意味不同的計算模式,在帶寬和計算資源上也會有各自的限制。因此,通用加速器的核心挑戰是如何聯合優化各種網絡下的晶片能效。
不同架構的通用加速器比較
在以 STICKER 和 Thinker 為代表的先前設計中,研究者通常採用的解決方案是為卷積和全連接操作分別設計專用的加速核,或者將卷積重構為矩陣乘法。其中異構多核的設計雖然能夠分別將卷積和全連接優化至最佳的能效,但是晶片整體卻需要承擔額外的面積開銷,並且多核的利用率受工作量比例的限制很難達到 100%,帶來不可避免的浪費。而重構卷積的思路則意味著能效的下降和編譯器與控制邏輯的複雜性。另一方面以 TPU 為代表的工業屆晶片雖然有著更強的通用性和靈活性,卻在晶片能效上受到限制。
循環矩陣壓縮方法(CirCNN)原理圖
該團隊針對以上問題,採用了基於循環矩陣的神經網絡壓縮技術,從算法和硬體聯合優化的角度提出全新的通用加速器設計。算法上,使用 CirCNN 方法訓練出的神經網絡,無論是全連接還是卷積的權重矩陣都可以劃分成多個子塊,每個子塊的內部都是循環矩陣,將矩陣向量乘轉換為循環卷積。進而可以使用 fft+頻域點乘+ifft 的方法對卷積操作進行加速。
基於轉置 SRAM(TRAM)的數據復用方法
轉置 SRAM(TRAM) 結構圖
硬體上,為了滿足 fft 的高效計算並儘可能的減少面積開銷,採用了全局並行位串行的 fft 設計。同時為了提升頻域點乘的數據復用性,晶片使用了轉置 SRAM(TRAM)存儲 fft 的計算結果,如此按行存儲的來自不同批次的頻譜可以按列方向取出同一個頻點的值,和相同的權重相乘時大大提升了數據的復用率,減少了對帶寬的需求。
晶片照片
綜上,高效的算法和高性能的架構與電路實現,使得 STICKER-T 相比於之前的晶片在能效和面積兩個方面都有著顯著的提升,該晶片的峰值能效 140TOPS/W 為之前工作的 2.7 倍,而 7.5mm^2 的面積僅為前者的 60%。此外,Sticker-T 的通用架構可以同時高效支持包括 CNN,RNN 和 FC 在內的主流網絡結構,滿足了不同應用場景的需求。
基於在人工智慧晶片領域的豐富科研成果,劉勇攀副教授創辦了以人工智慧晶片和工業智能算法為核心技術的湃方科技,旨在賦能工業領域人工智慧的更大發展。
性能對比
本文為機器之心發布,轉載請聯繫本公眾號獲得授權。