當前位置:
首頁 > 最新 > MIT「跨越性」AI晶元解密:真的是顛覆性創新嗎?

MIT「跨越性」AI晶元解密:真的是顛覆性創新嗎?

近日,關於「MIT開發出跨越性專用晶元,功耗降低95%,手機也能運行神經網路」的文章刷遍了朋友圈。其中的技術是MIT Chandrakasan組發在今年ISSCC上的一篇論文。對於我們這樣喜歡打破沙鍋問到底的技術人員來看,看朋友圈的科技媒體文章猶如隔靴搔癢,於是找來了今年的ISSCC論文仔細閱讀,這裡把具體分析與大家一起分享。

首先上總體評價:論文是好論文,技術是具有獨創性的好技術,中ISSCC名至實歸,但是離工業界大規模應用還有一定距離

背景

報道中的「跨越性」AI晶元事實上是發表於ISSCC 2018的論文,標題為《Conv-RAM: An Energy-Efficient SRAM with Embedded Convolution Computation for Low-Power CNN-Based Machine Learning Applications》,具體的Session是31-Computation in Memory for Machine Learning。顧名思義,該Session主要討論的是如何在機器學習應用中直接使用內存內計算去改善性能和能效比。再經過數年的發展後,機器學習加速晶元社區基本都認識到了內存訪問是性能的瓶頸,因此想方設法想要把內存訪問造成的性能損失給優化掉,而內存內計算就是一種方法。事實上,一旦做到內存內計算,就已經超越了傳統的馮諾伊曼計算機架構,可以說是影響深遠。因此,今年ISSCC專門為Computation in Memory for Machine Learning開了一個Session。

本文的作者來自MIT Anantha Chandrakasan組。Anantha Chandrakasan在晶元領域可謂是鼎鼎大名,是數字電路經典教科書《Digital Integrated Circuits: A Design Perspective》的作者之一,同時也是低功耗數字電路設計、UWB系統等多個領域的先驅者,基本每年Chandrakasan組在ISSCC都會至少有一篇論文發表。

論文首先開宗明義,指出目前CNN加速晶元中,內存訪問已經成為性能瓶頸,其能量消耗遠大於用於計算的單元。

為了降低內存訪問能耗,可以在CNN中使用1-bit權重,並且根據相關論文1-bit權重在AlexNet上能實現還不錯的效果。所以,本論文也將會使用1-bit權重,具體地說,CNN輸入是高精度數字,而權重則是binary(-1或1)。這裡需要提醒讀者的是,雖然1-bit在一些場合可以實現不錯的效果,但是選擇使用1-bit作為權重也大大限制了論文中描述架構的靈活性,因為1-bit權重目前使用的場合畢竟還比較有限。

如果做一些數學變換,卷積輸出實際上是輸入的加權平均。所以該論文使用Multiplication-And-Average (MAV)操作來實現內存內計算。

Conv-SRAM與MAV具體實現

Conv-SRAM的具體實現如下圖所示:權重(1-bit)儲存在SRAM中,輸入數據(7-bit數字信號)經過DAC成為模擬信號,而根據SRAM中的對應權重,DAC的輸出在模擬域被乘以1或者-1,然後在模擬域做平均,最後由ADC讀出成為數字信號,這個操作即MAV。

這麼做能實現幾個特點:首先,這裡不再有明顯的「讀寫內存」的動作,因為根據當前內存的內容(即權重)直接對輸入數據進行操作,避免了之前的「從內存讀數據——從內存讀權重——權重與數據相乘——結果存回內存」的馮諾伊曼式計算過程。當然,不用讀寫內存這件事從另一個角度看是因為計算全部是在模擬域完成,做模擬信號處理的時候不使用馮諾伊曼式的處理模型本來就很常見。第二個特點是,因為CNN中輸入數據是被帶不同權重的卷積核復用的,因此一組輸入數據可以廣播給多組不同卷積核做並行處理。

而接下來的MAV則是Conv-RAM的核心操作。熟悉混合信號電路的朋友們對於這一些操作應當相當熟悉,因為在經典的ADC和DAC中經常會用這些。具體來說,由於乘法的權重是1-bit(1或-1),因此可以簡單地用一個開關加差分線來控制,如果是權重是1就讓差分線一邊的電容充電到DAC輸出值,反之則讓差分線另一邊充到這個值。平均也很簡單,幾條差分線簡單地連到一起就是在電荷域做了平均了。

於是,使用Conv-SRAM和MAV,最終實現了在LeNET網路對MNIST數據集分類這個benchmark上60倍以的能效比提升,而分類精度降低了約2%。

產品化之困

看到這裡,可以說這是一篇非常高質量的學術論文,首先它佔了幾個時下非常熱門的關鍵詞,包括「人工智慧加速」,「內存內計算」,「非馮諾伊曼架構」等等,其次工作的質量也很不錯,在ISSCC上發表也屬名至實歸。

然而,這樣的結果想要真正實用化,還有許多的路要走。從論文的實測情況來看也是如此,晶元的benchmark是LeNET+MNIST,這樣的benchmark可以說是僅僅驗證了概念。具體地,我們認為該技術離實用化還需要克服的問題包括:

-1-bit權重的網路模型性能問題。目前低精度網路確實是深度學習領域最熱門的研究方向之一,但是1-bit權重的網路模型到底在哪些地方可以使用卻還沒有定論可言。論文引用了之前的結果,1-bit權重的AlexNet可以實現準確率損失在1%左右,但是AlexNet是一個相對簡單的網路並且在目前已經使用不多,而一些更複雜的主流網路如ResNet在深度較深之後,1-bit權重造成的計算精度損失經過多級網路層之間的層層傳播累積最後可能會造成很大的誤差。這一點如何克服我們尚未看到明確方向。

-如何規模化的問題。論文中的核心操作MAV全部是在模擬領域實現,因此每一路輸入輸出都需要精度較高的DAC和ADC模塊。這些模塊其實佔據的晶元面積不小,因此規模化的成本代價不小;另外,模擬電路的本質註定了在規模化的時候會遇到設計流程上的困難,包括輸入失調,模塊間的參數失配等等,因此規模化的難度會遠遠大於數字電路。

-如果1-bit流行,真的需要這樣的專用加速器嗎?這其實也是個很重要的問題:假設我們能解決1-bit權重網路的精度問題,那麼網路可能可以直接使用SoC上的ARM核直接運算,為何還要另外添加這樣一個複雜的模塊呢。

總結

《Conv-RAM:An Energy-Efficient SRAM with Embedded Convolution Computationfor Low-Power CNN-Based Machine Learning Applications》是一篇相當成功的論文,一方面概念非常新穎,另一方面在設計方面也屬紮實。然而,其中的內存內計算方法想要實用化還有不少距離。


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

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


請您繼續閱讀更多來自 矽說 的精彩文章:

Hennessy與Patterson雙雙進駐Google,是計算機科學新時代的曙光

TAG:矽說 |