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