999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

憶阻器類腦計算芯片研究現狀綜述*

2023-03-09 00:35:48陳長林駱暢航劉海軍
國防科技大學學報 2023年1期

陳長林,駱暢航,劉 森,劉海軍

(國防科技大學 電子科學學院, 湖南 長沙 410073)

隨著以卷積神經網絡(convolutional neural networks,CNN)、深度神經網絡(deep neural networks,DNN)、遞歸神經網絡(recurrent neural networks,RNN)等為代表的神經網絡算法[1]的不斷成熟,人工智能(artificial intelligence,AI)在自動駕駛、語音與圖像識別、知識搜索、語義理解等眾多應用領域獲得了廣泛應用[2]。為了提高神經網絡推理計算的效率和能效,涌現了TPU[3]、DaDianNao[4]、Tianjic[5]、Thinker[6]等多款采用定制架構的AI加速芯片。然而,上述AI芯片本質上仍然采用了存算分離的馮·諾伊曼架構,在計算時需要將數據在存儲單元與運算單元之間進行頻繁搬移,因而仍然具有較高的延遲和能耗[7]。相較而言,人腦中由于神經突觸具有網絡權值存儲和計算功能(見圖1(a))而具有極高的能效。因此,借鑒人腦結構和信息處理機制,開發類腦芯片,突破馮· 諾伊曼架構瓶頸實現高能效智能計算[8]成為當前研究的熱點。

神經網絡由多層神經元以及神經元之間的突觸連接組成,其中神經突觸數量遠遠超過神經元數量。例如在人腦中,神經突觸數量(1014~1015)約為神經元數量的103倍。同時,神經網絡推理計算過程主要由神經元輸入向量與突觸權重矩陣的卷積(卷積層)或相乘(全連接層)組成,占所有計算的90%以上[4], 因此開發高性能的人工神經突觸是類腦芯片設計的關鍵所在。而憶阻器是實現人工神經突觸的最佳基礎器件選擇之一:①憶阻器阻值可以在外部信號作用下進行調整,因此能夠模擬神經突觸的可塑性;②憶阻器是非易失器件,可以用于儲存突觸連接權重;③流經憶阻器的電流大小由其電導值與電壓值相乘得到,對應突觸權重與神經元激勵的加權相乘運算。同時憶阻器具有結構簡單、功耗低、尺寸小、可三維集成、與CMOS工藝兼容等優點,因此成為大規模類腦計算基礎器件的最佳選擇,獲得了大量關注與研究[9]。

在多層神經網絡中,相鄰兩層神經元的突觸連接可采用如圖1(b)所示憶阻器交叉陣列實現,陣列中每一個交叉點處的憶阻器存儲了兩個神經元之間的突觸連接強度,多個陣列組合可以實現深度神經網絡。輸入信號以電壓的形式加載到憶阻器陣列每一行,與憶阻器作用產生的電流在列線上相累加并被感知電路讀取,在單個周期內得到乘累加計算結果,即Ij=∑ViGij。憶阻器交叉陣列同時實現了權值存儲和乘累加運算的功能,其中乘法運算的并行度與憶阻器數量相同,累加運算的并行度與陣列的行或列數(取決于陣列計算單元結構)相同。在外圍反饋電路配合下,還可通過訓練實現憶阻器阻值亦即突觸連接強度的在線調整,實現在線學習能力。

(a) 神經元與神經突觸(a) Neurons and synapses

(b) 憶阻器交叉陣列(b) Memristor crossbar array圖1 生物神經元連接與憶阻器交叉陣列Fig.1 Neuron connections and memristor crossbar array

近年來,將憶阻器陣列與CMOS電路混合集成實現類腦芯片已成為研究的熱點并取得了諸多研究成果。為把握相關研究進展并總結發展趨勢,本文對現有設計進行調研分析。對比分析憶阻類腦芯片中各基礎功能模塊的實現方案,總結當前研究仍需解決的問題,并指出該類芯片走向實際應用所面臨的挑戰。

1 現有憶阻類腦計算芯片與架構

基于憶阻器的類腦芯片研究大致可以分為憶阻器陣列研究、憶阻類腦芯片架構研究以及全功能憶阻類腦芯片研究三個方面。其中,憶阻器陣列研究的目的在于優化陣列生產工藝、提取陣列性能參數并搭建板級系統展示其類腦計算應用可行性,憶阻類腦芯片架構研究根據應用需求及陣列性能設計新型體系結構并進行仿真驗證,全功能憶阻類腦芯片研究開發完整功能芯片并推廣應用。三個方面的研究相互檢驗、相互促進。

1.1 憶阻器陣列研究

大量憶阻類腦芯片研究以憶阻器陣列芯片+板級電路形式展開,主要進行陣列中器件性能測試并展示基于憶阻器實現多種類腦計算應用的可能性。

利用憶阻器的權值存儲和模擬計算能力,憶阻器陣列可用于實現非脈沖型神經網絡。如Alibart等[10]于2013年基于2×10規模憶阻器陣列采用離線和在線訓練兩種方式實現了字母“X”和“T”的分辨,隨后該團隊Prezioso等[11]于2015年在更大規模(12×12)1R憶阻器陣列上(見圖2(a)),通過在線學習方式實現了對3種3×3黑白字母圖像的分類,首次通過實驗驗證了基于憶阻器陣列運行單層感知機網絡實現模式識別的可行性。

