繼 「天機芯」 和基於憶阻器件的神經形態晶片之後,清華大學類腦計算團隊的研究成果,於 10 月 14 日再次發表在了《自然》雜誌上。
這次,他們首次提出了 「類腦計算的完備性」 概念,為類腦計算這一有可能在未來與傳統計算系統相媲美的新型計算機系統,補上了一塊重要的理論短板,讓類腦計算的軟、硬體各自獨立開發成為了可能,更可以大幅提升很多應用的計算效能,是神經形態計算領域的重大理論突破。
針對這一重大突破,DeepTech 與文章的共同一作與共同通訊作者、團隊負責人張悠慧教授進行了深入交流。他詳細解讀了類腦計算完備性的來龍去脈,以及對於相關領域研究的重大意義。
圖 | 張悠慧教授(左三)團隊(來源:清華大學)
作為受生物神經系統(包括大腦)工作原理、與結構啟發的計算技術處理信息的計算技術,類腦計算、或者說神經形態計算,被認為是實現通用人工智慧的重要途徑之一,也是新一代計算機發展的極具潛力的方向之一。
現有的通用計算機系統,一直延續著馮・諾依曼在 1946 年提出的 「存算分離」 架構 —— 存儲部件與計算部件分離,程序與數據統一存儲。這種天才的架構讓計算機在過去的幾十年來性能突飛猛進,奠定了第三次工業革命的基礎。
然而,馮・諾依曼架構存在一個問題,就是處理器與存儲器中交換程序與數據時,會消耗大量的時間和能量。在人工智慧時代,隨著需要處理的數據量的攀升,馮・諾依曼瓶頸越發明顯。
例如,阿爾法狗與李世石和柯潔對弈的時候,強大的算法雖然贏了人類對手,但一局的電費就高達 3000 美元,而完成同樣功能的人腦,頂多吃一頓飯就可以了。
圖 | 阿爾法狗戰勝了人類,但能耗代價卻是驚人的(來源:yuzeh.com)
那麼,能否根據受生物神經系統(包括大腦)工作原理與結構啟發的計算技術,來設計計算機系統呢?答案是肯定的。這就是所謂的類腦計算的概念。
與傳統的計算技術相比,類腦計算最主要的區別之一在於擺脫了馮・諾依曼架構 「存算分離」 的枷鎖。受生物神經系統(包括大腦)工作原理與結構啟發,類腦計算系統用超大規模集成電路和微納電子來仿生神經突觸與神經元的功能,將數據存儲和處理的功能集中在計算單元上,從而大幅減少處理器從存儲器中讀取和寫入數據的能耗。
通過這一高效整合形式,類腦計算可以能效更高、性能更好、速度更快地處理數據。這一潛能讓它有可能成為與傳統的通用計算系統相比肩的未來計算系統。
圖 | 神經元(來源:IC photo)
自上世紀八九十年代提出以來,類腦計算一直受到很多關注,近年來更是持續突破。例如,清華大學就曾在去年和今年兩次發文,展示了我國在類腦計算領域的強勁研發能力。
2019 年,清華大學施路平教授團隊的類腦計算晶片 「天機芯」(Tianjic)讓一輛自行車實現了自動駕駛。這款實現了異構融合的電子晶片,整合了現有的人工網絡算法和類腦的脈衝神經網絡算法,同時支持神經科學發現的眾多神經迴路網絡和異構網絡的混合建模,實現了無人自行車駕駛。
圖 | 施路平教授團隊的天機芯曾登上《自然》雜誌封面(來源:Nature )
今年年初,清華大學吳華強教授團隊則成功研發出了一款基於多陣列憶阻器的存算一體系統,在器件和電路晶片層面,用新型的非易失性器件憶阻器,研發出了世界上第一款全硬體的基於憶阻器的神經計算晶片,在處理一些神經網絡應用時,它能獲得比 GPU 高出兩個數量級的性能優勢。
然而,儘管類腦計算的軟硬體研究成果已經顯示出了其在一些應用上相比於通用計算系統不小的優勢,但還有一個明顯的短板 —— 類腦計算還沒有自己的完備性。
通用計算領域有一個重要的概念,叫做 「圖靈完備性」。所謂的完備性,指的就是一個計算系統的功能邊界,它能做什麼。對於通用計算機來說,「一個具有圖靈完備性的機器可以計算任何一個可計算的函數」,張悠慧向 DeepTech 解釋道。
有了圖靈完備性,開發軟體的工程師只要使用圖靈完備的程式語言去編寫程序,就可以保證這個程序在任何一個符合圖靈完備的硬體設備上,轉換成等價的指令序列。
這樣,通用計算系統的軟體和硬體的開發就可以獨立開來,各自專注於自己領域的事情,而無需擔心程序能否在所有晶片上使用,晶片又能否支持所有的程序。
然而,由於類腦計算尚處於起步階段,類腦計算的功能邊界並沒一個很好的定義。往往是一類應用出來了,就按照歸納法,設計類腦計算系統來完成這類工作。但面對未來其它的工作,類腦計算能不能完成,就不得而知了。
而且這類設計方法往往使得每一個晶片架構都需要一套專門的軟體工具鏈來配合,從而使得不同類腦計算系統之間難以做到相互兼容。
做為一個從事計算機系統研究的科學家,張悠慧敏銳地注意到了這個問題。要想實現類腦計算的跨越式發展,單靠一個一個具體的晶片、工具鏈、應用和算法的創新實現是不夠的,還需要從計算機系統的理論出發,解決類腦計算的完備性問題。
通過研究,他們提出了類腦計算的完備性概念:對於任意圖靈可計算的函數,只要一個計算系統可以給出一個誤差在可接受範圍內的函數,那麼它就可以被認為是類腦完備的。
這意味著,類腦計算不像通用計算一樣,要求每一步計算的精度,而是只要結果的精度足夠,就可以了。
這是由於類腦計算與通用計算根本上的不同所決定的。通用計算在計算一個函數的時候,用的是 「算」 的方法 —— 利用給定的算法,「算」 出答案。而類腦計算主要依靠神經網絡,它並不關注一步一步的計算過程,只要參數夠多,就可以擬合出足夠精確的結果,某種程度上可以說這個結果是 「記」 出來的。
類腦計算的完備性就把 「算」 和 「記」 結合了起來,除了可以 「算」,有些時候還可以用神經網絡來 「記」 出答案。通過新加上的這一維度,某些應用的系統優化空間可以增加 50-60 倍,「系統的設計和優化空間變大了,那就會帶來直接的性能功耗比上的收益」,張悠慧表示。
除此之外,類腦計算完備性的重要意義還在於,它有望實現軟硬體研究的去耦合,可以把類腦計算不同方向上的研究結合起來,相互協作,共同推進這個領域的前進。
類腦計算是一個典型的交叉學科,生物、硬體、材料、軟體等不同背景的研究人員都在從事這個領域的研究。之前,大家並沒有一個跨平臺的工具鏈,開發的時候遇到的硬體約束條件都是特定和不兼容的。
有了類腦計算的完備性,張悠慧團隊設計了相應的類腦計算機層次結構:
向上,是圖靈完備的軟體模型,只要開發的算法是用圖靈完備的語言編寫的,就可以不再擔心硬體的約束問題;
而向下,他們提出了類腦計算完備的硬體體系結構,相比於圖靈完備性,放鬆了對於計算過程與精度的要求,因此適配性更好;
而在軟體和硬體之間,他們開發了相應的編譯層。任意圖靈可計算的函數,都可以轉換為類腦計算完備硬體上的模型,讓類腦計算系統也可以支持通用計算。
圖 | 類腦完備的計算系統架構(來源:Zhang, Y. et al. Nature 586, 378–384 (2020).)
如此一來,不同社區的團隊成果就可以融合起來,做軟體的不用再關心硬體的約束,做硬體的也不用擔心軟體能不能支持。做算法、做軟體、做硬體的人,都可以專注於自己的專長,像通用計算一樣,不同層次可以各自發展,成果又可以無縫兼容。
為了挖掘類腦完備性的潛力,他們重新實現了施路平教授的天機芯自動駕駛自行車的案例。還突破了傳統類腦計算系統的限制,進行了鳥群模擬和 QR 分解的計算。
張悠慧表示,「很多人認為類腦計算跟通用計算的高度將是一樣的,要是真的想達到這樣的高度,就必須要達到完備性。」
展望未來,張悠慧並不想對大概多久能建立完善的類腦計算的產業鏈做出準確的估計。類腦計算是很有可能實現通用人工智慧的重要方向之一,要達到那樣的高度,還有很長的距離要走。
但在這一進步過程中,計算系統效率提升是實實在在的 —— 不論這種提升是來自於新型的非易失性器件(如憶阻器),還是來自於類腦計算完備性所擴大的系統設計空間。作為一個交叉學科,「基於新的工藝和新的晶片,在一些應用場合下,類腦計算將在三五年內實現性能的顯著提升。」