國際學術頂刊 Science 公布了清華大學神經擬態芯片(又名“類腦芯片”)的最新研究成果。
這一研究由清華大學精密儀器系教授、類腦計算研究中心主任施路平率隊,論文作者均來自清華精密儀器系、光盤國家工程研究中心、北京未來芯片技術高精尖創新中心、類腦計算研究中心。
2019 年 8 月,施路平教授團隊研發的全球首款異構融合類腦計算芯片“天機(Tianjic)芯”曾登上國際學術頂刊 Nature 封面,并展示該芯片如何驅動一輛自動行駛自行車實現自動控制平衡、識別語音指令、探測前方行人以及自動避障。
這一成就,被當時 Nature 總編斯基珀博士贊譽為“人工智能領域的重要里程碑”,并成為 2019 年科學界的年度熱點研究之一。
而這一次,在以往工作的基礎上,其團隊又研發了一款名為 TianjicX 的 28nm 神經擬態芯片。
TianjicX 的峰值動態能效為 3.2TOPS / W,片上存儲帶寬為 5.12tb / s,單位面積算力高達 0.2TOPS / mm2,支持對每個任務進行計算資源的自適應分配和執行時間的調度。
研究團隊打造了一個搭載該芯片的多智能任務移動機器人 Tianjicat(天機貓),并設計讓它作為貓這個角色,來參與貓捉老鼠的游戲。
實驗結果顯示,與 NVIDIA Jetson TX2 相比,在 TianjicX 上跑多個網絡的延遲大幅減少了約 98.74%,動態功率降低了 50.66%。
論文作者認為,TianjicX 為移動智能機器人計算硬件的研發開辟了一條新的道路,使其能在低延遲、低功耗的情況下本地執行密集和復雜的任務,并支持多個跨計算范式神經網絡模型以各種協調方式在機器人中并行執行。
01. 為移動智能機器人設計硬件,需滿足三個核心要求
移動機器人的長期目標,是在處理復雜和未知環境時,能夠達到接近人類水平的智能。
近年來,隨著人工智能(AI)快速發展,各種神經網絡算法被廣泛應用于機器人。神經網絡算法通常是計算密集型的,為了在移動機器人上高效地實現多種神經網絡,計算機硬件的創新與高效計算尤為必要,有 3 點核心要求:
1、必須在低延遲情況下,支持多個神經模型的本地并發執行,這是提高實時處理能力的關鍵。
2、必須賦予部署多個模型的靈活性,以在處理動態場景時實現低延遲、高效率和高并發性之間的平衡。
3、必須支持異步執行和靈活的交互,以獲得較高的硬件利用率,并在開放環境中實現適應性。
然而,現有的計算硬件解決方案在滿足這些需求方面,面臨著不同的困難。底層架構或執行模型的固有瓶頸,使得現有的計算硬件,無法在本地實現低延遲和高效率的多個密集算法。
通用處理器通常無法提供大規模并行計算,導致在機器人系統中執行神經網絡時成本低、功耗高。圖形處理器(GPU)具有很強的可編程性和高并行性,但頻繁的片外內存訪問和與 CPU 的交互,致使其存在功耗高、利用率低的問題。
近年來,許多性能大幅提升的 AI 計算硬件涌現于世。基于現場可編程門陣列(FPGA)和面向特定應用設計的深度學習加速器可通過定制架構優化提供更高效的加速。
這些加速器基于傳統的馮?諾依曼體系架構,但隨著神經網絡多樣性和多任務的顯著增加,其硬件利用率和調度靈活性會面臨巨大的挑戰,很難同時在機器人中實現多種不同的高性能算法。
相比之下,采用非馮?諾伊曼架構的神經擬態芯片,是同時執行多個神經網絡模型的更優選擇。
當前神經擬態芯片通常采用預配置內核的方式,通過空間切片對神經網絡進行流水線處理。每個核心在不同的執行周期中重復執行預配置操作,導致資源分配不靈活,致使資源利用不足。
因此,清華大學研究人員研發了一種神經擬態芯片 TianjicX。
該芯片在任務執行和協作過程中具有時空彈性(spatiotemporal elasticity),即硬件對任務的計算資源和執行時間具有自適應分配能力。
02.三個關鍵層次拆解:架構、芯片、機器人系統
TianjicX 可以實現跨計算范式的神經網絡模型的真正并發執行,包括神經網絡、脈沖神經網絡(SNN)以及兩者的混合,應用于多智能任務機器人(MIT)。
為多智能任務機器人設計計算硬件,面臨兩個關鍵挑戰:一是滿足延遲并發能力(LCP)的性能要求,尤其是針對不同的神經網絡實現;二是在支持任務間交互的同時,保持每個任務的獨立執行不受干擾。
為了克服這些挑戰,研究人員從架構、芯片和模型部署等不同層次進行了一系列設計。
多智能任務機器人神經擬態計算平臺的關鍵設計包括三個層次:1)Rivulet 執行模型;2)帶有特殊編譯器的 TianjicX 芯片;3)基于 TianjicX 的機器人系統。
1、架構:設計 Rivulet 執行模型
研究人員首先開發了 Rivulet 執行模型,通過可配置的原語序列和同步-異步混合執行機制來解決效率、彈性和適應性之間的關鍵沖突,以彌合機器人需求和具體的硬件實現之間的差距。
Rivulet 模型抽象了神經網絡的基本執行活動,將神經網絡和 SNN 統一為“靜態數據”和“動態數據”,為資源分配和任務調度提供了一個具體的可操作和可描述的實體。
在此基礎上,研究團隊構建了時間和空間切片相結合的資源模型來管理多 rivulet,并通過虛擬分組,以一種同步-異步混合分組的方式設計了 rivulet 的執行,能夠支持多個獨立或相互作用的 rivulet。
這一模型,奠定了 TianjicX 芯片的架構基礎。
2、芯片:采用 28nm 制程、160 個 FCore 核心
為了有效地實現 Rivulet 模型,計算硬件需支持高效的多 rivulet 執行、核心過程控制、虛擬分組,并支持通信、調制和 rivulet 之間的相互調度。
對此,研究人員研發了一種基于 28nm 互補金屬氧化物半導體(CMOS)的神經擬態芯片 TianjicX。
該芯片集成了 160 個可配置的跨計算范式核心、大規模并行計算單元和豐富片上存儲,采用非馮?諾依曼式高度并行的多核分散架構,滿足了 Rivulet 操作需求。
為了支持高效的跨范式計算和靈活的可編程性和調度能力,研究人員從生物神經元汲取靈感,設計了統一功能核心(FCore)的微架構。在核心中,一個平衡計算和調度的專用控制器在本地管理每個核心,從而提高通用性和效率。
研究人員還設計了一個具有多精度計算的統一原語指令集,以支持 ANN(人工神經網絡)、SNN 和交叉建模的高可編程性和多功能性,并將原語進一步劃分為不同的硬件模塊,以確保硬件資源的最大化共享。
此外,通過事件驅動設計和核心的多級分組,不同的神經網絡可根據環境的動態變化異步執行,并進行全局交互。研究團隊亦進一步開發了采用時空映射方法的編譯器棧進行模型部署,充分利用了 TianjicX 的靈活性,能根據不同場景的實際需要,靈活配置多個任務。
3、機器人系統:可實時完成多項智能任務
TianjicX 芯片能提高機器人在復雜和動態環境中處理多用途和多智能任務的能力。
具體來說,彈性資源分配可以提高硬件利用率,滿足機器人不同的性能要求。獨立的執行上下文使機器人能夠并發和異步地執行多個任務;支持任務之間的交互,可確保機器人的多個模塊(即多模態感知和多運動模塊的協調)順利協作。
研究團隊制作了一個配備有 TianjicX 芯片和多模態傳感器的移動機器人 Tianjicat(天機貓),并設計了由 Tianjicat 扮演貓的貓捉老鼠游戲。
通過實現不同的神經網絡和 SNN 模型,該機器人可以實時完成聲音識別、聲源定位、目標檢測和識別、避障和決策等多項任務。
03. 詳解芯片特性,在貓鼠游戲中能效超 NVIDIA TX2
TianjicX 芯片采用聯電 28nm 高性能緊湊型(HPC+)CMOS 工藝、FBGA-225 封裝。該芯片的物理布局如下圖所示。
該芯片包括 160 個 FCore 和 1 個用于芯片間通信的高速序列化 / 反序列化(SerDes)接口。控制器只占用 FCore 大約 1% 的面積,但顯著提高了任務執行和交互的靈活性和效率。核心內存模塊由 5 個靜態隨機訪問內存(SRAM)塊組成,總容量為 144 千字節。通過高位寬并行讀寫接入接口,整個芯片在 400MHz 時鐘頻率下內存接入帶寬可達 5.12tb / s。
研究人員通過實驗評估了 TianjicX 芯片的性能,重點關注功耗、延遲和吞吐量。
兩種主流的神經網絡模型 MobileNet 和 ResNet50 使用不同的映射策略實現。下圖展示了 TianjicX 芯片的處理速度與功耗的關系。
為了進行比較,研究人員還繪制了不同類型 GPU、CPU 和深度學習加速器的性能對比。
可以看到,TianjicX 在中等功耗的情況下為 MobileNet 實現了高速的圖像處理,可見其在邊緣應用中具有競爭力。此外,TianjicX 還能在低功耗的情況下處理 ResNet50。
其實驗結果展現了 TianjicX 支持大規模人工神經網絡、SNN 和混合脈沖 / 非脈沖模型的潛力。
通過優化映射策略,TianjicX 的性能還可以得到進一步提升。研究結果表明,TianjicX 具有多尺度、跨范式處理單個神經網絡模型的能力,這是支持神經網絡模型多任務處理的關鍵。
為了展示 TianjicX 在多任務智能機器人應用方面的能力,移動機器人開發平臺 Tianjicat 構建于一輛改裝的移動汽車的基礎上,并配備了 TianjicX 芯片陣列和多模態傳感器,如下圖所示。
開發板由 4×1 陣列的 4 個 TianjicX 芯片組成,可以根據需要控制使用一個或多個芯片。值得注意的是,這些芯片可以單獨激活。在接下來的實驗中,只有一個 TianjicX 芯片被激活,用于實現各種神經網絡,其他 3 個芯片沒被激活。
研究人員進一步在復雜的動態環境中設計了一個具有挑戰性的貓捉老鼠游戲。
Tianjicat 扮演一只貓的角色,試圖抓住一只隨機奔跑的電子老鼠。各種障礙被隨機地、動態地放置在不同的位置。
這只“機器貓”需要通過視覺識別、聲音跟蹤或兩者結合的方式來追蹤老鼠,然后在不與障礙物碰撞的情況下向老鼠移動,最終追上它。
在此過程中,多種神經網絡算法被用于實現實時場景下的語音識別、聲源定位、目標檢測、避障和決策。因此,這些神經網絡算法的協同處理和并發處理是關鍵。
這項工作里,輕量級檢測卷積神經網絡(CNN)被用于端到端多目標檢測,SNN 充當聲音處理神經網絡的事件驅動開關,CNN-GRU(門控循環單元)混合網絡被用于估計聲源位置,基于 SNN 的神經狀態機(NSM)被用于進行多網絡調度和策略決策。
SNN 可以通過固有的神經元動力學記憶時間信息,并將信息編碼為二元脈沖序列,其基于閾值的機制自然也類似于決定是否要激活聲音定位網絡的開關。因此,研究人員選擇 SNN 模型作為任務中的切換神經網絡。
SNN 和 GRU 使用相同的基于 CNN 的特征(稱為 audio-CNN)提取器進行語音預處理。該算法以異步和并行的方式部署在單一 TianjicX 芯片上,根據不同網絡對計算性能的要求,采用混合時空映射的方法對一個 TianjicX 芯片有限的硬件資源進行優化分配。
整個系統占用 128 個 FCore,這些 FCore 被分配到 4 個 Step group 中,以事件驅動的方式執行。
特別是,audio-CNN 提取的特征被 GRU 和 SNN 共享。因此,通過對 rivulet 的空間和時間切片,這兩個網絡可以重用同一簇 FCore(共 4 個)。與沒有進行優化的兩個獨立 FCore 集群相比,存儲消耗減少了 8.2%,而處理時間卻沒有增加。
由于具有即時原語機制,任務間的協作和數據傳輸無需通過其他硬件進行調度。與 NVIDIA Jetson TX2 相比,在 TianjicX 上多個網絡的計算響應延遲減少了約 98.74%。
與 GPU 中多個神經網絡串行執行相比,其整個機器人系統能靈活地以事件驅動的方式運作,具有高度并行性。
每個神經網絡只在更新外部傳感器的相應輸入時執行,因此功耗較低。此外,具有高效異步并行執行和交互特性的多任務處理,對單個任務對其輸入的響應的影響可以忽略不計。
各神經網絡模型的延遲、功耗和功率效率如下圖所示。
同時處理 5 個神經網絡時,這款貓鼠游戲使用了一個 TianjicX 芯片內的 128 個核心,總動態功耗約為 0.6W。與 TX2 相比,TianjicX 的動態功率降低了 50.66%。
這些結果表明,面向在多任務智能機器人應用,TianjicX 能在兼顧低延遲和高能效的情況下實現較高的實時性能。
04. 結語:未來將探索神經擬態硬件,與機器人計算的更多可能
移動機器人的快速發展,為基于其獨特需求設計替代計算硬件帶來了機遇。
神經擬態架構不僅可以用于提高智能水平,還可以為替代計算架構設計方法提供思路,包括以分散分布的方式進行資源配置、采用事件驅動的執行和調度、通過類神經網絡活動實現近似計算、采用專門的硬件架構實現通用系統等等。
基于這些思想,這篇論文的作者設計了 Rivulet 執行模型和 TianjicX 芯片的實現,并在設計 TianjicX 時,就任務執行、資源分配和任務協作方面進行了多種權衡,以實現較高的時空彈性。
相較傳統的神經擬態芯片,TianjicX 能充分利用智能算法的數據局域性,提高內存利用率,支持多種數據移動模式,增強可編程性。
本篇論文的作者寫道:“未來,我們將繼續研究神經擬態硬件與機器人計算的結合,探索更多無人機器人的可能性。
關鍵詞: 清華大學 清華精密儀器系 光盤國家工程研究中心 類腦計算研究中心