(a) 12×12陣列芯片[11](a) 12×12 sized crossbar[11]

(b) 32×32陣列芯片[15](b) 32×32 sized crossbar[15]

(c) 128×64陣列芯片[16](c) 128×64 sized crossbar[16]圖2 部分純憶阻器陣列芯片Fig.2 Some pure memristor crossbar chip

充分利用憶阻器的阻值可調性能,憶阻器陣列還可用于實現脈沖型神經網絡[12]。如Covi等[13]利用脈沖時間依賴可塑性(spike-timing dependent plasticity, STDP)機制,設計實現了包含25個前神經元、5個后神經元和125個神經突觸的脈沖神經網絡,經過無監督學習訓練后的網絡可以識別5×5黑白像素的5個字母。Choi等[14]利用赫布學習法則基于9×2憶阻器陣列通過無監督學習實現了主成分分析能力。

隨著憶阻器陣列生產工藝的不斷優化,陣列規模逐漸增大,所能實現的計算也日益復雜。如Sheridan等[15]基于32×32憶阻器陣列實現了灰度圖像稀疏編碼功能(見圖2(b))。Li等[16]基于128×64規模的可重構憶阻器交叉陣列(見圖2(c))實現了信號處理、圖像壓縮、卷積濾波與增強學習[17]等處理。Yao等[18]基于1T1R結構的128×8規模陣列實現了320像素灰白人臉圖像識別功能,其功耗與在英特爾Xeon Phi處理器上實現相比降低為原來的1/1 000。

上述工作中,憶阻器陣列芯片只實現了突觸陣列的功能,權值讀寫、待處理信號加載與計算結果讀取等功能單元電路仍需在板卡上實現。但相關工作已完整驗證了憶阻器類腦計算架構和處理流程,展現了憶阻器類腦計算在圖像處理、稀疏編碼、信號處理等復雜的非結構化數據處理中,相比傳統處理器件具有巨大的能效和面積(集成度)優勢,為全功能類腦芯片的設計提供了架構、電路設計依據。

1.2 憶阻類腦計算芯片架構研究

在憶阻器陣列研究成果基礎上,根據神經網絡計算需求,多個研究團隊提出了新型憶阻類腦計算芯片體系架構并進行了仿真驗證。

美國匹茲堡大學研究團隊在2015年提出一款名為“RENO”[19]的憶阻類腦計算架構。如圖3所示,各憶阻器陣列之間采用星型拓撲結構進行互聯,并采用混合信號進行傳輸,其中數字信號用于路由路徑的選擇,模擬信號用于傳輸陣列計算結果,以降低CPU與各計算單元之間的通信延遲。該結構第一次探討了陣列間片上互聯策略以及神經網絡加速單元與控制處理器之間的協作方式。然而陣列之間的模擬通信方式決定了神經網絡必須以全展開的方式運行,無法通過權重和中間結果復用等[2]方式降低硬件實現代價。

(a) RENO系統架構(a) RENO system architecture

(b) 混合信號路由結構(b) Mix signal router structure圖3 RENO系統體系結構[19]Fig.3 RENO system architecture[19]

謝源團隊聯合清華大學和惠普實驗室于2016年提出一種名為“PRIME”[20]的處理架構,如圖4所示,以期打破未來計算系統的“存儲墻”限制。其中的憶阻器陣列分為存儲單元和全功能單元。全功能單元包含了解碼與驅動電路、讀出電路、緩存單元等,使得其既可用于數據存儲,又可配置為神經網絡計算加速模塊。與多款基于數字邏輯電路的神經網絡加速系統相比,具有巨大的能效提升。

圖4 PRIME結構框圖[20]Fig.4 PRIME system architecture diagram[20]

Shafiee等[21]在2016年提出了“ISAAC”類腦芯片架構,如圖5所示。該系統具有多個Tile,每個Tile集成多個原位乘累加單元(in-situ multiply-accumulate,IMA),每個IMA中包含多個憶阻器陣列,用于存儲突觸權重并執行點積計算。ISAAC的多核結構使得神經網絡各卷積層可分配到不同的憶阻器陣列上采用并行流水方式工作,降低了對數據緩沖空間的要求,增加了吞吐量。然而該結構并未充分挖掘神經網絡中的數據和權重的復用特性以進一步提高計算效率。

圖5 ISAAC類腦芯片架構[21]Fig.5 ISAAC neuromorphic chip architecture[21]

在采用與ISAAC類似的層次化多陣列架構基礎上,MAX2[22]采用了脈動陣列架構以及網絡權重復制和輸入特征圖像復用等策略(見圖6),提高了數據復用率,大大減少了處理單元之間的數據移動需求,提高了時間、能量和面積利用效率。通過在NeuroSim平臺上運行VGGNet、ResNet和AlexNet網絡評估顯示,MAX2的計算能效相比ISAAC提高了5.2倍。

圖6 MAX2權重映射策略Fig.6 MAX2 weight mapping strategy

