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