TrueNorth:IBM的百萬神經元類人腦晶元 | 36氪
郵票大小、重量只有幾克,但卻集成了 54 億個硅晶體管,內置了 4096 個內核,100 萬個「神經元」、2.56 億個「突觸」,能力相當於一台超級計算機,功耗卻只有 65 毫瓦。
這就是 IBM 公布的最新仿人腦晶元:TrueNorth。
為什麼要做TrueNorth?
因為自 2008 年以來,美國國防部研究機構 DARPA 給了 IBM 5300 萬美元。TrueNorth 是 IBM 參與 DARPA 的研究項目 SyNapse 的最新成果。SyNapse 全稱是 Systems of Neuromorphic Adaptive Plastic Scalable Electronics(自適應可塑可伸縮電子神經系統,而 SyNapse 正好是突觸的意思),其終極目標是開發出打破馮·諾依曼體系的硬體。
為什麼要打破馮·諾依曼體系?
馮·諾依曼體系是傳統計算機的基礎。這種體系的特點是存放信息和程序指令的內存與處理信息的處理器是分離的。由於處理器是按照線序執行指令的,所以必須不斷與內存通過匯流排反覆交換信息—而這個會成為拖慢速度和浪費能量的瓶頸。儘管後來採用了多核晶元和緩存技術,但是這些只能提高速度而不能降低太多能耗,而且沒辦法實時處理,因為通信是瓶頸—內存和 CPU 的大量通信要通過匯流排進行。因此,近幾十年來研究人員一直在致力於尋找突破原有體系的技術。
模仿大腦
模仿人類大腦是科學家尋求突破的方向。人類大腦的神經元儘管傳導信號的速度很慢,但是卻擁有龐大的數量(千億級),而且每個神經元都通過成千上萬個突觸與其他神經元相連,形成超級龐大的神經元迴路,以分散式和並髮式的方式傳導信號,相當於超大規模的並行計算,從而彌補了單神經元處理速度的不足。人腦的另一個特點是部分神經元不使用時可以關閉,從而整體能耗很低。
在了解了人腦的這種機理之後,研究人員開始了在軟硬體上對人腦的模擬。在硬體方面,近年來主要是通過對大型神經網路進行模擬,如 Google 的深度學習系統Google Brain,微軟的Adam等。但是這些網路需要大量傳統計算機的集群。比方說 Google Brain 就採用了 1000 台各帶 16 核處理器的計算機,這種架構儘管展現出了相當的能力,但是能耗依然巨大。
而 IBM 則是在晶元上的模仿。
集成度和能效令人印象深刻
這種晶元把數字處理器當作神經元,把內存作為突觸,跟傳統馮諾依曼結構不一樣,它的內存、CPU 和通信部件是完全集成在一起。因此信息的處理完全在本地進行,而且由於本地處理的數據量並不大,傳統計算機內存與 CPU 之間的瓶頸不復存在了。同時神經元之間可以方便快捷地相互溝通,只要接收到其他神經元發過來的脈衝(動作電位),這些神經元就會同時做動作。
2011 年的時候,IBM 首先推出了單核含 256 個神經元,256×256 個突觸和 256 個軸突的晶元原型。當時的原型已經可以處理像玩 Pong 遊戲這樣複雜的任務。不過相對來說還是比較簡單,從規模上來說,這樣的單核腦容量僅相當於蟲腦的水平。
不過,經過 3 年的努力,IBM 終於在複雜性和使用性方面取得了突破。4096 個內核,100 萬個「神經元」、2.56 億個「突觸」集成在直徑只有幾厘米的方寸(是 2011 年原型大小的 1/16)之間,而且能耗只有不到 70 毫瓦,IBM 的集成的確令人印象深刻。
IBM的TrueNorth晶元結構、功能、物理形態圖
這樣的晶元能夠做什麼事情呢?IBM 研究小組曾經利用做過 DARPA 的NeoVision2 Tower數據集做過演示。它能夠實時識別出用 30 幀每秒的正常速度拍攝自斯坦福大學胡佛塔的十字路口視頻中的人、自行車、公交車、卡車等,準確率達到了 80%。相比之下,一台筆記本編程完成同樣的任務用時要慢 100 倍,能耗卻是 IBM 晶元的 1 萬倍。
跟傳統計算機用 FLOPS(每秒浮點運算次數)衡量計算能力一樣,IBM 使用 SOP(每秒突觸運算數)來衡量這種計算機的能力和能效。其完成 460 億 SOP 所需的能耗僅為 1 瓦—正如文章開頭所述,這樣的能力一台超級計算機,但是一塊小小的助聽器電池即可驅動。
通信效率極高,從而大大降低能耗這是這款晶元最大的賣點。TrueNorth 的每一內核均有 256 個神經元,每一個神經有分別都跟內外部的 256 個神經元連接。
但是相比之下,人腦有上千億個神經元,每個神經元又有成千上萬的突觸,那樣一個神經網路就更加無法想像了。IBM 的最終目標就是希望建立一台包含 100 億個神經元和 100 萬億個突觸的計算機—這樣的計算機要比人類大腦的功都強大 10 倍,而功耗只有一千瓦,而且重量不到兩升(我們大腦的大小)。
應用
不過,計算能力並非這種最強大腦的長處,其強項在於認知能力。認知晶元可以執行感知、交互、識別等任務,就像演示中的識別對象一樣。IBM 預計這種認知能力可以在物聯網中充分能力,部署在感測器中處理現實世界的感知問題。使用認知計算機通過感測器網路和微型電機網路不斷記錄和報告數據如溫度,壓力,波高,聲學和海潮等來監測世界範圍內的供水狀況。然後,它還可以在發生地震的情況下發出海嘯警報。而這樣的任務傳統計算機根本不可能完成。或者這種晶元也可以部署在它的Watson上面,從而大大提升這台在智力競賽中戰勝人類冠軍的超級計算機的能力和能效。
因此,有人把 IBM 的晶元稱為是計算機史上最偉大的發明之一,將會引發技術革命,顛覆從雲計算到超計算機乃至於智能手機等一切。
前景
但是從短期來看,情況也許並沒有那麼樂觀。
首先晶元的編程仍然是個大問題。晶元的編程要考慮選擇哪一個神經元來連接,以及神經元之間相互影響的程度。比方說,為了識別上述視頻中的汽車,編程人員首先要對晶元的模擬版進行必要的設置,然後再傳給實際的晶元。這種晶元需要顛覆以往傳統的編程思想,儘管 IBM 去年已經發布了一套工具,但是目前編程仍非常困難,IBM 團隊正在編製令該過程簡單一點的開發庫。(當然,如果我們回顧過去編程語言從彙編一路走來的歷史,這一點也許不會成為問題。)
其次,在部分專業人士看來,這種晶元的能力仍有待證實。
在神經網路和機器學習專家看來,DARPA 的 NeoVision2 Tower 的數據集相對比較簡單,演示只是識別了 5 種對象,相對於 Google 和百度等圖像識別使用的是有上百萬圖像種類上千的 ImageNet,晶元在這種測試集的表現如何尚不得而知。
再者,真正的認知計算應該能從經驗中學習,尋找關聯,提出假設,記憶,並基於結果學習,而 IBM 的演示里所有學習都是在線下的馮諾依曼計算機上進行的。不過目前大多數的機器學習都是離線進行的,因為學習經常需要對演算法進行調整,而 IBM 的硬體並不具備調整的靈活性,不擅長做這件事情。但是 IBM 並不排除硬體實現的可能性(這家公司在歷史上已經表現出極佳的持續改進能力)。但是從事同類研究的 LeCun 認為,應該開發能實現最新演算法的晶元,那種晶元應該不是 IBM 晶元的樣子,而是類似於改良版的 GPU(參見微軟的Adam)。
所以說,IBM 的晶元是否真如其名稱 TrueNorth 所述、為計算機的未來找到了真正的方向,目前尚不得而知。但是,至少這款晶元超高集成度和超低能耗已經給人留下了深刻印象。
IBM集成16塊TrueNorth晶元的電路板
[36氪原創文章,作者: boxi]
推薦閱讀:
※36氪 、互聯網的那點事的主頁上有很多有深度的關於互聯網的文章,為什麼還需要經常來知乎呢?
※36氪的付費訂閱專欄「開氪」的使用體驗如何?
※你知道 36 氪、鹽科技嗎?如果知道又是通過什麼途徑了解的?
※怎麼評價 36Kr 的 HR 事件?
※如何看待鈦媒體於 2016 年 6 月 3 日發布的「36氪深陷股權眾籌項目『涉嫌欺詐』漩渦 」一文?