南洋理工大學研究團隊在2018年提出了一種基于3D CMOS-ReRAM的張量神經網絡加速芯片[23]。如圖7所示,它們的設計有三層:第一層為憶阻器交叉陣列層,陣列之間采用H-樹拓撲結構進行互聯,用于存儲網絡權重或待處理數據;第二層同為憶阻器交叉陣列層,通過硅通孔(through silicon via,TSV)從第一層接收張量核的數據實現乘累加運算;第三層為CMOS電路層,用于協調整個神經網絡的工作和執行非線性映射。由于3D CMOS-ReRAM的這種方法沒有進行權值復用,且結構相對固定,只能實現一些簡單的神經網絡結構。

圖7 3D CMOS-ReRAM加速芯片主體架構[23]Fig.7 3D CMOS-ReRAM accelerator architecture[23]

上述研究對基于多個憶阻器陣列實現復雜類腦計算所應采用的系統體系結構進行了有益的探索,其仿真結果證明了憶阻類腦計算相比于傳統數字AI芯片在能效上的優勢,為憶阻類腦芯片的發展提供了理論指導。然而,上述架構均采用了理想化的陣列模型,并假設憶阻器陣列與CMOS外圍電路的混合集成工藝以及陣列間的互聯通信結構均已具有了完善解決方案。而實際上,這些基礎模塊實現方案仍需通過流片進行驗證。

1.3 全功能憶阻類腦芯片研究

隨著憶阻器陣列生產工藝和計算架構的逐漸完善,大量研究開始嘗試將憶阻器陣列與CMOS外圍電路在單個芯片上進行集成以實現完整計算功能,并通過增加陣列數量來實現復雜神經網絡。

清華大學吳華強團隊基于130 nm工藝設計實現了如圖8所示芯片[24]。該芯片可實現三層感知網絡并具備在線學習能力。芯片中集成2個784×100規模和2個100×10規模1T1R憶阻陣列,分別用于實現輸入神經元和隱藏神經元、隱藏神經元和輸出神經元之間的突觸連接。感知網絡中的每個權重均由一對差分單元實現,隱藏神經元由可配置比較器實現。基于該芯片運行手寫體識別網絡與全精度網絡相比僅有不到5%的精度損失。然而也可以看到,該芯片所采用結構主要針對手寫體識別網絡,無法用于其他類型網絡。同時,除隱藏層外,原始待處理信號的加載與最終處理結果的讀出仍需片外電路實現。2020年,該團隊將2個1T1R陣列優化為1個2T2R陣列,并改進了讀出電路設計,將手寫體識別網絡精度損失降到了2%[25]。

圖8 清華大學設計的兩款憶阻類腦芯片[24-25]Fig.8 Neuromorphic chip designed by THU[24-25]

為通過實驗驗證多個憶阻器陣列實現多層卷積神經網絡的能力,清華大學和馬薩諸塞大學聯合開發了如圖9所示多陣列板級系統[26]。該系統搭載了8個基于憶阻器的處理單元(processing element,PE)芯片、ARM核、DRAM以及其他功能單元。每個PE芯片中集成1個128×16規模1T1R憶阻器陣列以及輸入寄存器、輸出寄存器、ADC采樣與移位相加等邏輯單元。每個憶阻器均可實現32種阻態。基于該系統運行5層CNN網絡進行MNIST手寫體識別可達到97%以上識別率,與Tesla V100型號GPU相比實現了110倍能效提升和30倍性能密度提升。

(a) 板級系統與芯片版圖(a) Board level system and chip layout

(b) 系統結構框圖(b) System architecture圖9 清華大學與馬薩諸塞大學聯合設計多陣列板級系統[26]Fig.9 Multi-crossbar system designed by THU and UMass[26]

與上述工作不同,國防科技大學研究團隊通過將多個陣列集成到單個芯片中進行多陣列協同工作驗證。如圖10所示,芯片基于180 nm工藝設計,集成了4個計算單元(PE)。其中每個PE由256×64規模憶阻器陣列、輸入數據寄存器、1-bit DAC、多路選擇器、控制邏輯、積分或電流電壓轉換等模塊組成。待處理數據采用數字形式輸入,在芯片內通過1-bit DAC轉換為模擬脈沖后加載到憶阻器陣列上完成乘累加運算。陣列列線累積電流可在片內進行積分或者直接轉換為電壓。各PE計算結果在輸出多路選擇器(output multiplexer,OMUX)控制下輪流輸出片外并通過高精度ADC進行采樣。芯片模擬部分電路設計時鐘為2 MHz,整個芯片具備16.384 GOPS計算能力。基于該芯片可實現多層神經網絡手寫體識別、灰度圖像目標檢測等應用。

(a) 芯片架構(a) Chip architecture

(b) 芯片版圖(b) Chip layout圖10 國防科技大學開發的多陣列集成芯片Fig.10 Multi memristor crossbar based neuromorphic chip designed by NUDT

