因?yàn)閷I(yè)
所以領(lǐng)先
近日,清華大學(xué)集成電路學(xué)院教授吳華強(qiáng)團(tuán)隊(duì)研制出一顆新型芯片,能高效“片上學(xué)習(xí)”不少人工智能任務(wù)。這顆芯片的核心元器件是“憶阻器”,架構(gòu)是“存算一體”,創(chuàng)新點(diǎn)在于能耗只有常規(guī)系統(tǒng)的3%,研究水平很高,2023年9月14日在線發(fā)表在《科學(xué)》上。
美國(guó)芯片產(chǎn)業(yè)出口管制的背景下,芯片話題自帶熱度,清華的這個(gè)高水平芯片成果,引發(fā)了不少人的興趣,希望看到中國(guó)芯片技術(shù)的新突破,但又感覺(jué)看不懂,這里我們需要關(guān)注“存算一體”、“憶阻器”以及“片上學(xué)習(xí)”這三個(gè)點(diǎn),以及它們的協(xié)同一體化。
日常的編程,大多是在軟件層面進(jìn)行,其中“軟硬件結(jié)合”、“嵌入式編程”指的是開發(fā)者能夠?qū)鞲衅?、相機(jī)之類的硬件外設(shè)進(jìn)行連接、SDK調(diào)用,但不需要知道硬件細(xì)節(jié)。
再深入,編程可以延伸到操作系統(tǒng)、指令集層面,這要求開發(fā)者對(duì)整個(gè)計(jì)算系統(tǒng)更為了解,用匯編語(yǔ)言之類的辦法或者繞開普通編程與界面工具的限制,直接對(duì)系統(tǒng)進(jìn)行深層調(diào)用,進(jìn)而提高效率,但這還是在軟件層面,思維都是基于0-1數(shù)值邏輯的。
繼續(xù)深入,就涉及到到芯片層面。由于芯片和系統(tǒng)架構(gòu)決定了計(jì)算系統(tǒng)的特性,有一定實(shí)力的公司會(huì)直接使用芯片進(jìn)行開發(fā),甚至自研復(fù)雜的芯片。目前階段,制造芯片與傳統(tǒng)IT產(chǎn)業(yè)01邏輯有區(qū)別,更像是一個(gè)在硅片上以納米尺度繡花的物理化學(xué)過(guò)程,它的基礎(chǔ)是半導(dǎo)體元器件。所以,芯片設(shè)計(jì),是IT業(yè)真正“軟硬兼修”的連接環(huán)節(jié)。它一頭要理解指令集、操作系統(tǒng)、程序邏輯、人工智能等軟件知識(shí),一頭又要和元器件、芯片架構(gòu)等底層硬件知識(shí)打交道。
近年來(lái),由于神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)的流行,業(yè)界在芯片設(shè)計(jì)層面對(duì)神經(jīng)網(wǎng)絡(luò)的研究也很熱門。清華的憶阻器芯片,就是把以上各類知識(shí)綜合到一起,深入理解之后的創(chuàng)新。在這個(gè)層面,如何存儲(chǔ)、更新數(shù)據(jù),都需要深入思索,并作出創(chuàng)新。
雖然憶阻器與交叉陣列展現(xiàn)了潛在的性能,但是要實(shí)際做出芯片應(yīng)用,體現(xiàn)憶阻器的優(yōu)點(diǎn),還是個(gè)相當(dāng)有挑戰(zhàn)性的事——這需要對(duì)機(jī)器學(xué)習(xí)算法、系統(tǒng)架構(gòu)、元器件設(shè)計(jì)、芯片設(shè)計(jì)、芯片制造都有相當(dāng)?shù)牧私?,才能做出完整的?yàn)證系統(tǒng)。而清華作者們就是具體實(shí)現(xiàn)了一個(gè)基于憶阻器交叉陣列的新架構(gòu)芯片,能算是完全集成(fully integrated)的憶阻器芯片,并通過(guò)一系列人工智能任務(wù)上展現(xiàn)了芯片架構(gòu)的優(yōu)點(diǎn)與潛力。
清華團(tuán)隊(duì)開發(fā)的憶阻器芯片架構(gòu)叫STELLAR,有兩個(gè)憶阻器交叉陣列數(shù)組,大一些的是2T2R的,有1568*100個(gè)憶阻器,在神經(jīng)網(wǎng)絡(luò)模型中代表784*100的權(quán)重矩陣。小一些的是1T1R的,有100*20個(gè)憶阻器,代表100*10的權(quán)重矩陣(注意不是100*20)。兩個(gè)憶阻器交叉陣列組合成了784*100*10的一個(gè)三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于完成一些小型的人工智能算法任務(wù)。
這兩個(gè)Crossbar各有特性。大的是2T2R的,里面的權(quán)重是“off-chip”離線訓(xùn)練好的,然后上傳到交叉陣列里面,它的特點(diǎn)是可以并行計(jì)算矩陣乘法,節(jié)點(diǎn)數(shù)多,展現(xiàn)了“存算一體”的優(yōu)良特性。小的是1T1R的,規(guī)模小,但是后面附帶權(quán)重更新邏輯,可以在芯片內(nèi)訓(xùn)練更新網(wǎng)絡(luò)權(quán)重,展現(xiàn)了“片上學(xué)習(xí)”(on-chip learning)的功能。
兩個(gè)憶阻器交叉陣列結(jié)合CMOS芯片制造工藝,真的造出來(lái)了,上圖是2T2R Crossbar的局部切片圖。這個(gè)生產(chǎn)工藝良率接近100%,切片圖像清晰。憶阻器元器件的制造應(yīng)該不是難題了,材料也從二氧化鈦?zhàn)兂闪藥追N物質(zhì)復(fù)合,元器件性能應(yīng)該還有提升空間。
芯片上面也是有許多CMOS晶體管的,有輔助核心模塊的周邊電路,處理神經(jīng)網(wǎng)絡(luò)前向推導(dǎo)、反向傳播學(xué)習(xí)的邏輯。還有ADC轉(zhuǎn)換,將兩個(gè)憶阻器交叉陣列的模擬物理量輸出轉(zhuǎn)換成數(shù)字。應(yīng)用這顆芯片,其實(shí)就是用里面兩個(gè)權(quán)重矩陣的推理與訓(xùn)練功能。
這芯片可以獨(dú)立地作為一個(gè)神經(jīng)網(wǎng)絡(luò)運(yùn)作,也可以在外面再加上一些層,作為網(wǎng)絡(luò)的一部分。如實(shí)現(xiàn)CNN網(wǎng)絡(luò)時(shí),前面需要在外接電腦上實(shí)現(xiàn)一些卷積層,用這兩個(gè)矩陣當(dāng)最后的全連接層輸出。
測(cè)試與訓(xùn)練時(shí),需要外接的設(shè)備對(duì)這芯片傳入數(shù)據(jù)、接收結(jié)果。整個(gè)測(cè)試體系搭建起來(lái)后,就是一個(gè)完整的系統(tǒng),可以對(duì)芯片的性能進(jìn)行完整的測(cè)試。測(cè)試的神經(jīng)網(wǎng)絡(luò)功能相對(duì)簡(jiǎn)單但能展現(xiàn)特性,例如,輸出是10個(gè)節(jié)點(diǎn),正好對(duì)應(yīng)0-9的10個(gè)數(shù)字,可以用來(lái)測(cè)MINST數(shù)據(jù)集里的手寫數(shù)字識(shí)別。
芯片架構(gòu)叫STELLAR,是“sign- and threshold-based learning”的簡(jiǎn)稱,指的是訓(xùn)練中的創(chuàng)新。如上圖,W1是大的交叉陣列,輸入向量X進(jìn)來(lái),乘以矩陣W1,再用激活函數(shù)(Activation function)ReLU變換——其實(shí)很簡(jiǎn)單,負(fù)數(shù)變0,正數(shù)不變——變成向量Y1。Y1再乘以矩陣W2,再ReLU變換,成為輸出向量Y2。Y2與訓(xùn)練樣本T比較,生成誤差向量E。
清華團(tuán)隊(duì)的創(chuàng)新是,對(duì)W2的訓(xùn)練,先將Y1、Y2、E三個(gè)向量的符號(hào)抽出來(lái),實(shí)施更好的權(quán)重更新辦法。其出發(fā)點(diǎn)是,一個(gè)權(quán)重是用一正一負(fù)兩個(gè)憶阻器存儲(chǔ)的,可以選擇性根據(jù)符號(hào),一列一起更新。這是深入思考反向傳播的權(quán)重更新算法,結(jié)合元器件架構(gòu),實(shí)現(xiàn)了憶阻器潛在的并行功能。如圖,權(quán)重更新分為SET和RESET兩個(gè)步驟,SET步驟只對(duì)正的符號(hào)更新正Cell,對(duì)負(fù)的符號(hào)更新負(fù)Cell,而RESET正相反。這樣SET和RESET分別都可以按列并行加速了。
另一個(gè)創(chuàng)新是,在誤差向量E上加一個(gè)threshold,預(yù)先將一些微小的誤差過(guò)濾掉,這樣給出的符號(hào)向量,訓(xùn)練性能更優(yōu)。這個(gè)threshold是可配置的,對(duì)不同的網(wǎng)絡(luò)模型可以設(shè)置相應(yīng)的過(guò)濾門限值,這應(yīng)該是結(jié)合SET和RESET特性的進(jìn)一步優(yōu)化。
這個(gè)STELLAR架構(gòu),是為展現(xiàn)高效的片上學(xué)習(xí)功能。清華團(tuán)隊(duì)進(jìn)行了多項(xiàng)測(cè)試,如追逐光點(diǎn)的運(yùn)動(dòng)小車。光點(diǎn)在前面一個(gè)車的尾燈上,后面的運(yùn)動(dòng)小車用攝像頭拍前面的圖像,用憶阻器芯片計(jì)算決定操控動(dòng)作。夜晚的追光功能用CNN網(wǎng)絡(luò)事先訓(xùn)練好了,前6個(gè)卷積層在PC上實(shí)現(xiàn),后面512*100*10的兩個(gè)全連接層權(quán)重轉(zhuǎn)移到兩個(gè)憶阻器交叉陣列上了。
實(shí)驗(yàn)表明,晚上跟尾燈表現(xiàn)不錯(cuò)。但是白天因?yàn)闆](méi)訓(xùn)練,就追得不好。收集白天圖像,對(duì)后一個(gè)1T1R的憶阻器交叉陣列進(jìn)行“片上學(xué)習(xí)”。只要100次訓(xùn)練就有大幅提升,白天也能跟好了,同時(shí)晚上也還是能更好。
另一個(gè)實(shí)驗(yàn)是,事先將識(shí)別數(shù)字0、2-9的9個(gè)數(shù)字的網(wǎng)絡(luò)訓(xùn)練好,784*100*10的網(wǎng)絡(luò)權(quán)重轉(zhuǎn)移到憶阻器芯片里(正好全用上了),故意不訓(xùn)練數(shù)字1。之后再把1的樣本放上來(lái),對(duì)后一個(gè)憶阻器交叉陣列進(jìn)行訓(xùn)練,只要100個(gè)樣本,1也能認(rèn)了,識(shí)別率從7%提升到93%,老的數(shù)字識(shí)別率只是從95.3%微降到93.2%,這說(shuō)明芯片能適應(yīng)新類型的學(xué)習(xí)樣本。
還有語(yǔ)音識(shí)別演示,女聲提前訓(xùn)練好,男聲在片上學(xué)習(xí),也能學(xué)成。還通過(guò)ResNet網(wǎng)絡(luò)的例子,展示了架構(gòu)的可擴(kuò)散性。這些人工智能任務(wù),以及網(wǎng)絡(luò)架構(gòu),按現(xiàn)在的深度學(xué)習(xí)進(jìn)展來(lái)看,都是較為基礎(chǔ)的(都還算是實(shí)用),但是用憶阻器芯片來(lái)演示展現(xiàn)特性,是文章的創(chuàng)新。
在字符識(shí)別測(cè)試時(shí),清華團(tuán)隊(duì)還用48天進(jìn)行了重復(fù)測(cè)試,結(jié)果是穩(wěn)定的。這說(shuō)明憶阻器芯片里的權(quán)重是穩(wěn)定的,這是芯片能實(shí)用的重要特性。
可以看出,這顆憶阻器芯片是真的有“存算一體”的特性。矩陣權(quán)重就在芯片里,計(jì)算過(guò)程也是在芯片里完成的,而且還有神經(jīng)形態(tài)處理器的仿生特性。
通過(guò)STELLAR架構(gòu)并行加速等創(chuàng)新,相對(duì)專用集成電路(ASIC)加速的常規(guī)系統(tǒng),清華團(tuán)隊(duì)實(shí)現(xiàn)了35倍的能耗效率,這是芯片架構(gòu)的突出亮點(diǎn)。STELLAR架構(gòu)里,不需要高能耗的write verification,在能耗效率上非常有優(yōu)勢(shì)。而且這是一顆相對(duì)完整獨(dú)立的憶阻器芯片,較為系統(tǒng)地展示了憶阻器在神經(jīng)網(wǎng)絡(luò)計(jì)算方面的潛力,對(duì)于邊緣計(jì)算有突破性意義。
通過(guò)以上的介紹,我們?cè)倏葱侣勍ǜ宓膬?nèi)容,就會(huì)明白多了(以下為通稿原文):
● 全球首顆全系統(tǒng)集成的、支持高效片上學(xué)習(xí)(機(jī)器學(xué)習(xí)能在硬件端直接完成)的憶阻器存算一體芯片,在支持片上學(xué)習(xí)的憶阻器存算一體芯片領(lǐng)域取得重大突破。
● 該芯片有望促進(jìn)人工智能、自動(dòng)駕駛、可穿戴設(shè)備等領(lǐng)域發(fā)展。
● 芯片包含支持完整片上學(xué)習(xí)所必需的全部電路模塊,成功完成圖像分類、語(yǔ)音識(shí)別和控制任務(wù)等多種片上增量學(xué)習(xí)功能驗(yàn)證,展示出高適應(yīng)性、高能效、高通用性、高準(zhǔn)確率等特點(diǎn),有效強(qiáng)化智能設(shè)備在實(shí)際應(yīng)用場(chǎng)景下的學(xué)習(xí)適應(yīng)能力。
● 相同任務(wù)下,該芯片實(shí)現(xiàn)片上學(xué)習(xí)的能耗僅為先進(jìn)工藝下專用集成電路(ASIC)系統(tǒng)的3%,展現(xiàn)出卓越的能效優(yōu)勢(shì),極具滿足人工智能時(shí)代高算力需求的應(yīng)用潛力,為突破馮·諾依曼傳統(tǒng)計(jì)算架構(gòu)下的能效瓶頸提供了一種創(chuàng)新發(fā)展路徑。
通過(guò)以上的討論也能看出,清華憶阻器芯片主要還是在性能探索層面,大規(guī)模進(jìn)入工業(yè)實(shí)用還需要進(jìn)一步優(yōu)化。因?yàn)榛诔R?guī)芯片的人工智能系統(tǒng)已經(jīng)大規(guī)模應(yīng)用了,深度學(xué)習(xí)取得突破后,識(shí)別性能相當(dāng)好,一些應(yīng)用成本很低。
目前來(lái)看,憶阻器芯片能夠承載的網(wǎng)絡(luò)規(guī)模還是有限,識(shí)別的準(zhǔn)確率只是90%多,離100%還有不小的距離,和工業(yè)應(yīng)用的高可靠性標(biāo)準(zhǔn)還是有點(diǎn)差距。一些復(fù)雜應(yīng)用使用了規(guī)模很大的深度神經(jīng)網(wǎng)絡(luò)DNN,憶阻器交叉陣列只能在里面占部分環(huán)節(jié),整個(gè)應(yīng)用還是需要以傳統(tǒng)的馮·諾依曼結(jié)構(gòu)為基礎(chǔ)。
也就是說(shuō),簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)應(yīng)用,傳統(tǒng)的架構(gòu)已經(jīng)夠好,能耗和成本都?jí)虻?。?fù)雜的應(yīng)用,傳統(tǒng)架構(gòu)是有“馮·諾依曼瓶頸”,能耗高很需要改進(jìn),憶阻器芯片現(xiàn)階段還不足以在復(fù)雜應(yīng)用中充分發(fā)揮作用。但是,憶阻器芯片確實(shí)展現(xiàn)出了并行加速與高效存儲(chǔ)的特性,這讓人很感興趣,相信未來(lái)會(huì)有更多進(jìn)展。