類腦硬體或能顛覆計算領域,但在這類系統上實現算法尚存挑戰。一種新提出的概念框架或能簡化實現步驟,加速該領域的研究進展。
下一代高性能、低功耗計算機系統的靈感可能來自大腦。不過,隨著設計者從傳統計算機技術向類腦(神經形態)系統靠攏,他們也必須拋棄支撐傳統計算機的已有的形式層次結構,這裡的層次結構是一種抽象框架,它從廣義上定義了軟體如何被數字計算機處理並轉換成能在計算機硬體上運行的操作。這種層次結構幫助推動了計算機性能的迅猛發展。張悠慧等人[1]在《自然》發表論文,定義了一種新的層次結構,規範了對算法的要求以及算法在一系列神經形態系統中的實現,為一種結構化的研究方法奠定了基礎,從而實現類腦計算機算法和硬體設計的分離。
在過去50年裡,傳統數字計算機的性能按照摩爾定律一路提升。摩爾定律指出,技術進步大約每18-24個月就會讓集成電路(微晶片)的容量翻倍。不過,雖然這些進展帶來了越來越強大的硬體,但對於在這些不斷變化的器件上執行的算法而言,系統架構師想要優化算法性能面臨著不小的挑戰。
傳統計算機設計有一個重要特徵,可以讓新器件(晶片、存儲器等)實現最佳性能——這個特徵就是軟硬體開發之間不存在緊耦合。通過對硬體設定最低要求,便可將高級語言寫的軟體程序轉換成任何計算機需要的精確、等價的指令序列——這個過程也稱為編譯(圖1)。在編譯過程中,支持使用表示基本計算操作的指令的計算機被認為具有圖靈完備性(Turing completeness)。因此,軟體代碼一般只寫一次,然後在多個具有圖靈完備性的處理器體系結構上進行編譯和執行,產生等價結果。
圖1 | 計算機硬體實現算法的層次結構。a,計算機層次結構從廣義上定義了軟體如何被現代數字計算機處理。用高級計算機語言寫的算法被分解成基本計算操作,得到軟體的中間表示。這些操作再被轉換為精確、等價的硬體中間表示——這組指令隨後在硬體上運行。因此,軟體可以與硬體分開開發。不過,之前尚未對神經形態計算機(以人工神經元網絡為計算基礎的計算機)定義過類似的層次結構。b,現在,張悠慧等人[1]提出了一種面向神經形態計算機的類似層次結構。新的層次結構要求硬體中間表示只需近似於軟體的中間表示——這克服了神經形態系統產生精確表示所面臨的困難。這一層次結構允許神經形態計算機的軟硬體分開開發,而不用像現在這樣針對每個應用共同開發。
但眾所周知的是,摩爾定律定義的進步時代正在走向終結:數字計算機性能的發展速度似乎正在放慢。此外,數字計算有時功耗很大,促使人們尋找替代方案。科學家一直為大腦的計算能力著迷,大腦不僅在能效方面令人驚嘆,其神經元和突觸的架構也具有獨一無二的信息處理性能,讓神經形態計算領域深受啟發。這個領域以大腦的神經網絡架構為基礎開發下一代計算機[2]。
神經形態計算一般聚焦脈衝神經網絡(spiking neural network,SNN),即互聯的人工神經元系統,其中每個神經元在激活水平到達一定閾值後,都會出現短暫的「脈衝」活動[3]。這類系統更接近於生物學上的神經網絡,而不是現代深度學習應用所使用的人工神經網絡。神經形態硬體已經有各種形式的版本,數字和模擬都有。但是,大部分系統都遵循通用的設計原理,比如存儲器和處理器的co-location模式[2]。
神經形態硬體應用開發上的一個挑戰在於,尚不存在圖靈完備性這樣的形式層次結構。恰恰相反,每一種新的晶片體系結構都需要一個自定義軟體工具鏈——一組編程工具——來定義算法並映射到特殊硬體來執行算法。如此一來,研究人員很難比較不同神經形態系統執行同一種算法的性能,而且研究人員還要理解算法和硬體的所有方面,才能獲得潛在的類腦性能。
針對這個問題,張悠慧等人想到了一種突破性的解決方法,他們提出了一種他們稱之為神經形態完備性(neuromorphic completeness)的概念——呼應了圖靈完備性,旨在讓算法與硬體開發去耦合。通過放鬆傳統計算機對層次結構的約束,作者提出,如果一個類腦系統能以規定的準確度執行一組給定的基本操作,那麼該系統就具備神經形態完備性(圖1)。這個概念脫離了圖靈完備性——根據圖靈完備性,只有當一個系統能對一組給定的基本操作給出精確、等價的結果時,這個系統才能被定義為具有完備性。
在作者提出的神經形態完備性框架中,基本操作包含加權和操作(weighted-sum operation)以及元素對應線性整流操作(element-wise rectified linear operation),這些操作能讓硬體系統支持脈衝和非脈衝人工神經網絡。作者演示了他們的類腦計算層級結構如何能提供一種機制,將給定算法轉換成適合各種神經形態完備器件的形式。
新的層次結構有一大優點,那便是它提出了完備性的連續性(continuum),即不同水平的算法性能都能被接受,具體取決於神經形態系統執行基本操作的準確度。這種完備性的連續性意味著,新的層次結構能用現有的全部模擬和數字神經形態系統來實現,包括那些為了執行速度或能效而犧牲準確度的系統。
完備性的連續性還允許在相同硬體上以不同方式實現同一種算法——比如,用來探索如何用算法準確度換取晶片尺寸,從而降低功耗。張悠慧等人通過執行三項任務的算法(「駕駛」一輛無人自行車、模擬鳥群運動、運行名為QR分解的線性代數分析),演示了他們的方法在這方面的能力。每項任務都用三個典型的神經形態完備性硬體平臺來執行:作者自己的神經形態晶片[4];傳統計算機使用的圖形處理單元(GPU);一個基於憶阻器、能加速神經網絡執行速度的平臺。
新提出的層次結構受到了業內歡迎,因為它允許比較同一個算法的等價版本在不同硬體平臺的實現結果,以及不同算法在相同硬體上的實現結果。在對神經形態系統結構的有效基準測試中,以上兩項任務都非常關鍵。作者在他們的原理驗證實驗中囊括了傳統的圖靈完備硬體(GPU)也很有意義,因為這告訴我們,這種層次結構或能用來證明神經形態器件在特定應用上超過主流系統的優勢。
來源:pixabay
新提出的層次結構還有另外一個重大優勢,那就是它有望將算法和硬體的開發分割成獨立的研究分支。若要解鎖神經形態系統結構的潛在優勢,算法的規模和複雜度都需要逐漸增加,而這種分割將幫助研究人員聚焦於研究問題的特定方面,而不是想盡辦法尋找整個端對端解決方案。這有望增進我們對這些問題的理解,並在將來協助設計更高性能的神經形態系統。
要把神經形態計算領域大量的產業和學術團隊的研究工作整合起來,還有很多工作要做。張悠慧等人提出的層次結構在這個方向上邁出了重要一步。真正的大腦——生物學「硬體」——本身是否具有神經形態完備性,仍有待探索;但無論如何,作者的方法讓我們與類腦硬體所能帶來的巨大效益更近了一點。
參考文獻:
1. Zhang, Y. et al. Nature 586, 378–384 (2020).
2. Roy, K., Jaiswal, A. & Panda, P. Nature 575, 607–617 (2019).
3. Gerstner, W., Kistler, W. M., Naud, R. & Paninski, L. Neuronal Dynamics: From Single Neurons to Networks and Models of Cognition (Cambridge Univ. Press, 2014).
4. Pei, J. et al. Nature 572, 106–111 (2019)
原文以Brain-inspired computing boosted by new concept of completeness為標題發表在 2020年10月14日的《自然》新聞與觀點版塊
來源:Nature自然科研