密歇根大學Cai等[27]設計實現了如圖11所示全功能芯片。該芯片集成了54×108規模1R憶阻器陣列、必要接口電路、數字總線與OpenRISC處理器等單元。從圖中可以看到,芯片CMOS電路部分和憶阻器陣列部分通過一層鈍化層相隔離,CMOS電路管腳與憶阻器陣列行列線之間通過外部引線互聯。因此,實際上是通過特殊工藝將2個芯片堆疊到了同一襯底上。陣列的每個行線和列線上均配備了ADC和DAC模塊,使得每個行線或列線均可配置為輸入或輸出接口,增大了陣列使用的靈活度。OpenRISC處理器用于控制實現憶阻器權重的讀寫以及待處理信號的加載和處理結果的讀出。該芯片最高運行速率為148 MHz,具有57.5 GOPS的峰值計算能力,可實現感知網絡、稀疏編碼、基于多層網絡的主成分分析等應用。然而,由于芯片中使用了大量的ADC和DAC,由此帶來的較大面積代價降低了該結構的可擴展性。

圖11 密歇根大學所設計的全功能憶阻器芯片[27]Fig.11 Full function memristor based neuromorphic chip designed by UMich[27]

上述研究通過具體的電路設計和流片工作對憶阻器陣列和CMOS外圍電路的混合集成工藝進行了驗證,對用于待處理數據加載的前神經元電路和用于計算結果讀出的后神經元電路,以及其他控制電路的實際性能進行了測試,具備了基本的類腦計算功能,為實現集成更多憶阻器陣列和更復雜系統體系結構的類腦芯片奠定了基礎。

2 關鍵技術與實現方案

通過上述工作可以看到,憶阻類腦計算單元至少需包含圖12所示各功能模塊。

圖12 基于憶阻器的類腦芯片基本組成結構Fig.12 Basic structure of a memristor based neuromorphic chip

其中憶阻器陣列實現模擬乘累加計算,前神經元電路實現待處理數據的加載,后神經元電路實現陣列計算結果的讀取和激活運算,緩存模塊實現輸入輸出數據的暫存,輸入或輸出接口電路完成與主處理器的數據和指令通信,控制電路將主處理器指令轉換為各功能模塊的具體動作。實際上,為實現多層神經網絡,還需多個類腦計算單元以一定的架構互聯并協同工作。本節對各模塊典型實現方案進行總結歸納。

2.1 憶阻器陣列結構與集成工藝

目前常用的憶阻器陣列有1R(見圖13(a))和1T1R(見圖13(b))2種結構[28]。其中1R陣列中只有憶阻器,因此可以實現極高的集成密度。例如在密歇根大學所設計的憶阻類腦芯片[27]總面積為61.64 mm2,而54×108規模憶阻器陣列面積僅為0.14 mm2。然而對1R陣列中某個憶阻器進行阻值調整時所需的電壓配置方案比較復雜,進行計算時各行之間存在旁路電流[29],因此使用較為不便。在1T1R陣列中,每個憶阻器與1個選通CMOS晶體管(T)進行串聯,通過控制T的柵壓實現對憶阻器偏壓和電流的控制,可有效抑制旁路電流,并能夠簡化憶阻器阻值調整時所用的電壓偏置方案,因此使用靈活,獲得了廣泛應用。其缺點在于進行憶阻器阻值調整時往往需要通過較大的電流,因此需要T具有較大的尺寸,導致陣列尺寸變大。

(a) 1R陣列(a) 1R crossbar array

(b) 1T1R陣列(b) 1T1R crossbar array圖13 1R陣列與1T1R陣列結構Fig.13 1R and 1T1R memristor crossbar array structure

憶阻器為三層結構,由底電極、阻變層和頂電極組成。其中頂電極與底電極相重疊部分為憶阻器件。在1T1R憶阻器陣列芯片中,通常將憶阻器夾在兩層金屬層中間,憶阻器的兩端分別通過垂直過孔與選通CMOS晶體管的源、漏極和陣列列、行線相連[28]。根據憶阻器與連接底電極的過孔的位置關系不同,可以采用圖14所示2種生產工藝。在圖14 (a)中[30],憶阻器與連接底電極的過孔相重疊,且三層結構尺寸相同,在制作工藝中,使用1套光刻掩模版即可完成憶阻器三層結構的制作。然而,連接底電極的鎢栓塞過孔通常會由于不完全填充在中間形成孔洞(見圖15),進而導致憶阻器三明治結構損傷,器件生產良率下降[31-32]。為解決這一問題,國防科技大學采用了圖14(b)所示工藝,即將憶阻器底電極向側方引出一部分,然后在平整位置生長阻變層和頂電極以保證憶阻器底部的平整,進而提高器件良率。

(a) 憶阻器與連接底電極過孔位置重疊[30](a) Memristors overlay with the BE via[30]

(b) 憶阻器與連接底電極過孔位置偏移(b) Memristor position shifts away from the BE via圖14 1T1R陣列2種制作工藝Fig.14 Two types of memristor crossbar fabricate process

圖15 鎢栓塞過孔缺陷Fig.15 Defects in the via

2.2 前神經元電路

憶阻器陣列采用模擬方式完成乘累加計算,而待處理數據通常為數字形式,因此前神經元電路需要將數字信息轉換為模擬脈沖后加載到憶阻器陣列行線上。常用的轉換方式如下。

多位精度DAC直接轉換:如圖16(a)所示,通過多位精度的DAC將數字信息轉換成具有一定幅度的模擬電平,是應用最廣泛的轉換方式[19-20,27,33]之一。其優點在于轉換速度快,且與板級驗證系統實現方式(DAC芯片轉換)一致;缺點在于該方案對DAC精度要求高,且在芯片中集成大量DAC模塊會引入較大的面積和功耗代價。

