清華研制出全球首款多陣列憶阻器存算一體系統(tǒng) 能效比GPU高兩個(gè)數(shù)量級(jí)
有很多童鞋可能不知道憶阻器是什么?在開(kāi)始今天的話(huà)題之前,雷鋒網(wǎng)(公眾號(hào):雷鋒網(wǎng))編輯先為大家普及下憶阻器是什么。
所謂憶阻器,全稱(chēng)記憶電阻器(Memristor),是繼電阻、電容、電感之后的第四種電路基本元件,表示磁通與電荷之間的關(guān)系,這種組件的的電阻會(huì)隨著通過(guò)的電流量而改變,而且就算電流停止了,它的電阻仍然會(huì)停留在之前的值,直到接受到反向的電流它才會(huì)被推回去,等于說(shuō)能“記住”之前的電流量。
簡(jiǎn)言之,憶阻器(memristor)可以在斷電之后,仍能“記憶”通過(guò)的電荷,其所具備的這種特性與神經(jīng)突觸之間的相似性,使其具備獲得自主學(xué)習(xí)功能的潛力。因此,基于憶阻器的神經(jīng)形態(tài)計(jì)算系統(tǒng)能為神經(jīng)網(wǎng)絡(luò)訓(xùn)練提供快速節(jié)能的方法,但是,圖像識(shí)別模型之一 的卷積神經(jīng)網(wǎng)絡(luò)還沒(méi)有利用憶阻器交叉陣列的完全硬件實(shí)現(xiàn)。
不過(guò),最近雷鋒網(wǎng)了解到,清華大學(xué)微電子所、未來(lái)芯片技術(shù)高精尖創(chuàng)新中心錢(qián)鶴、吳華強(qiáng)教授團(tuán)隊(duì)與合作者在《自然》在線(xiàn)發(fā)表了題為“ Fully hardware-implemented memristor convolutional neural network ”的研究論文,報(bào)道了基于憶阻器陣列芯片卷積網(wǎng)絡(luò)的完整硬件實(shí)現(xiàn)。
他們提出用高能效比、高性能的均勻憶阻器交叉陣列實(shí)現(xiàn) CNN,該實(shí)現(xiàn)共集成了 8個(gè) PE ,每個(gè) PE 包含2048 個(gè)單元的憶阻器陣列,以提升并行計(jì)算效率。此外,研究者還提出了一種高效的混合訓(xùn)練方法,以適應(yīng)設(shè)備缺陷,改進(jìn)整個(gè)系統(tǒng)的性能。研究者構(gòu)建了基于憶阻器的五層 CNN 來(lái)執(zhí)行 MNIST 圖像識(shí)別任務(wù),識(shí)別準(zhǔn)確率超過(guò) 96%。
除了使用不同卷積核對(duì)共享輸入執(zhí)行并行卷積外,憶阻器陣列還復(fù)制了多個(gè)相同卷積核,以并行處理不同的輸入。相較于當(dāng)前最優(yōu)的圖形處理器(GPU),基于憶阻器的 CNN 神經(jīng)形態(tài)系統(tǒng)的能效要高出一個(gè)數(shù)量級(jí),且實(shí)驗(yàn)證明該系統(tǒng)可擴(kuò)展至大型網(wǎng)絡(luò),如殘差神經(jīng)網(wǎng)絡(luò)。該結(jié)果或可促進(jìn)針對(duì)深度神經(jīng)網(wǎng)絡(luò)和邊緣計(jì)算提供基于憶阻器的非馮諾伊曼(non-von Neumann)硬件解決方案,在處理卷積神經(jīng)網(wǎng)絡(luò)(CNN)時(shí)的能效比圖形處理器芯片(GPU)高兩個(gè)數(shù)量級(jí),大幅提升了計(jì)算設(shè)備的算力,成功實(shí)現(xiàn)了以更小的功耗和更低的硬件成本完成復(fù)雜的計(jì)算。
首個(gè)完全基于憶阻器的 CNN 硬件實(shí)現(xiàn)
據(jù)介紹,當(dāng)前國(guó)際上的憶阻器研究還停留在簡(jiǎn)單網(wǎng)絡(luò)結(jié)構(gòu)的驗(yàn)證,或者基于少量器件數(shù)據(jù)進(jìn)行的仿真?;趹涀杵麝嚵械耐暾布?shí)現(xiàn)仍然有很多挑戰(zhàn)。
比如,器件方面,需要制備高一致、可靠的陣列;系統(tǒng)方面,憶阻器因工作原理而存在固有缺陷(如器件間波動(dòng)、器件電導(dǎo)卡滯、電導(dǎo)狀態(tài)漂移等),會(huì)導(dǎo)致計(jì)算準(zhǔn)確率降低;架構(gòu)方面,憶阻器陣列實(shí)現(xiàn)卷積功能需要以串行滑動(dòng)的方式連續(xù)采樣、計(jì)算多個(gè)輸入塊,無(wú)法匹配全連接結(jié)構(gòu)的計(jì)算效率。
在這些研究成果的基礎(chǔ)之上,錢(qián)鶴、吳華強(qiáng)團(tuán)隊(duì)逐漸優(yōu)化材料和器件結(jié)構(gòu),制備出了高性能的憶阻器陣列。
在器件方面,該研究成功實(shí)現(xiàn)了一個(gè)完整的五層 mCNN,用于執(zhí)行 MNIST 手寫(xiě)數(shù)字圖像識(shí)別任務(wù)。優(yōu)化后的材料堆棧(material stack)能夠在 2048 個(gè)單晶體管單憶阻器(one-transistor–one-memristor,1T1R)陣列中實(shí)現(xiàn)可靠且均勻的模擬開(kāi)關(guān)行為。使用該研究提出的混合訓(xùn)練機(jī)制后,實(shí)驗(yàn)在整個(gè)測(cè)試集上的識(shí)別準(zhǔn)確率達(dá)到了 96.19%。
利用混合訓(xùn)練方法得到 mCNN
此外,該研究在三個(gè)并行憶阻器卷積器中復(fù)制了卷積核,從而將 mCNN 的延遲降低約 2/3。該研究得到的高度集成神經(jīng)形態(tài)系統(tǒng)彌補(bǔ)了基于憶阻器的卷積運(yùn)算和全連接 VMM 之間的吞吐量差距,從而為大幅提升 CNN 效率提供了可行的解決方案。
架構(gòu)方面,之前基于憶阻器的 demo 依賴(lài)于單一陣列,其主要原因是生成高度可重復(fù)的陣列面臨巨大挑戰(zhàn)。憶阻器設(shè)備的易變性和不完美特性被認(rèn)為是神經(jīng)形態(tài)計(jì)算應(yīng)用的主要瓶頸。該研究提出了一種基于憶阻器的靈活計(jì)算架構(gòu),適用于神經(jīng)網(wǎng)絡(luò)。
存算一體系統(tǒng)架構(gòu)
憶阻器單元使用 TiN/TaO_x/HfO_x/TiN 的材料堆疊,通過(guò)調(diào)節(jié)電場(chǎng)和熱,在增強(qiáng)(SET)和抑制(RESET)這兩種情況下均展現(xiàn)出連續(xù)電導(dǎo)率調(diào)節(jié)能力。材料和制造流程與傳統(tǒng)的 CMOS 流程兼容,從而使憶阻器陣列可以方便地內(nèi)置在晶圓的后段制程中,以減少流程變動(dòng),實(shí)現(xiàn)高復(fù)現(xiàn)性。得到的交叉陣列在同等的編程條件下具備均勻的模擬開(kāi)關(guān)行為。因此,多憶阻器陣列硬件系統(tǒng)基于自定義印刷電路板(PCB)和 FPGA 評(píng)估板(ZC706, Xilinx)構(gòu)建。
系統(tǒng)方面,該系統(tǒng)主要包含八個(gè)基于憶阻器的處理元件(PE)。每個(gè) PE 集成了 2048 個(gè)單元的憶阻器陣列。每個(gè)憶阻器與晶體管的漏級(jí)端相連,即 1T1R 配置。核心 PCB 子系統(tǒng)具備八個(gè)憶阻器陣列芯片,每個(gè)憶阻器陣列具備 128 x 16 個(gè) 1T1R 單元。在水平方向上共有 128 條并行字線(xiàn)和 128 條源線(xiàn),在垂直方向上共有 16 條位線(xiàn)。
基于憶阻器的硬件系統(tǒng)具備可靠的多級(jí)電導(dǎo)率狀態(tài)
該陣列展示了極具可重復(fù)性的多級(jí)電導(dǎo)率狀態(tài),成功證明了存算一體架構(gòu)全硬件實(shí)現(xiàn)的可行性。
有何優(yōu)勢(shì)?
眾所周知,CNN 是最重要的深度神經(jīng)網(wǎng)絡(luò)之一,在圖像處理相關(guān)任務(wù)中發(fā)揮關(guān)鍵作用,如圖像識(shí)別、圖像分割和目標(biāo)檢測(cè)。
CNN 的典型計(jì)算步驟需要大量滑動(dòng)卷積操作。從這個(gè)方面來(lái)看,CNN 需要支持并行乘積累加運(yùn)算(MAC)的計(jì)算單元。而這需要重新設(shè)計(jì)傳統(tǒng)的計(jì)算系統(tǒng),以便以更高的性能、更低的能耗來(lái)運(yùn)行 CNN,這些計(jì)算系統(tǒng)包括通用應(yīng)用平臺(tái)(如 GPU)、應(yīng)用特定的加速器等。
但是,計(jì)算效率的進(jìn)一步提升最終受限于系統(tǒng)的馮諾伊曼架構(gòu),該架構(gòu)中的內(nèi)存和處理單元是物理分離的,從而導(dǎo)致大量能耗,以及不同單元之間數(shù)據(jù)搬運(yùn)的高延遲。
與之相反,基于憶阻器的神經(jīng)形態(tài)計(jì)算可以提供非馮諾伊曼計(jì)算范式,即存儲(chǔ)數(shù)據(jù),從而消除數(shù)據(jù)遷移的消耗。憶阻器陣列直接使用歐姆定律進(jìn)行加法運(yùn)算,使用基爾霍夫定律(Kirchhoffs law)進(jìn)行乘法運(yùn)算,因而能夠?qū)崿F(xiàn)并行存內(nèi)(in-memory)MAC 運(yùn)算,從而模擬存內(nèi)計(jì)算(in-memory computing),并實(shí)現(xiàn)速度和能效的大幅提升,減小誤差。