不以非馮為目的AI儲存器都是耍流氓?

矽說發表於2018-02-20

橫空出世

ML Computation in Memory

接著昨天矽說針對MIT“跨越性”AI晶片解密:真的是顛覆性創新嗎?的介紹,我們繼續聊聊最近持續熱門的AI儲存器這一話題,順帶總結下ISSCC 2018 AI相關論文的思路。

隨著新年鐘聲的敲響,ISSCC 2018的大幕已然拉上。 回顧ISSCC 2018,眾所矚目的焦點中,不可忽視的壓軸大戲——Machine Learning in Memory session。懷著無比瞻仰的心態,小編擠進了大廳期待這一場Computing in memory (CIM)的盛宴。

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 31.5 slides,By 臺灣清華大學

Machine Learning為什麼要CIM?請回顧矽說專欄之——腦芯編·五 | 分手?擺脫馮諾依曼的深度學習硬體,簡而言之,就是邏輯計算的並行度不斷擴張時,所需的資料傳輸頻寬(從儲存器到計算單元)的大小限制了計算速度,史稱馮諾依曼瓶頸。並且,隨著摩爾定律的發展,計算單元的功耗越來越低,而與之對應的儲存器讀寫功耗不斷上升,導致AI算力的功耗瓶頸。

所謂CIM(儲存器內的計算)就是為了克服這一馮諾依曼瓶頸,即只要將資料扔到儲存器中,再讀出時的資料為計算完成時的結果。注意,此處的CIM和CS領域的in-memory computing是兩個概念。(劃重點)CIM令人嚮往的潛力主要包括——1)資料傳輸頻寬需求下降,(2)用於資料傳輸的功耗下降

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 31.1 slides,By MIT

無論在器件還是在電路設計領域,面向具有計算能力的儲存單元設計一直是一個熱門話題,比如具有記憶能力的電阻——ReRAM / memoristor。

又一件皇帝的新衣?

然而,似乎,好像,有什麼不對勁的地方。首先是上述的兩個潛力:(1)資料傳輸的需求下降。(2)用於神經網路層間內部的功耗減少。

在目前的深度學習處理器中,大部分深度學習處理器與主控的通訊模式都是基於類似匯流排外掛的儲存器介面,而資料的內部排程是不會體現在外部的傳輸頻寬上的。比如今年Machine Learning處理器 session中的旗艦設計 13.2:

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 13.2 slides,By 北海道大學

其層與層間的資料通訊,基本建立在了使用電感耦合堆疊在主晶片下方的SRAM中。在類似的情況下,CIM對於外部頻寬的需求並沒有實質提升。而實際的情況可能更糟糕,在CIM session所有發表的內容中,大部分設計均需要將CIM輸出回傳給host再排程以便於下一層計算,僅有13.5實現了兩級全連結網路的互傳。但CNN間的層間互傳與重新排序比全連結複雜的多,CIM並未實質解決該問題。

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 31.5 slides,By 臺灣清華大學

除此之外,CIM還帶來了一個噩夢的芯問題——失配。在所有RAM製造過程中,面積(密度)是第一考量因素,而電晶體尺寸在能夠保持功能的情況下,以更小為優化方向。換言之,RAM cell在實際製造過程中具有極高的不匹配性。由於這些失配特徵,在完成多位元MAC計算時往往需要額外的抗失調與失配補償電路。

為了緩解這一問題,MIT的“跨越性”設計提出了在global bit line上用脈衝長度調製的DAC代替原有的電流DAC,以解決IDAC的失配問題。

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 31.1 slides,By MIT

類似的做法,亦可以在ISSCC 2018 7.4 的設計中看到,將數字碼調製成脈寬與振盪器訊號疊加,實現時域上的乘法:

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 7.4 slides,By 佐治亞理工學院

該方法的邏輯運算複雜度低、功耗低,但是其對MAC計算速度的影響也是顯而易見的。

所以,CIM for Machine Learning渴望解決的馮諾伊瓶頸並沒有在今年的session被很好地詮釋。而其效能上的提升,基本都來自於因為採用低精度的(二進位制binary或ternary)網路導致的低位寬需求。講白了,就是藉著CIM的大名行二進位制高能效模擬運算之實。然而,這一優勢又在machine learning session被stanford團隊用傳統開關電容的方式打臉——

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 13.5 slides,By Stanford

該文章採用傳統的SAR ADC電荷重分配原理,將基於開關電容的神經元計算能效推進到772 TOPS/W (你沒有看錯,這麼令人恐怖的數字),已經在CIM能效的的10倍以上。

春天在哪裡?

然而,CIM並非一無是處。處理器單元與儲存器共享的低功耗架構,在always-on的near sensor系統有著巨大的效能優勢。ISSCC 2018正好提供了兩個不錯的例證:首先是面向機器人增強訓練(reinforcement learning)的混合型號神經模態加速器,

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 7.4 slides,By 佐治亞理工學院

其二是面向音訊識別的模擬前端與深度學習後端處理系統:

不以非馮為目的AI儲存器都是耍流氓?

Source: ISSCC 2018 21.2 slides,By 哥倫比亞大學

這兩個例子都具有訊號流與神經網路的間流水線連結模式,並不存在基於匯流排的host排程,同時,又是低功耗的應用場景,層間互聯的需求也很明顯。小編相信在這些應用中,CIM的優勢將逐漸展現出來。

相關文章