(a) N-bit DAC直接轉換(a) N-bit DAC direct converting

(b) 數值-時間轉換(b) Data-time converting

(c) 1-bit DAC逐位轉換(c) 1-bit DAC converting by bit

(d) 數值轉換為脈沖數量(d) Convert data value to spike number圖16 前神經元電路的實現方式Fig.16 Pre-synapse neuron circuits

數值-時間轉換:如圖16(b)所示,通過數值-時間轉換器將待處理數據轉換成具有固定幅度和對應寬度的模擬脈沖。其優點是轉換電路簡單,僅需一個模擬傳輸門和一個計數器即可實現;缺點是隨著待處理數據精度的提高,所轉換成的模擬脈沖寬度呈指數增長。

1-bit DAC逐位轉換:如圖16(c)所示,此方案[21]模擬了二進制乘法實現方式,即從待處理數據最低或高位開始逐位讀取,根據該位數據為“1”或“0”來確定是否輸出具有固定幅度和固定脈寬的模擬脈沖,將計算結果緩存,并與下一位數據的計算結果進行移位相加。通過多次迭代完成對一組輸入數據的處理。此方案的優點在于所采用的電壓幅度單一,電路實現簡單且精度高;缺點在于計算時間與待處理數據位數成正比,與多位精度DAC直接轉換方案相比處理延時較長。

脈沖數量編碼:如圖16(d)所示,此方案將待處理數據轉換為一定數量的脈沖作為陣列的輸入[24,36],每個脈沖的幅度和寬度固定,適宜于脈沖神經網絡應用。由于所需脈沖數量隨待處理數據位數呈指數增長,因此計算延遲較高。

位片式編碼:將待處理數據的所有比特位分為多組,然后將每組數值轉換成對應的脈沖數量或脈沖寬度[37]。實際上是將1-bit DAC逐位轉換與脈沖數量編碼結合的一種方式。

上述轉換方式中,以1-bit DAC逐位轉換實現方式最為簡單,僅需一個參考電平和一個傳輸門即可實現,所需的面積和功耗代價均較小,有望在后續憶阻類腦芯片設計中獲得廣泛應用。需要說明的是,前神經元電路具體實現方式通常根據后神經元電路實現方式確定,以便實現所需的計算結果讀取精度和讀取速度。

2.3 后神經元電路

后神經元電路用于將憶阻器陣列列線上的累加電流讀出并轉為數字結果,經緩存、激活等處理后傳輸至其他陣列進行后續處理,也可以模擬形式直接傳輸至其他陣列。常用后神經元電路實現方案如下。

ADC轉換:即通過ADC模塊將憶阻器陣列輸出的模擬信號轉換為數字信號,存儲在輸出緩存中作為下一級的輸入[19-21,27,33]。與DAC轉換模塊類似,ADC轉換方案具有讀取速度快,與板級驗證系統實現方案一致的優點。然而由于ADC所需的面積與功耗均較大,因此實際應用中通常會采用多列共用一個ADC模塊的解決方案。此時需要在每列上增加采樣保持或積分模塊,以便于采用時分復用的方式將各列計算結果讀出,導致計算延遲增加。當交叉點陣行數較多時,為保證各列計算結果均能準確保持,還需要在積分保持電路中采用容值大和線性度好的電容,導致芯片面積進一步增加。

電流比較轉換:即通過電流鏡將乘累加運算所獲得的列電流與多個參考電流相比較,以獲得列電流分布區間,并對其進行數字編碼[34-36]。這一方法由于需要多個參考電流,難以實現高分辨率的電流讀出。因此,通常用于小規模卷積運算,且需要與位片式編碼前神經元電路相配合使用。

直接傳輸:即前級陣列的模擬輸出信號直接作為下一級陣列信號的輸入,陣列與陣列之間無數據緩存器,這種設計極大地增加了數據的吞吐量,提高了計算的效率。然而同時由于中間結果無法緩存,整個神經網絡必須全部展開,因此直接傳輸方案僅能應用于小規模神經網絡。當網絡規模較大時,由于每一神經元輸出均需傳輸至大量下層神經元,會導致所需連線數量呈指數增長,傳輸協議復雜度增高。

積分點火:為減少ADC模塊引入的面積和功耗代價,Liu等[37]提出了積分點火實現方案,其電路實現方案如圖16(c)所示。其原理為,將列線上的電流送入一個小電容中進行積分,當電容上的電壓超過參考閾值時比較器輸出高電平,同時將電容放電,當電容電壓降到閾值以下時比較器輸出低電平。該過程周而復始,在計算時間內根據列線上的電流大小轉換成相應數量的脈沖,再通過計數器獲得脈沖數量。由于在電容放電期間無法進行積分,導致讀取精度和速度下降,Jiang等[38]提出一種循環感知電路,采用2套積分點火電路對同一列線電流進行讀取,當其中一個電容在放電時,另一電容進行積分,提高了讀取精度和速度。由于積分電路僅用于產生脈沖,因此所需要的電容較小。與ADC轉換模塊相比,積分點火電路結構簡單,實現更為容易,可擴展性較好。

