清華類腦芯片再登國際頂刊讓機器人玩貓捉老鼠
本週四凌晨,國際學術頂刊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。
TianjicX芯片
該芯片在任務執行和協作過程中具有時空彈性(spatiotemporal elasticity),即硬件對任務的計算資源和執行時間具有自適應分配能力。
02.
三個關鍵層次拆解:
架構、芯片、機器人系統
TianjicX可以實現跨計算範式的神經網絡模型的真正並發執行,包括神經網絡、脈衝神經網絡(SNN)以及兩者的混合,應用於多智能任務機器人(MIT)。
為多智能任務機器人設計計算硬件,面臨兩個關鍵挑戰:一是滿足延遲並發能力(LCP)的性能要求,尤其是針對不同的神經網絡實現;二是在支持任務間交互的同時,保持每個任務的獨立執行不受干擾。
為了克服這些挑戰,研究人員從架構、芯片和模型部署等不同層次進行了一系列設計。
多智能任務機器人的神經擬態計算平台
多智能任務機器人神經擬態計算平台的關鍵設計包括三個層次:1)Rivulet執行模型;2)帶有特殊編譯器的TianjicX芯片;3)基於TianjicX的機器人系統。
1 、架構:設計Rivulet執行模型
研究人員首先開發了Rivulet執行模型,通過可配置的原語序列和同步-異步混合執行機制來解決效率、彈性和適應性之間的關鍵衝突,以彌合機器人需求和具體的硬件實現之間的差距。
Rivulet模型抽象了神經網絡的基本執行活動,將神經網絡和SNN統一為“靜態數據”和“動態數據”,為資源分配和任務調度提供了一個具體的可操作和可描述的實體。
在此基礎上,研究團隊構建了時間和空間切片相結合的資源模型來管理多rivulet,並通過虛擬分組,以一種同步-異步混合分組的方式設計了rivulet的執行,能夠支持多個獨立或相互作用的rivulet。
Rivulet執行模型的說明
這一模型,奠定了TianjicX芯片的架構基礎。
2 、芯片:採用28nm製程、160個FCore核心
為了有效地實現Rivulet模型,計算硬件需支持高效的多rivulet執行、核心過程控制、虛擬分組,並支持通信、調製和rivulet之間的相互調度。
對此,研究人員研發了一種基於28nm互補金屬氧化物半導體(CMOS)的神經擬態芯片TianjicX。
該芯片集成了160個可配置的跨計算範式核心、大規模並行計算單元和豐富片上存儲,採用非馮·諾依曼式高度並行的多核分散架構,滿足了Rivulet操作需求。
TianjicX硬件架構
為了支持高效的跨範式計算和靈活的可編程性和調度能力,研究人員從生物神經元汲取靈感,設計了統一功能核心(FCore)的微架構。在核心中,一個平衡計算和調度的專用控制器在本地管理每個核心,從而提高通用性和效率。
研究人員還設計了一個具有多精度計算的統一原語指令集,以支持ANN(人工神經網絡)、SNN和交叉建模的高可編程性和多功能性,並將原語進一步劃分為不同的硬件模塊,以確保硬件資源的最大化共享。
此外,通過事件驅動設計和核心的多級分組,不同的神經網絡可根據環境的動態變化異步執行,並進行全局交互。研究團隊亦進一步開發了採用時空映射方法的編譯器棧進行模型部署,充分利用了TianjicX的靈活性,能根據不同場景的實際需要,靈活配置多個任務。
編譯器棧包含一個轉換器、映射器和代碼生成器
3 、機器人系統:可實時完成多項智能任務
TianjicX芯片能提高機器人在復雜和動態環境中處理多用途和多智能任務的能力。
具體來說,彈性資源分配可以提高硬件利用率,滿足機器人不同的性能要求。獨立的執行上下文使機器人能夠並發和異步地執行多個任務;支持任務之間的交互,可確保機器人的多個模塊(即多模態感知和多運動模塊的協調)順利協作。
研究團隊製作了一個配備有TianjicX芯片和多模態傳感器的移動機器人Tianjicat(天機貓),並設計了由Tianjicat扮演貓的貓捉老鼠遊戲。
通過實現不同的神經網絡和SNN模型,該機器人可以實時完成聲音識別、聲源定位、目標檢測和識別、避障和決策等多項任務。
03.
詳解芯片特性,在貓鼠遊戲中
能效超NVIDIA TX2
TianjicX芯片採用聯電28nm高性能緊湊型(HPC+)CMOS工藝、FBGA-225封裝。該芯片的物理佈局如下圖所示。
TianjicX芯片的芯片佈局、FCore核心區及FCore核心區分區情況
该芯片包括160个FCore和1个用于芯片间通信的高速序列化/反序列化(SerDes)接口。控制器只占用FCore大约1%的面积,但显著提高了任务执行和交互的灵活性和效率。核心内存模块由5个静态随机访问内存(SRAM)块组成,总容量为144千字节。通过高位宽并行读写接入接口,整个芯片在400MHz时钟频率下内存接入带宽可达5.12tb/s。
TianjicX芯片的關鍵特性與性能
研究人員通過實驗評估了TianjicX芯片的性能,重點關注功耗、延遲和吞吐量。
兩種主流的神經網絡模型MobileNet和ResNet50使用不同的映射策略實現。下圖展示了TianjicX芯片的處理速度與功耗的關係。
執行MobileNet和ResNet50的性能與功耗評估,並展示了GPU、CPU和神經網絡加速器的性能表現
為了進行比較,研究人員還繪製了不同類型GPU、CPU和深度學習加速器的性能對比。
可以看到,TianjicX在中等功耗的情況下為MobileNet實現了高速的圖像處理,可見其在邊緣應用中具有競爭力。此外,TianjicX還能在低功耗的情況下處理ResNet50。
其實驗結果展現了TianjicX支持大規模人工神經網絡、SNN和混合脈衝/非脈沖模型的潛力。
具有代表性的SNN和混合模型的性能和功耗
通過優化映射策略,TianjicX的性能還可以得到進一步提升。研究結果表明,TianjicX具有多尺度、跨範式處理單個神經網絡模型的能力,這是支持神經網絡模型多任務處理的關鍵。
為了展示TianjicX在多任務智能機器人應用方面的能力,移動機器人開發平台Tianjicat構建於一輛改裝的移動汽車的基礎上,並配備了TianjicX芯片陣列和多模態傳感器,如下圖所示。
Tianjicat機器人、開發板、TianjicX芯片陣列實物圖
開發板由4×1陣列的4個TianjicX芯片組成,可以根據需要控制使用一個或多個芯片。值得注意的是,這些芯片可以單獨激活。在接下來的實驗中,只有一個TianjicX芯片被激活,用於實現各種神經網絡,其他3個芯片沒被激活。
研究人員進一步在復雜的動態環境中設計了一個具有挑戰性的貓捉老鼠遊戲。
Tianjicat五種主要狀態的機器人場景示意圖
Tianjicat扮演一隻貓的角色,試圖抓住一隻隨機奔跑的電子老鼠。各種障礙被隨機地、動態地放置在不同的位置。
這只“機器貓”需要通過視覺識別、聲音跟踪或兩者結合的方式來追踪老鼠,然後在不與障礙物碰撞的情況下向老鼠移動,最終追上它。
在此過程中,多種神經網絡算法被用於實現實時場景下的語音識別、聲源定位、目標檢測、避障和決策。因此,這些神經網絡算法的協同處理和並發處理是關鍵。
這項工作裡,輕量級檢測卷積神經網絡(CNN)被用於端到端多目標檢測,SNN充當聲音處理神經網絡的事件驅動開關,CNN-GRU(門控循環單元)混合網絡被用於估計聲源位置,基於SNN的神經狀態機(NSM)被用於進行多網絡調度和策略決策。
SNN可以通過固有的神經元動力學記憶時間信息,並將信息編碼為二元脈衝序列,其基於閾值的機制自然也類似於決定是否要激活聲音定位網絡的開關。因此,研究人員選擇SNN模型作為任務中的切換神經網絡。
SNN和GRU使用相同的基於CNN的特徵(稱為audio-CNN)提取器進行語音預處理。該算法以異步和並行的方式部署在單一TianjicX芯片上,根據不同網絡對計算性能的要求,採用混合時空映射的方法對一個TianjicX芯片有限的硬件資源進行優化分配。
多個任務的資源佔用情況:這些網絡都映射在一個TianjicX芯片上,實現靈活的資源共享
整個系統佔用128個FCore,這些FCore被分配到4個Step group中,以事件驅動的方式執行。
在TianjicX上的外部事件驅動和異步並行多任務執行圖
特別是,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能充分利用智能算法的數據局域性,提高內存利用率,支持多種數據移動模式,增強可編程性。
本篇論文的作者寫道:“未來,我們將繼續研究神經擬態硬件與機器人計算的結合,探索更多無人機器人的可能性。”