通過上述分析可以看到,與直接傳輸方式相比,積分點火方式便于實現數據的緩存和轉發,靈活度高;與ADC轉換方式相比,積分點火電路結構簡單,所需電容較小,且便于與數字電路結合。需要說明的是,不管采用上述何種列電流讀取方案,均需將列線電壓進行穩定鉗位以保證該列各憶阻器上的電流盡可能相互獨立。同時讀取電路還需考慮陣列中線電阻對計算精度的影響[39]。

2.4 多陣列互聯與數據傳輸

現有基于憶阻器的類腦芯片中大多僅集成了單個憶阻器陣列,然而單個陣列僅能實現兩層神經元之間的連接,多層神經網絡須由多個憶阻器陣列協同工作才能實現。

在清華大學所設計芯片中[24]集成了4個憶阻器陣列(如圖8所示),其中每2個陣列為1組實現一層神經網絡,2組陣列之間采用了直接互聯的實現方案,第一個陣列的計算結果經處理后直接輸入第二個陣列進行后續處理。當陣列數量繼續增加時,國防科技大學 Sun等[39]提供了一種“M-N-P”的直接互聯方法,可以將多個基于單個陣列的卷積神經網絡互聯成高性能的卷積神經網絡,以提高神經網絡的性能。然而多個陣列之間采用直接互聯通常可擴展性較差,使得布線難度提高。

為提高可擴展性,RENO[19]采用了圖3所示的多層星型拓撲結構,其中包含4組憶阻器陣列,通過1個模擬路由實現各組之間以及RENO與CPU之間的數據交換。每組包含4個陣列,通過1個模擬路由實現組內陣列之間以及組內陣列與頂層路由之間的數據交換。數據傳輸過程中,數字信號用于實現路由路徑的選擇與控制,各陣列計算結果仍采用模擬方式進行傳輸。星型拓撲能夠較好地滿足神經網絡中組播和廣播傳輸需求,然而由于在RENO中各陣列計算結果無法進行緩存,因此在實現較大規模神經網絡時無法通過權重復用等策略減少對憶阻器數量的需求,應用范圍仍然受到較大限制。

在PRIME[20]中,全功能模塊既可用于數據存儲又可用于計算,各模塊之間通過總線進行互聯。各模塊計算結果通過可重構讀取電路轉換成數字形式后在輸出寄存器中緩存,然后根據需要通過總線傳輸至其他模塊進行后續處理。由于數字結果便于緩存和轉發,因此該結構相對RENO具有更高的靈活度。

然而當陣列數量較多時,星型拓撲互聯結構會導致頂層路由數據傳輸壓力增大,總線互聯方式也會由于總線仲裁代價導致傳輸效率下降,因此其可擴展性仍然較差。相比之下,ISAAC[21]所采用的層次化混合拓撲結構(見圖5)具有更好的可擴展性和靈活性。ISAAC由一定數量的Tile組成,采用集中式網狀(concentrated-mesh, c-mesh)片上網絡進行互聯。在Tile內部采用總線互聯結構便于在相鄰陣列之間進行高效數據廣播通信,在Tile之間采用片上網絡互聯可以實現較高的數據傳輸并行度和可靠性,當所需Tile增加時可方便地進行橫向或縱向擴展。

PipeLayer[40]、MAX2[22]等工作,采用了與圖17類似架構,不同之處在于每個Tile內部陣列組織和使用方式以及數據流控制方式。基于以上研究成果,文獻[39]指出集成多個憶阻器陣列的類腦芯片典型結構應當如圖18所示。

(a) 共享ADC轉換[21](a) Shared ADC sampling[21]

(b) 電流比較轉換(b) AD Converting with current comparison

(c) 積分點火轉換[38](c) Integrate and fire sampling[38]圖17 后神經元電路實現方式Fig.17 Post synapse neuron circuits

圖18 典型憶阻類腦芯片架構Fig.18 Typical memristor based neuromorphic chip architecture

當陣列互聯架構確定之后,需對網絡權重向憶阻陣列的映射方式以及數據加載方式進行優化,以提高權重和輸入數據的復用率,進而提高計算效率。相關策略可參考數字AI芯片并根據憶阻器陣列特點進行優化,本文不深入展開討論。需要說明的是,由于在當前生產工藝下,憶阻器耐久性仍然較差,因此在使用中應當避免頻繁修改憶阻器阻態。當基于憶阻類腦芯片進行神經網絡加速時,需要將所有網絡權重在憶阻器陣列中進行一一映射,甚至多次映射,以提高計算并行度。因此,憶阻類腦芯片采用何種陣列互聯結構以及數據傳輸方式應當根據神經網絡自身特點來確定。

3 系統仿真與評估

在類腦芯片設計過程中,需要進行系統仿真對芯片電路設計的正確性、計算性能、面積、功耗等進行評估。

由于憶阻器為新原理器件,在常用EDA設計工具中尚未得到有效的支持,因此與憶阻器相關的參數,如面積、阻值、延遲等參數需要通過對實際生產的純憶阻器陣列芯片進行實際測量獲得,進而可用于全功能類腦芯片的評估。需要說明的是,在1T1R陣列中,由于選通管尺寸遠大于憶阻器,因此其面積主要由選通管決定。

對CMOS電路部分的性能仿真和評估可采用傳統工具實現。例如ISAAC[21]使用CACTI 6.5的32 nm工藝來評估芯片中緩存器與片上互聯架構的面積與功耗。移位累加(shift-and-add)電路、最大池化(max-pool)電路和sigmoid激活函數電路的功耗及面積評估參數參考DaDianNao[4]。ADC與DAC模塊的面積和功耗參數均來自相關成熟設計。PRIME使用Synopsys公司的Design Compiler和PrimeTime以及TSMC的65 nm CMOS 工藝庫對系統進行建模評估。RENO則使用了Cadence公司的Virtuoso開發環境提取系統的面積和功耗參數。

在系統整體處理能力評估方面,現有設計通常選用典型神經網絡,如VGG、MSRA、MLP等,以及MNIST和ImageNet等數據集作為仿真測試基準,并與通用CPU和DaDianNao等基于數字邏輯的計算平臺性能進行對比[19-21]。

為在早期即獲得所設計系統的面積、延遲、功耗等參數,亞利桑那州立大學Yu團隊于2018年提出一種電路級的宏模型“NeuroSim”[41],用于對基于主流器件或新型器件的類腦計算架構進行評估。如圖19所示,NeuroSim在電路級和器件級均提供了靈活的接口和多種設計選擇,因此,可以作為芯片設計電路級性能仿真的支持工具。基于NeuroSim,可以實現包含了器件級、電路級以及算法級的層次化集成仿真框架,對類腦計算系統的識別精度進行指令精度的評估,并可對系統在線學習能力進行衡量。由于NeuroSim僅支持少量的器件模型和神經網絡結構,該研究團隊又在其基礎上進行功能完善得到了NeuroSim+[42]仿真框架。然而NeuroSim所提供的仿真均針對較高描述層次,對電路實現細節關注較少,無法真正反映基于憶阻器實現類腦芯片時所遇到的電路設計困難。

圖19 NeuroSim仿真平臺結構Fig.19 NeuroSim simulating platform structure

4 問題與挑戰

通過以上分析可以看到,憶阻類腦芯片相比傳統基于CMOS數字邏輯的AI芯片有著諸多優勢,然而現有憶阻類腦芯片仍存在如下問題需要通過架構和電路設計優化加以解決:

1) 量產陣列中憶阻器可用阻態較少。受限于器件制備工藝,目前連續可調的憶阻器件阻值狀態還不穩定,只有二值器件基本可用,導致陣列計算能力大大下降。

2) 憶阻器陣列的合理規模尚未確定。現有設計中所采用的憶阻器陣列規模各有不同。增大憶阻器陣列規模有利于提高計算并行度,但也會帶來計算精度下降、憶阻器利用率下降、外圍電路設計復雜度增高等問題。在現有工藝下,如何在計算并行度、計算精度以及實現代價等因素約束下,確定憶阻器陣列的合理規模是仍需解決的問題之一。

3) 陣列外圍電路復雜。類腦芯片與仿真架構中憶阻器陣列外圍較多地采用ADC和DAC模塊,導致憶阻器阻值調整、待處理數據加載以及處理結果的讀出方式復雜,芯片面積和功耗增加,部分抵消了憶阻器陣列本身高集成度和低功耗的優勢。

4) 現有電路設計對憶阻器非理想特性的考慮不足。在芯片設計中,為保證基本功能能夠實現,通常增大電路的適應范圍以應對器件參數的波動。而在架構仿真過程中,仿真平臺所使用的器件模型則偏于理想化,對器件的不均一性、耐久性等問題考慮不足。如何更加充分地利用憶阻器優良特性,同時針對憶阻器非理想特性在電路層面進行折中設計是提高憶阻類腦芯片性能和可靠性的關鍵。

5) 多陣列類腦計算架構中陣列之間的數據傳輸、任務分配與協同等詳細電路級解決方案仍不成熟。基于多憶阻器陣列的類腦計算系統研究仍處于起步階段,對陣列之間的數據傳輸需求、神經網絡算法與陣列互聯拓撲結構的映射關系研究較少,因此現有設計仍需手工確定靜態數據路由傳輸和任務分配方案。

6) 現有類腦芯片中所集成的憶阻器陣列數量仍然較少。單個憶阻器陣列僅能實現簡單神經網絡,深度神經網絡仍需多個憶阻陣列協同工作實現。然而受流片成本與芯片設計難度限制,集成多憶阻器陣列的類腦計算架構仍處于理論研究與高層次仿真階段,缺乏實際驗證。在完善單陣列芯片電路實現方案和計算系統性能的基礎上,設計多陣列集成芯片并進行流片驗證是憶阻類腦芯片走向實際應用的必經之路。

上述問題的解決將大大提升憶阻類腦芯片的處理能力和可靠性,使其能夠用于神經網絡加速并獲得更高計算能效。然而,在電路設計之外,憶阻類腦芯片真正走向實際應用仍然面臨著以下挑戰:

1) 改進憶阻器生產工藝,提升陣列良率、均一性和耐久性。高質量的憶阻器陣列是發揮憶阻器優良特性,實現高性能類腦芯片的基礎。憶阻器生產工藝的提升需要多方合作進行,且投入成本較高,因此實現難度較大。目前已有多項研究對憶阻器應具備的特性參數進行了分析研究,發明能夠滿足相應質量要求的憶阻器陣列的生產工藝并實現量產是憶阻類腦芯片研發首要面臨的挑戰。

2) 憶阻器模型完善與開發工具支持。當前階段存在眾多類型的憶阻器與相對應的物理或電氣模型,然而相關模型尚未得到主流芯片開發工具的支持,導致芯片開發過程中仿真驗證困難。完善憶阻器模型并加入主流芯片開發工具的模型庫中,對提高芯片開發效率、降低出錯概率和流片成本具有重要意義。

3) 開發面向憶阻類腦計算的指令集。基于憶阻器陣列進行計算加速過程中,憶阻器阻值調整、待處理信號的加載、計算結果的讀出等電路動作均需在程序控制下進行,基于通用處理器指令實現需要大量代碼,導致計算延遲增加,效率降低。根據電路工作需求,開發面向憶阻類腦計算的指令集,將大大降低陣列使用難度,提高處理性能。

4) 確定適合憶阻類腦計算的典型應用類型。受憶阻器阻變機理限制,憶阻器的耐久性與成熟的CMOS器件相比有較大的差距,且阻值調整速度較慢,因此憶阻類腦芯片在計算過程中無法對網絡權重進行實時加載,而必須將所有網絡權重分配到憶阻器陣列中。當權重數量較大時會導致較高的面積和功耗代價。這一因素導致憶阻類腦芯片不宜用于大規模神經網絡的推理加速,而更適于網絡規模較小的邊緣計算應用[43]。確定憶阻類腦計算系統具有明顯優勢的典型應用類型,對明確系統架構、電路設計、器件參數與生產工藝等研究具有重要指導意義。在解決上述問題和挑戰的基礎上,根據應用需求合理設計系統體系架構,優化外圍驅動電路,充分利用憶阻器優良特性并加入對器件非理想因素的容錯機制,將使得憶阻類腦芯片各項優勢得到切實發揮,并最終走向實際應用。

5 結論

憶阻器的阻變特性、非易失特性,以及高集成度、低功耗、高計算并行度等特點使得其非常適用于進行類腦計算加速。當前憶阻類腦芯片的研究熱點已經由基于憶阻器陣列芯片進行板級電路驗證轉向了集成外圍驅動電路的全功能憶阻類腦芯片設計研究,芯片中集成的陣列數量也在逐步增多以實現復雜神經網絡加速功能。本文對基于憶阻器的類腦芯片研究現狀進行了調研和分析,對比分析了芯片中各基礎功能模塊的實現方案,總結了當前研究仍需解決的問題,并指出了憶阻類腦芯片走向實際應用所面臨的挑戰。

主站蜘蛛池模板: 久久人搡人人玩人妻精品| 亚洲精品国产乱码不卡| 亚洲欧洲日本在线| 欧美成人第一页| 在线精品亚洲一区二区古装| 日韩精品毛片人妻AV不卡| 欧美日韩专区| 日本不卡在线视频| 午夜毛片免费观看视频 | 国产精品偷伦在线观看| 久久久久久久久亚洲精品| 国产簧片免费在线播放| 手机精品视频在线观看免费| 一级毛片免费播放视频| 在线综合亚洲欧美网站| 亚洲色图欧美| 色呦呦手机在线精品| 一区二区在线视频免费观看| 亚洲无码一区在线观看| 毛片视频网址| 97在线国产视频| 欧美精品不卡| 福利视频久久| 久久精品无码一区二区国产区| 精品国产女同疯狂摩擦2| 91麻豆精品国产91久久久久| a在线观看免费| 久久综合伊人77777| 亚洲色欲色欲www网| 国产成熟女人性满足视频| 伦精品一区二区三区视频| 91视频日本| 日韩欧美高清视频| 国产精品一区在线麻豆| 99在线免费播放| AⅤ色综合久久天堂AV色综合| 一边摸一边做爽的视频17国产| 九九九国产| 亚洲aaa视频| 日本精品影院| 久久精品亚洲热综合一区二区| 国产三级毛片| 91网在线| 亚洲高清日韩heyzo| 国产簧片免费在线播放| 99视频精品全国免费品| 特级毛片8级毛片免费观看| 亚洲无码高清一区| 亚洲人在线| 午夜无码一区二区三区| 操国产美女| www.日韩三级| 亚洲成人高清无码| 爽爽影院十八禁在线观看| 亚洲制服丝袜第一页| 亚洲一区毛片| 日韩欧美综合在线制服| 日本高清在线看免费观看| 国产情侣一区二区三区| 伊人久综合| 日本亚洲欧美在线| 国产成人免费| 在线精品欧美日韩| 中文无码精品A∨在线观看不卡 | 中日韩一区二区三区中文免费视频| 欧美黄色网站在线看| 久久综合丝袜日本网| 国产欧美日韩另类| 啊嗯不日本网站| 亚洲伦理一区二区| 直接黄91麻豆网站| 无码人中文字幕| 亚洲一区二区在线无码| 国产97色在线| 99这里只有精品在线| 国产内射在线观看| 国产女主播一区| 一区二区午夜| 91人妻日韩人妻无码专区精品| 国产精品手机在线观看你懂的| 毛片大全免费观看| 午夜视频日本|