亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于3D-NAND 的神經(jīng)形態(tài)計(jì)算

        2022-11-14 08:06:14陳陽洋何毓輝繆向水楊道虹
        物理學(xué)報(bào) 2022年21期
        關(guān)鍵詞:器件神經(jīng)元卷積

        陳陽洋 何毓輝 繆向水 楊道虹?

        1)(華中科技大學(xué),博士后流動(dòng)站,武漢 430074)

        2)(武漢新芯集成電路制造有限公司,博士后工作站,武漢 430205)

        3)(江城實(shí)驗(yàn)室,武漢 430205)

        4)(華中科技大學(xué)集成電路學(xué)院,武漢 430074)

        神經(jīng)形態(tài)芯片是一種新興的AI 芯片.神經(jīng)形態(tài)芯片基于非馮·諾依曼架構(gòu),模擬人腦的結(jié)構(gòu)和工作方式,相比馮·諾依曼架構(gòu)的AI 芯片,神經(jīng)形態(tài)芯片在效率和能耗上有顯著的優(yōu)勢(shì).3D-NAND 閃存工藝成熟并且存儲(chǔ)密度極高,基于3D-NAND 的神經(jīng)形態(tài)芯片受到許多研究者的關(guān)注.然而由于該技術(shù)的專利性質(zhì),少有基于3D-NAND 神經(jīng)形態(tài)計(jì)算的硬件實(shí)現(xiàn).本文綜述了用3D-NAND 實(shí)現(xiàn)神經(jīng)形態(tài)計(jì)算的工作,介紹了其中前向傳播和反向傳播的機(jī)制,并提出了目前3D NAND 在器件、結(jié)構(gòu)和架構(gòu)上需要的改進(jìn)以適用于未來的神經(jīng)形態(tài)計(jì)算.

        1 研究背景

        1.1 神經(jīng)形態(tài)計(jì)算是未來通用人工智能的重要路徑

        數(shù)據(jù)、算法和算力是人工智能(artificial intelligence,AI)的三大要素,未來AI 的發(fā)展將面臨算力不足的瓶頸(如圖1 所示[1]).一方面,云端計(jì)算中的通用AI 模型性能強(qiáng)大,但參數(shù)龐大,通常采用CPU/GPU 硬件平臺(tái)進(jìn)行訓(xùn)練,訓(xùn)練成本高昂且難以普及.另一方面,隨著5G、物聯(lián)網(wǎng)與工業(yè)4.0 的發(fā)展,越來越多的AI 應(yīng)用在邊緣端設(shè)備中設(shè)計(jì)和部署,需要定制化AI 芯片滿足功耗和成本限制下的計(jì)算需求,例如阿里的“含光”、華為的“昇騰”和寒武紀(jì)的“思源”等.通用CPU/GPU 以及AI 加速芯片,均基于傳統(tǒng)的馮·諾依曼計(jì)算架構(gòu),計(jì)算和存儲(chǔ)單元分離,“馮·諾依曼瓶頸”不可避免(如圖2 所示[2-4]): 第一,數(shù)據(jù)在計(jì)算和存儲(chǔ)單元之間不停來回傳輸,消耗大部分的計(jì)算時(shí)間和功耗;第二,處理器和存儲(chǔ)器之間運(yùn)算速度的明顯差異限制了整體系統(tǒng)的計(jì)算效率.面對(duì)這一問題,存儲(chǔ)和計(jì)算融合是未來的發(fā)展趨勢(shì),新型的計(jì)算架構(gòu)逐漸興起,其中包括近存計(jì)算(near-memory computing)、存內(nèi)計(jì)算(in-memory computing)以及神經(jīng)形態(tài)計(jì)算(neuromorphic computing).受人腦智能啟發(fā)的神經(jīng)形態(tài)芯片引起了學(xué)術(shù)和工業(yè)界的極大興趣.

        圖1 AI 模型訓(xùn)練的算力需求和單芯片運(yùn)算性能[1]Fig.1.Total amount of computing in AI training and single-core chip performance[1].

        圖2 限制芯片性能提升的馮·諾依曼瓶頸[2-4]Fig.2.The von Neumann bottleneck limits chip performance promotion[2-4].

        人腦在復(fù)雜和陌生場景下的學(xué)習(xí)、推理和決策能力遠(yuǎn)超過傳統(tǒng)計(jì)算機(jī).人腦有超過1011個(gè)神經(jīng)元和1015個(gè)突觸,功耗只有20 W[5].神經(jīng)形態(tài)芯片模擬人腦的結(jié)構(gòu)和工作方式(如圖3 所示[6]): 在結(jié)構(gòu)上,用互補(bǔ)金屬氧化物半導(dǎo)體(complementary metal-oxide-semiconductor,CMOS)或新型器件模擬神經(jīng)元和突觸,并將神經(jīng)網(wǎng)絡(luò)映射到突觸陣列中;在工作方式上,用基于權(quán)重模擬值計(jì)算的人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)或基于脈沖計(jì)算的脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)作為算法模型,輸入的事件用電壓脈沖編碼,經(jīng)過突觸后轉(zhuǎn)化為電流輸入到后級(jí)神經(jīng)元進(jìn)行積分,后級(jí)神經(jīng)元達(dá)到閾值電壓后便向下一級(jí)神經(jīng)元發(fā)放電壓脈沖.相比馮·諾依曼架構(gòu)芯片,神經(jīng)形態(tài)芯片高并行、低功耗和存算融合的特性,有望成為未來通用AI 的理想硬件方案.

        圖3 神經(jīng)形態(tài)計(jì)算的原理與芯片架構(gòu)[6]Fig.3.Neuromorphic computing architectures and paradigms[6].

        1.2 基于存儲(chǔ)器的神經(jīng)形態(tài)芯片

        神經(jīng)形態(tài)芯片根據(jù)實(shí)現(xiàn)的器件方案可分為基于傳統(tǒng)CMOS 的神經(jīng)形態(tài)芯片和基于存儲(chǔ)器的神經(jīng)形態(tài)芯片兩種類型.基于CMOS 的神經(jīng)形態(tài)芯片代表性成果包括TrueNorth,SpiNNaker,Brain-ScaleS,Loihi,天機(jī)芯和達(dá)爾文等.這些芯片的突觸和神經(jīng)元采用基于CMOS 的數(shù)字電路或者數(shù)?;旌想娐穪泶罱?模擬單個(gè)神經(jīng)元或突觸行為需要靠多個(gè)CMOS 晶體管組成的電路模塊來實(shí)現(xiàn),集成度和功耗受到限制,并且斷電后信息無法保存.基于存儲(chǔ)器的神經(jīng)形態(tài)芯片從底層器件仿生的角度出發(fā),用存儲(chǔ)器件模擬神經(jīng)元和突觸,在功耗和硬件代價(jià)上有明顯的優(yōu)勢(shì).近幾年,國內(nèi)外研究機(jī)構(gòu)展示了眾多基于存儲(chǔ)器的神經(jīng)形態(tài)計(jì)算成果,硬件方案包括主流的閃存(NOR/NAND Flash),以及阻變存儲(chǔ)器(ReRAM)、相變存儲(chǔ)器(PCM)、自旋轉(zhuǎn)移矩磁存儲(chǔ)器(STT-MRAM)、鐵電存儲(chǔ)器(FeRAM)和鐵電晶體管存儲(chǔ)器(FeFET)等新型存儲(chǔ)器.這些存儲(chǔ)器的結(jié)構(gòu)和工作原理如圖4 所示[7].表1 列出這幾類存儲(chǔ)器的性能指標(biāo),其中參數(shù)源于已有陣列或芯片實(shí)現(xiàn)的研究工作.

        圖4 基于非易失存儲(chǔ)器的神經(jīng)形態(tài)計(jì)算硬件方案[7](a)幾種作為突觸的非易失性存儲(chǔ)器件,其中包括PCM,ReRAM,STTMRAM,FeRAM 和FeFET;(b)突觸和神經(jīng)元構(gòu)成crossbar 陣列結(jié)構(gòu)用于神經(jīng)形態(tài)計(jì)算;(c)神經(jīng)形態(tài)計(jì)算芯片的架構(gòu)Fig.4.Use of non-volatile memory devices as synaptic storage[7]:(a)Non-volatile memory cell as artificial synapse including PCM,ReRAM,STT-MRAM,FeRAM,and FeFET;(b)the implementation of neuromorphic computation on crossbar array consists of artificial synapses and neurons;(c)typical architecture of the neuromorphic chip.

        表1 幾種非易失性存儲(chǔ)器的性能參數(shù)Table 1. Benchmark table of performance of emerging memories and typical memories.

        1.3 NAND 用于神經(jīng)形態(tài)計(jì)算的優(yōu)點(diǎn)與局限性

        突觸器件需要具有高集成度、低能耗、耐擦寫、CMOS 工藝兼容以及模擬權(quán)重調(diào)制的特性.其中模擬權(quán)重調(diào)制特性需要突觸有多個(gè)權(quán)重、并且權(quán)重對(duì)稱線性變化.從圖5 可以看到,新型存儲(chǔ)器ReRAM,PCM,STT-MRAM,FeRAM 和FeFET在讀寫速度、讀寫電壓、擦寫次數(shù)和功耗方面具有突出的優(yōu)勢(shì).然而NAND/NOR Flash 的器件特性使得其在眾多硬件方案中有不可替代的優(yōu)勢(shì): 1)ReRAM,PCM,FeRAM 等二端結(jié)構(gòu)器件為了防止?jié)撔型?sneak path)的產(chǎn)生需要集成用于選通的晶體管,NAND/NOR 的基本存儲(chǔ)單元是三端的MOSFET,柵電極自帶選通功能,硬件代價(jià)小;2)NOR/NAND flash 工藝成熟,器件的閾值電壓分布穩(wěn)定,即權(quán)重的分布穩(wěn)定,并且單元之間的性能高度一致,適合高精度的數(shù)值運(yùn)算;3)得益于NAND/NOR 存儲(chǔ)單元的柵控機(jī)制,即閾值電壓由器件單元俘獲層中俘獲電荷數(shù)量決定,通過增量步進(jìn)脈沖寫入技術(shù)(incremental step pulse program,ISPP)可獲得穩(wěn)定的閾值電壓分布,權(quán)重(電導(dǎo)率)的模擬權(quán)重調(diào)制特性更容易實(shí)現(xiàn).

        圖5 各種存儲(chǔ)器的性能參數(shù)對(duì)比(數(shù)據(jù)來源于表 1)Fig.5.Performance comparison of various memories(data was extracted from Table 1 and plotted into a radar diagram).

        NOR 和NAND 的存儲(chǔ)單元分別為浮柵型閃存(floating gate flash,FGF)和電荷俘獲型閃存(charge trapping flash,CTF),二者均利用柵介質(zhì)中的存儲(chǔ)電荷調(diào)控閾值電壓,主要區(qū)別在于電荷存儲(chǔ)層的材料、電荷俘獲機(jī)制和陣列的結(jié)構(gòu),如圖6所示.FGF 的浮柵層通常為摻雜的多晶硅,利用熱電子注入效應(yīng)實(shí)現(xiàn)電荷的存儲(chǔ): 在源、漏電極和柵、源電極之間施加高電壓,電子在溝道中被源漏電場加速后,被柵源之間的電場吸引,穿過隧穿氧化層注入到浮柵層中.CTF 的電荷俘獲層通常采用氮化硅材料,利用F-N 隧穿效應(yīng)(Fowler-Nordheim tunneling)實(shí)現(xiàn)電荷的存儲(chǔ): 源、漏接地,柵極施加高電壓,源極電子通過F-N 隧穿效應(yīng)穿過隧穿氧化層進(jìn)入浮柵.在陣列結(jié)構(gòu)方面,NOR 的布局采用并行結(jié)構(gòu),每個(gè)存儲(chǔ)單元均有源線(source line,SL)和字線(word line,WL)引出,隨機(jī)讀寫的速度快,但過多的布線和較大的器件尺寸(10F2)使得其存儲(chǔ)密度難以進(jìn)一步提升.相比之下NAND采用串行結(jié)構(gòu),每個(gè)存儲(chǔ)單元的源極無需單獨(dú)引線,因此具有更小的單元特征尺寸(4F2)和更高的存儲(chǔ)密度.利用三維集成技術(shù),NAND 的存儲(chǔ)密度提高至TB 量級(jí).2022 年5 月,國內(nèi)廠商長江存儲(chǔ)量產(chǎn)的3D-NAND 已達(dá)到192 層,2022 年8 月SK Hynix 已宣布量產(chǎn)238 層3D-NAND,如此高的集成密度碾壓NOR 以及其他新型存儲(chǔ)器.

        圖6 NOR 和NAND 的電路結(jié)構(gòu)Fig.6.Circuit structure diagram of NOR flash and NAND flash.

        NAND 的高存儲(chǔ)密度為神經(jīng)形態(tài)計(jì)算提供了充足的硬件資源、更高的存儲(chǔ)密度,意味著芯片能分配更多的硬件資源用于映射更大規(guī)模、更多數(shù)量和種類的神經(jīng)網(wǎng)絡(luò),芯片性能也越強(qiáng).然而3DNAND 的存儲(chǔ)單元,電荷俘獲型晶體管(transistor with charge trap layer,CTL)的擦寫次數(shù)不高(如表1 所示,次數(shù)<105),因此基于3D-NAND 的AI 芯片適用于權(quán)重更新不太頻繁的場景.

        AI 系統(tǒng)通常涉及訓(xùn)練(training)和推斷(inference)過程,訓(xùn)練過程中需要輸入大量的樣本數(shù)據(jù),并且根據(jù)輸出反饋不斷調(diào)節(jié)芯片中權(quán)重的分布直至輸出達(dá)到預(yù)期的精度,使芯片具備學(xué)習(xí)能力,這個(gè)過程涉及頻繁的權(quán)重更新.而推斷過程是在已訓(xùn)練好的芯片上輸入新的數(shù)據(jù),完成指定任務(wù)的過程,權(quán)重更新頻率低.因此,3D-NAND 芯片在執(zhí)行推斷任務(wù)的場景中,得益于其超高的存儲(chǔ)密度,相對(duì)其他種類的存儲(chǔ)器芯片具有顯著的優(yōu)勢(shì).

        2 基于3D-NAND 神經(jīng)形態(tài)計(jì)算的研究進(jìn)展

        2.1 3D-NAND 的結(jié)構(gòu)和突觸特性

        隨著2D-NAND 工藝微縮到14 nm 節(jié)點(diǎn),每個(gè)單元只能容納少量的電子,并且單元之間電子的串?dāng)_問題使得尺寸繼續(xù)微縮變得愈加困難且不夠經(jīng)濟(jì).在不降低工藝節(jié)點(diǎn)的前提下提高存儲(chǔ)密度和降低成本,3D-NAND 技術(shù)成為了必然的選擇.鎧俠(原東芝)、鎂光、海力士和旺宏均提出了各自的3D-NAND 技術(shù)方案,如圖7 所示[40].這些技術(shù)方案從3D 堆疊方式上可分為兩種: 一種是柵極堆疊(gate stack)結(jié)構(gòu),溝道為垂直方向;另一種是溝道堆疊(channel stack)結(jié)構(gòu),柵極為垂直方向,如圖8 所示[41,42].

        圖7 各種3D-NAND 的技術(shù)方案[40]Fig.7.A summary of 3D-NAND technologies[40].

        圖8 (a)柵極堆疊的TCAT 技術(shù)[41];(b)溝道堆疊的VG-NAND 技術(shù)[42]Fig.8.(a)TCAT technology with gate stack architecture[41];(b)VG-NAND technology with channel stack architecture[42].

        其中存儲(chǔ)層一般采用浮柵(floating gate,FG)或者電荷俘獲層(charge trap layer,CTL).一般來說,FG 采用摻雜的多晶硅,存儲(chǔ)單元尺寸較大,存儲(chǔ)電荷量較多,閾值電壓窗口較大,保持特性較好.CTL 材料為氮化硅,存儲(chǔ)電荷量相對(duì)較少,存儲(chǔ)單元的閾值電壓窗口和保持特性略差,但CTL器件的尺寸小,集成度更高.目前三星量產(chǎn)的96層V-NAND 技術(shù)便是基于柵極堆疊和CTL 層的TCAT 結(jié)構(gòu).

        神經(jīng)形態(tài)計(jì)算芯片中突觸是基本的結(jié)構(gòu)單元,在3D-NAND 中用CTL 器件作為突觸(圖9(a))[43].突觸的權(quán)重(電導(dǎo))非易失且連續(xù)可調(diào),即模擬權(quán)重調(diào)制特性.存儲(chǔ)用3D-NAND 中CTL 器件的閾值電壓通過增量步進(jìn)脈沖寫入(incremental step pulse program,ISPP)機(jī)制進(jìn)行調(diào)節(jié)(圖9(b))[44].用于神經(jīng)形態(tài)計(jì)算的3D-NAND 中,CTL 不僅可用ISPP 機(jī)制進(jìn)行調(diào)節(jié),而且可用多次同脈沖寫入(multiple identical pulses program,MIPP)機(jī)制進(jìn)行調(diào)節(jié)以模擬權(quán)重調(diào)制特性(圖9(c))[45].

        圖9 (a)CTL 單元的結(jié)構(gòu)示意圖(以柵極堆疊結(jié)構(gòu)為例)[43];(b)采用ISPP 機(jī)制調(diào)控3D-NAND 中CTL 器件的閾值電壓[44];(c)3D-NAND 中CTL 器件的模擬電導(dǎo)特性,即模擬權(quán)重調(diào)制特性[45]Fig.9.(a)Illustration of typical gate-stack type 3D-NAND[43];(b)ISPP modulation of threshold voltage in CTL device[44];(c)analog conductivity characteristics of CTL devices in 3D-NAND[45].

        2.2 基于3D-NAND 神經(jīng)形態(tài)計(jì)算的相關(guān)工作

        神經(jīng)形態(tài)計(jì)算包含3 個(gè)過程: 前向傳播、反向傳播和權(quán)重更新.前向傳播,即前級(jí)神經(jīng)元發(fā)放的電壓脈沖經(jīng)過突觸陣列轉(zhuǎn)化為電流脈沖傳遞給后級(jí)神經(jīng)元.把前級(jí)神經(jīng)元發(fā)放的輸入電壓脈沖和輸入到后級(jí)神經(jīng)元的電流脈沖視為向量,突觸的權(quán)重構(gòu)成矩陣,那么前向傳播過程等價(jià)為輸入信號(hào)和突觸權(quán)重進(jìn)行乘加運(yùn)算(multiply-and-accumulation,MAC)的累計(jì),即向量矩陣相乘(vector matrix multiplication,VMM).反向傳播過程中計(jì)算各層突觸的誤差: 對(duì)輸出神經(jīng)元的結(jié)果與目標(biāo)結(jié)果進(jìn)行比對(duì),從輸出神經(jīng)元往輸入神經(jīng)元方向逐層計(jì)算各層突觸權(quán)重的誤差.最后根據(jù)計(jì)算結(jié)果更新各層突觸的權(quán)重.由于最近幾年才被學(xué)術(shù)界關(guān)注,3DNAND 用于神經(jīng)形態(tài)計(jì)算的相關(guān)報(bào)道并不多,應(yīng)用多集中在前向傳播和反向傳播方面.

        2.2.1 3D-NAND 用于前向傳播

        3D NAND 是多層2D NAND 的堆疊.用于神經(jīng)形態(tài)計(jì)算時(shí),3D NAND 比2D NAND 多了層間選通的操作.為了使讀者更方便地理解輸入編碼、器件選通、差分對(duì)突觸和權(quán)重轉(zhuǎn)置的概念,首先介紹Lee 等[45,46]基于2D NAND 的神經(jīng)形態(tài)計(jì)算的工作,如圖10 所示.圖10(a)為2D NAND 的神經(jīng)形態(tài)計(jì)算法則,具體地:

        圖10 (a)基于NAND 的神經(jīng)形態(tài)計(jì)算法則[46];(b),(c)前向傳播和反向傳播過程中NAND 的操作方法[45]Fig.10.(a)Learning rule of software-based and NAND-based neural network[46];2D-NAND operation method in(b)forward and(c)backward propagation[45].

        3)反向傳播.前向傳播中得到的輸出與預(yù)期的輸出之間往往存在誤差,為了使神經(jīng)網(wǎng)絡(luò)達(dá)到預(yù)期的識(shí)別率,需要計(jì)算出每層突觸的誤差然后進(jìn)行權(quán)重更新.反向傳播中將誤差信號(hào)從最后一層神經(jīng)元往第一層神經(jīng)元傳遞,實(shí)現(xiàn)每層突觸誤差的計(jì)算.第l -1 層中神經(jīng)元Xi接收的誤差信號(hào)為

        前向傳播和反向傳播的具體操作方法如圖10(b)和圖10(c)所示.前向傳播: 1)輸入Xi采用幅值編碼,施加在BL 上.2)NAND 的每個(gè)page 等同于神經(jīng)元(X0,X1,···,X785)對(duì)一個(gè)后級(jí)神經(jīng)元(Yi)進(jìn)行全連接的突觸.對(duì)目標(biāo)page 施加Vread,其他page 施加Vpass.其中Vread<Vpass<Vprogram,施加Vpass的CTL 器件處于導(dǎo)通狀態(tài),可視為導(dǎo)線.輸入的電壓脈沖,經(jīng)過目標(biāo)page 后轉(zhuǎn)化為電流在SL 上相加,完成一次VMM 過程.3)重復(fù)上述操作,依次讀取每個(gè)page 的電流,完成一次前向傳播過程.前向傳播中,page 中CTL 器件為785×2 個(gè),一共有51 個(gè)page.由于NAND 的串行結(jié)構(gòu)無法將誤差信號(hào)從SL 端輸入,反向傳播過程中誤差信號(hào)(δ1,δ2,···,δ51)仍從BL 端輸入,但此時(shí)一個(gè)page 中的CTL 器件數(shù)為51×2 個(gè),共有785 個(gè)page.因此反向傳播過程要另外選取硬件資源,映射權(quán)重時(shí)突觸陣列的配置與前向傳播時(shí)的陣列互為轉(zhuǎn)置,如圖10(c)所示.

        2019 年佐治亞理工的余詩孟和清華大學(xué)的錢鶴等[47]提出了一種基于3D-NAND 的VMM 方案,如圖11(a)所示.需要指出的是,通常情況下3DNAND 中一個(gè)WL 控制一個(gè)平面的器件,但圖11(a)中每一層器件沿Y方向均有獨(dú)立的WL 作為輸入端.具體的VMM 的過程為: 1)輸入信號(hào)采用二值編碼,通過地址解碼器和傳輸門電路實(shí)現(xiàn)不同層的選通(如圖11(b)所示).左側(cè)傳輸門的輸入端施加導(dǎo)通電壓Vpass,地址解碼器連接在傳輸門的PMOS柵上.右側(cè)傳輸門的輸入端施加選通電壓Vsel,地址解碼器連接在傳輸門的NMOS 柵上.當(dāng)輸入信號(hào)為0 時(shí),左側(cè)傳輸門開啟,右側(cè)傳輸門關(guān)閉,WL 上施加Vpass電壓.當(dāng)輸入信號(hào)為1 時(shí),左側(cè)傳輸門關(guān)閉,右側(cè)傳輸門打開,WL 上施加Vsel電壓.2)SL 上施加讀電壓Vread,經(jīng)過目標(biāo)層突觸轉(zhuǎn)化為電流在BL 上讀取.從XY平面上看,CTL 器件以經(jīng)典的crossbar 形式排列.

        圖11 一種基于3D-NAND 的VMM 方案[47](a)3D-NAND 的電路結(jié)構(gòu)和VMM 的操作方法;(b)用于3D-NAND 層間選通的外圍電路結(jié)構(gòu)Fig.11.A case of using 3D-NAND for VMM operation[47]:(a)Circuit diagram and bias scheme of 3D-NAND array architecture for VMM;(b)peripheral circuitry for layer-to-layer selection.

        余詩孟、錢鶴等[47]提出的基于3D-NAND 的VMM 方案,并未用于神經(jīng)形態(tài)計(jì)算.如果沿用此方案進(jìn)行神經(jīng)形態(tài)計(jì)算,其優(yōu)勢(shì)在于同一平面內(nèi)的CTL 單元為crossbar 結(jié)構(gòu),反向傳播可采用相同的操作方法,誤差信號(hào)δi從WL 輸入,SL 上施加Vread,BL 上讀取電流,無需另外選用硬件資源.并且后續(xù)的權(quán)重更新可通過WL 上施加電壓脈沖實(shí)現(xiàn).但進(jìn)一步的工作需要考慮兩個(gè)方面: 1)目前不存在這種結(jié)構(gòu)的3D-NAND.同一平面上制備獨(dú)立的WL 將大大增加工藝難度、單元尺寸和引線的復(fù)雜度,硬件實(shí)現(xiàn)難度大;2)柵壓有無作為輸入(二值編碼),那么所選通的器件必須工作在飽和區(qū),CTL 只能有1 bit 的存儲(chǔ)態(tài),如果用一個(gè)CTL 代表一個(gè)突觸,那么神經(jīng)網(wǎng)絡(luò)的精度只有1 bit.要進(jìn)一步提高神經(jīng)網(wǎng)絡(luò)的精度,可以用多個(gè)器件等效為一個(gè)具有多比特精度的突觸,雖然硬件代價(jià)成倍增加,但3D-NAND 的大容量可輕松滿足其需求.

        2019 年Lee 等[48]研究了如何用2D NAND 實(shí)現(xiàn)二值神經(jīng)網(wǎng)絡(luò)(binary neural network,BNN)的前向傳播,如圖12 所示.二值神經(jīng)網(wǎng)絡(luò)的輸入、權(quán)重和輸出均只有兩種狀態(tài),運(yùn)算過程較為簡單,適合對(duì)精度要求不高的推斷(inference)過程.BNN的運(yùn)行只需要器件有兩個(gè)穩(wěn)定可區(qū)分的阻態(tài),對(duì)硬件要求不高.圖12(a)展示了用SLC NAND 進(jìn)行二值運(yùn)算的原理(single level cell,SLC 即存儲(chǔ)態(tài)為1 bit 的CTL 器件),輸入信號(hào)施加在源端用于開關(guān)的晶體管的WL 上(即bit line selector,BLS 或者select gate at drain side,SGD).同一個(gè)page 上兩個(gè)相鄰的SLC 器件構(gòu)成一個(gè)突觸對(duì),兩個(gè)器件中有且只有一個(gè)為寫入狀態(tài).左側(cè)的string 上的BLS 有電壓,右側(cè)無電壓時(shí),輸入標(biāo)記為+1,反之標(biāo)記為-1.突觸對(duì)左側(cè)SLC 器件為未寫入狀態(tài)(Vth,low),右側(cè)為寫入狀態(tài)(Vth,high)時(shí),突觸權(quán)重標(biāo)記為W=+1,反之W=-1.輸入信號(hào)為+1,當(dāng)W=+1 時(shí),SL 端輸出電流ISL,如果將Iref設(shè)為0.5×ISL時(shí),電流經(jīng)過差分放大器,輸出+0.5×ISL,轉(zhuǎn)化為正電壓,標(biāo)記為+1.反之當(dāng)W=-1 時(shí),SL 端無電流輸出,電路輸出-0.5×ISL,讀出負(fù)電壓,標(biāo)記為-1.同理,當(dāng)輸入信號(hào)為-1 時(shí),權(quán)重分別為+1 和-1 時(shí),輸出分別為-1 和+1.這種輸入和權(quán)重狀態(tài)相同才有電流輸出的過程等效為XNOR 邏輯運(yùn)算.

        BNN 前向傳播的原理如圖12(b)所示.其中一個(gè)SLC 器件依次對(duì)應(yīng)一個(gè)前級(jí)神經(jīng)元對(duì)后級(jí)多個(gè)神經(jīng)元的突觸.前級(jí)神經(jīng)元的輸入視為一組向量,同時(shí)輸入到NAND 的BLS 上,如圖12(c)所示.基于這種硬件方案,Lee 等[48]設(shè)計(jì)了二值全連接神經(jīng)網(wǎng)絡(luò)以及二值卷積神經(jīng)網(wǎng)絡(luò)分別用于MNIST 和CIFAR-10 圖片數(shù)據(jù)的識(shí)別,網(wǎng)絡(luò)的訓(xùn)練次數(shù)與識(shí)別率的關(guān)系如圖12(d)所示,識(shí)別率分別達(dá)到98.12%和87.11%.

        圖12 基于2D NAND 的二值神經(jīng)網(wǎng)絡(luò)BNN[48](a)相鄰的兩個(gè)CTL 器件組成差分對(duì)形式的突觸,與輸入的信號(hào)進(jìn)行同或運(yùn)算(XNOR);(b),(c)BNN 前向傳播中NAND 的操作方法以及NAND 電路示意圖;(d)采用二值全連接神經(jīng)網(wǎng)絡(luò)和二值卷積神經(jīng)網(wǎng)絡(luò)分別用于MNIST 和CIFAR-10 圖像庫的識(shí)別性能Fig.12.A synaptic architecture based on 2D NAND for binary neural network(BNN)[48]:(a)NAND string structure for XNOR operation,in which two neighboring CTL device constructs a differential pair as one synapse;(b)operation scheme for forward propagation;(c)schematic diagram of synaptic array architecture;(d)the performance of binarized multi-layer and convolutional neural networks for MNIST and CIFAR-10 database recognition task respectively.

        2019 年Lue 等[49]提出一種用基于SLC 3DNAND 的卷積核映射和前向傳播方案,用多個(gè)BL 輸入和SLC 器件實(shí)現(xiàn)4 bit 精度的輸入和4 bit精度的權(quán)重,如圖13 所示.卷積神經(jīng)網(wǎng)絡(luò)CNN 往往采用多個(gè)卷積核,對(duì)圖片進(jìn)行卷積操作需要進(jìn)行大量的MAC 運(yùn)算,原理如圖13(a)所示.圖片中每個(gè)像素對(duì)應(yīng)一個(gè)輸入信號(hào),一次卷積的過程等同于像素輸入與卷積核中對(duì)應(yīng)的權(quán)重進(jìn)行MAC 運(yùn)算(即前向傳播).卷積核中的權(quán)重具有多bit 精度,可以將權(quán)重拆分為高位和低位,存放在多個(gè)SLC中,例如2 個(gè)SLC 可以實(shí)現(xiàn)2 bit 存儲(chǔ)狀態(tài).2 bit精度的輸入和2 bit 精度的權(quán)重的MAC 過程(2 bit input &2 bit weight,2I2W)如圖13(b)所示.輸入信號(hào)的兩位X1〈0〉和X1〈1〉先后施加在BL1上,權(quán)重的兩位分別存儲(chǔ)在2 個(gè)SLC 器件上,即W(1-1,j)和W(1-2,j).MAC 過程的得到的總電流為X1〈0〉×[W(1-1,j)+2×W(1-2,j)]+2X1×[W(1-1,j)+2×W(1-2,j)],分4 次相乘后移位相加獲得.依次類推,4 bit 精度的MAC 過程(4I4W)可拆分為2 組2 bit 的輸入和2 組2 bit 的權(quán)重進(jìn)行相乘后移位相加,工作原理如圖13(c)所示.圖13(d)展示了卷積核電路的工作原理.圖中沿BL 方向劃分了M個(gè)block,每個(gè)block 代表不同的通道,每個(gè)block 中的每一層代表一個(gè)卷積核.輸入信號(hào)從BL 進(jìn)入,3 根BL 構(gòu)成一個(gè)2 bit的輸入,一個(gè)4 bit 精度的輸入信號(hào)需要6 根BL(圖中只繪出一根).3 個(gè)SLC 器件構(gòu)成一個(gè)2 bit 精度的權(quán)重,4 bit 精度的權(quán)重需要6 個(gè)SLC,對(duì)應(yīng)地需要6 根SSL(圖中只繪出2 根),因此4I4W 過程需要36 個(gè)SLC.對(duì)于更高精度的輸入和權(quán)重,以及更多的圖片像素(文中不考慮輸入端口復(fù)用),需要更多的BL 和SSL,陣列具有相當(dāng)?shù)囊?guī)模.Lue 等[49]并未從硬件上實(shí)現(xiàn)卷積核功能,他們測(cè)試了64 GB SGVC NAND 中單元的電性能.最后基于4 bit 精度的3D-NAND 卷積核電路,運(yùn)行VGG-16 卷積神經(jīng)網(wǎng)絡(luò)對(duì)CIFAR-10 數(shù)據(jù)庫進(jìn)行識(shí)別,識(shí)別率達(dá)到90%.

        圖13 采用SLC 3D-NAND 實(shí)現(xiàn)4 bit 精度的卷積神經(jīng)網(wǎng)絡(luò)方案[49](a)卷積神經(jīng)網(wǎng)絡(luò)的工作原理示意圖(上),涉及大量的MAC 過程(下);(b)對(duì)于多bit 權(quán)重 的MAC 過程,用多個(gè)SLC 器件構(gòu)成 一個(gè)多bit 權(quán)重;(c)4 bit 精度輸入與4 bit 精度權(quán) 重的MAC 原理;(d)卷積核電路的工作原理;(e)VGG 16 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖以及用所設(shè)計(jì)的3D-NAND 加速VGG 16 的性能Fig.13.A case of SLC 3D-NAND for convolution neural network(CNN)with 4-bit resolution[49]:(a)Flow schematic of CNN;(b)in a MAC array,plural SSLs to stand for multi-bit weight;(c)the arithmetic principle of MAC with 4-bit input and 4-bit weight(4I4W);(d)convolutional core circuit and working principle diagram;(e)schematic diagram of VGG 16 CNN and the simulated performance of 3D-NAND hardware implementation.

        2019 年,Kim 等[50]提出了一種基于3D-NAND的卷積核映射方案,用4 個(gè)MLC(multi-level cell,2 bit 存儲(chǔ)態(tài)的CTL 器件)構(gòu)成了8 bit 存儲(chǔ)態(tài)的突觸,并實(shí)現(xiàn)了8 bit 精度的CNN 卷積運(yùn)算,如圖14 所示.圖14(a)中將BiCS 結(jié)構(gòu)的3D-NAND中的每個(gè)block 按BL 方向展開成2D-NAND,每個(gè)SGD 線(select gate at drain side,SGD)連接一個(gè)前級(jí)神經(jīng)元接收輸入信號(hào).具體的卷積核映射方法如圖14(b)所示.一個(gè)8 bit 的權(quán)重映射到一個(gè)string 上相鄰的4 個(gè)MLC 中(P15/N15,P14/N14,P13/N13,P12/N12).兩個(gè)相鄰的block 中同一個(gè)SGD 線控制的兩個(gè)string 上的權(quán)重分別標(biāo)記為正、負(fù),構(gòu)成差分對(duì).差分對(duì)中權(quán)重為正時(shí),負(fù)權(quán)重設(shè)為0,反之權(quán)重為負(fù)時(shí),正權(quán)重設(shè)為0.Kim 等[50]在2021 年的報(bào)道中增加了對(duì)卷積運(yùn)算具體過程的闡述,如圖14(c)所示.其過程為: 1)兩個(gè)輸入信號(hào)的第一位和權(quán)重的前兩位進(jìn)行乘加運(yùn)算后得到4,下一步兩個(gè)輸入信號(hào)的第一位和權(quán)重的下兩位進(jìn)行乘加運(yùn)算得到結(jié)果3,兩次運(yùn)算結(jié)果進(jìn)行移位相加,即3×22+4×20;2)圖中有24 根SGG線,支持24 個(gè)神經(jīng)元信號(hào)同時(shí)輸入進(jìn)行乘加運(yùn)算,乘加運(yùn)算32 次后移位相加,得到24 個(gè)前級(jí)神經(jīng)元對(duì)同一個(gè)后級(jí)神經(jīng)元的輸出.同一個(gè)string 上有16 個(gè)MLC,可存儲(chǔ)4 個(gè)8 bit 權(quán)重,圖14(b)的電路可以映射24 個(gè)前級(jí)神經(jīng)元和4 個(gè)后級(jí)神經(jīng)元之間全連接的突觸.

        圖14 基于MLC 3D-NAND 的8-bit 精度卷積方案[50,51](a)基于BiCS 結(jié)構(gòu)的3D-NAND 電路圖[51];(b)權(quán)重的映射方式,正、負(fù)權(quán)重存儲(chǔ)在相鄰的兩個(gè)block 中[51];(c)2 個(gè)8 bit 精度的輸入信號(hào)和2 個(gè)8 bit 精度的權(quán)重的乘加運(yùn)算過程[51];(d)基于eNAND 的卷積核電路,有7 個(gè)block,28 個(gè)輸入端口,滿足5×5 卷積核的功能[51];(e)卷積過程的信號(hào)時(shí)序圖[51]Fig.14.A case of MLC 3D-NAND for CNN with 8-bit resolution[50,51]:(a)Circuit diagram of BiCS type 3D-NAND,the 3D structure can be flattened into a 2D structure[51];(b)weight mapping method,positive and negative weight stored in two neighboring blocks[51];(c)MAC operation principle of 2 inputs and two weights with 8-bit resolution[51];(d)convolutional core circuit diagram with 7 blocks and 28 input ports can be used for 5×5 convolution operation[51];(e)timing diagram of 5×5 convolution operation with 8-bit data and 8-bit weights[51].

        由于NAND 廠商禁止開放WL 和SGD 端口的控制,Kim 等[50]用自研的16 層die 堆疊的eNAND等效3D-NAND(具體的eNAND 結(jié)構(gòu)和工作原理不在此贅述).圖14(d)中展示了基于eNAND 的卷積核電路,有7 個(gè)卷積用的Block 和一個(gè)用于修復(fù)的Block.此電路具有28 個(gè)輸入端口,可以映射5×5 大小的卷積核,卷積的脈沖時(shí)序如圖14(e)所示.基于此硬件方案,Kim 等[50]設(shè)計(jì)了LetNet-5進(jìn)行MNIST 手寫數(shù)字識(shí)別,識(shí)別率達(dá)到98.5%.

        2021 年,Kim 課題組[52]提出了一種基于3D NAND 的卷積核映射方案,用1 bit 的MAC 算子進(jìn)行分部相乘(partial multiplication)并采用Booth編碼映射正負(fù)權(quán)重,顯著地降低了VMM 過程中的電流,提高了芯片的能效,文中將這種芯片架構(gòu)命名為S-Flash.圖15(a)為卷積運(yùn)算的過程,一個(gè)卷積層由k個(gè)尺寸為K×K×N大小的卷積核構(gòu)成.輸入信號(hào)和卷積核的精度通常為8 bit,那么卷積核在圖像上進(jìn)行一次滑動(dòng)將產(chǎn)生k×K2×N(8 bit×8 bit)次MAC 運(yùn)算.如何優(yōu)化8 bit×8 bit計(jì)算過程是文獻(xiàn)[52]研究的重點(diǎn).文中將輸入信號(hào)和權(quán)重拆分為低比特的算子進(jìn)行分部相乘.將輸入信號(hào)和權(quán)重的比特分別記為(Ba,Bw),當(dāng)(Ba,Bw)=(1,1)時(shí),進(jìn)行64 次乘法運(yùn)算.當(dāng)(Ba,Bw)=(1,2)或(2,1)時(shí),進(jìn)行32 次乘法運(yùn)算.圖15(b)展示了(Ba,Bw)對(duì)乘法和積分對(duì)電路延時(shí)的影響,隨(Ba,Bw)增大,乘法運(yùn)算的延時(shí)略有降低,但電流積分的延時(shí)顯著增大.這是因?yàn)镸AC 運(yùn)算的速率受限于ADC 精度,ADC 精度越高,外圍電路的開銷、延時(shí)和能耗越大.采用一般精度的ADC(如3-bit/4-bit),(Ba,Bw)越大,電流積分的次數(shù)越多,電流積分時(shí)間顯著延長.文中采用(Ba,Bw)=(1,1)作為MAC 運(yùn)算的基本操作單位.圖15(c)展示了S-Flash 的架構(gòu),神經(jīng)網(wǎng)絡(luò)的每一層突觸映射到沿WL 的每一層SLC 中,輸入信號(hào)A1-An的8 位信號(hào)依次施加在BL 上,MAC 電流用SSL 收集,n為卷積核的通道數(shù),用一個(gè)block 映射一個(gè)卷積核的一個(gè)通道,n個(gè)block 構(gòu)成一個(gè)array 映射一個(gè)卷積核,多個(gè)array 映射一個(gè)卷積層.圖15(d)展示了卷積核的映射過程,其中突觸權(quán)重的精度為8 bit,16 個(gè)SLC 構(gòu)成一個(gè)具有正、負(fù)權(quán)重的突觸對(duì).圖15(e)展示了通過用Booth 編碼正、負(fù)權(quán)重,以增加權(quán)重中的“0”位,提高M(jìn)AC 過程中的稀疏性,從而降低MAC 過程中的總電流.為了進(jìn)一步提高計(jì)算效率,將Ak×Wk對(duì)應(yīng)的SLC 陣列中BL 和SSL 增大一倍,SLC 單元增大2 倍,原先8 bit ×8 bit 的MAC 次數(shù)從64 縮減為16,如圖15(f)和圖15(g)所示,將MAC 過程中具有4 倍SLC 規(guī)模但權(quán)重未經(jīng)過Booth 編碼的S-Flash 定義為S-Flash*,具有4 倍SLC 規(guī)模并且權(quán)重經(jīng)過Booth 編碼的S-Flash 定義為S-Flash**.

        圖15 基于3D NAND 的S-Flash 芯片用于卷積神經(jīng)網(wǎng)絡(luò)加速[52](a)卷積過程示意圖;(b)MAC 算子的比特對(duì)乘、加運(yùn)算延遲時(shí)間的影響(左)和MAC 算子的比特對(duì)累加運(yùn)算延遲時(shí)間的影響(右);(c)S-Flash 芯片的架構(gòu);(d)S-Flash 中權(quán)重分布的示意圖,用16 個(gè)SLC 構(gòu)成一個(gè)差分結(jié)構(gòu)的突觸;(e)通過Booth 編碼分配權(quán)重;(f),(g)同時(shí)操作的SSL 和BL 增大1 倍,MAC 次數(shù)縮減了1/4Fig.15.3D NAND-based CNN accelerator named as S-Flash[52]:(a)Convolutional operation of CNN;(b)normalized latency for multiplication,accumulation(left)and MAC operation in various multiplication units(right);(c)overall S-FLASH architecture;(d)overall weight data layout,in which a differential synapse constructed with 16 SLC;(e)weight allocation by Booth coding;(f),(g)double the concurrently operated BLs and SSLs,4 times faster the MAC operation speed.

        最后通過電路仿真研究了S-Flash 芯片在運(yùn)行卷積神經(jīng)網(wǎng)絡(luò)時(shí)的性能參數(shù).分別用S-Flash,SFlash*和S-Flash**運(yùn)行VGG-16 神經(jīng)網(wǎng)絡(luò),計(jì)算了前向傳播中每層神經(jīng)網(wǎng)絡(luò)的能效,并以GPU 方案時(shí)的能效為標(biāo)準(zhǔn)進(jìn)行歸一化,結(jié)果如圖16(a)所示.從圖16(a)可以看出,S-Flash,S-Flash*和S-Flash**的能效分別是GPU 的1.64,6.43 和13.49 倍,SFlash*和S-Flash**的能效分別是S-Flash 的3.9 倍和8.2 倍,所以正、負(fù)權(quán)重的分配對(duì)芯片能效的影響最大.S-Flash**中各電路模塊的面積和能耗對(duì)比如圖16(b)所示,可以看到ADC 面積占芯片面積的0.61%,但能耗占90.67%.圖16(c)中表格列出了S-Flash**和其他芯片的性能參數(shù),包括存儲(chǔ)密度、單位面積的峰值吞吐量和能效,可以看到SFlash**在這3 個(gè)方面均有明顯優(yōu)勢(shì).

        圖16 S-Flash 電路仿真的結(jié)果[52](a)S-Flash/S-Flash*/S-Flash**運(yùn)行VGG-16 卷積神經(jīng)網(wǎng)絡(luò)時(shí)的能效;(b)S-Flash**電路模塊的面積對(duì)比和運(yùn)行VGG-16 時(shí)各電路模塊的能耗對(duì)比;(c)S-Flash**與其他芯片的性能參數(shù)對(duì)比Fig.16.Simulation result of S-Flash[52]:(a)Energy efficiency evaluation result of each VGG-16 layer accelerated by S-Flash/S-Flash*/S-Flash**;(b)area and energy breakdown of S-FLASH**;(c)comparison with the other platform.

        2021 年,余詩孟課題組[53]提出了一種基于3D NAND 的神經(jīng)形態(tài)芯片架構(gòu),用于卷積神經(jīng)網(wǎng)絡(luò)加速.圖17(a)所示為在3D NAND 的一個(gè)block 中進(jìn)行VMM 操作的方法: 沿WL 方向的每一層SLC 器件對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)的每一層突觸,輸入信號(hào)XN施加在BL 上,權(quán)重Wi精度為2 bit,用3 個(gè)SLC 代表一個(gè)Wi,3 根SSL 用于突觸選通.XN采用十進(jìn)制編碼,即精度為nbit 的XN,可用2n-1 根BL 來表示.用十進(jìn)制編碼的優(yōu)勢(shì)在于block 中所有string 上的電流可直接相加后進(jìn)行模數(shù)轉(zhuǎn)換,而無需移位操作.圖17(b)中展示了2 bit 權(quán)重精度的卷積核映射方案,卷積核尺寸為K=KC×KW×KH,XN精度為nbit,卷積核中一個(gè)單元的權(quán)重映射到3×(2n-1)個(gè)SLC 中.圖17(c)為多個(gè)block 構(gòu)成的subarray,用于映射一個(gè)卷積層.VGG-8 卷積神經(jīng)網(wǎng)絡(luò)中,最大的卷積層中有16 個(gè)卷積核,Wi精度為2 bit,XN精度為8 bit.用一個(gè)block 映射精度為2 bit 的卷積核,block 的大小為521×3×3×(22-1)×(22-1)×32 WL=1.27 Mb.考慮到VGG-8 中權(quán)重的精度為8 bit,采用4 個(gè)2 bit 精度的block 通過分部相乘實(shí)現(xiàn),那么1 個(gè)subarray 的大小為16×4×1.27 Mb=81 Mb.圖17(d)為芯片架構(gòu)的示意圖,芯片中有4 個(gè)tile,每個(gè)tile 有4 個(gè)PE(process element),每個(gè)PE 有4 個(gè)subarray.VGG-8 神經(jīng)網(wǎng)絡(luò)需要110 Mb SLC,所設(shè)計(jì)的芯片容量完全滿足需求.用HSPICE 計(jì)算了3D NAND 運(yùn)行VGG-8網(wǎng)絡(luò)用于CIFAR-10 圖像識(shí)別任務(wù)的性能,電路中各模塊的能耗占比如圖17(e)所示.圖17(f)列出了3D NAND 的性能參數(shù),并與RRAM 和SRAM做比較,可以看到所設(shè)計(jì)的3D NAND 在各項(xiàng)性能指標(biāo)上均有明顯的優(yōu)勢(shì).

        圖17 輸入信號(hào)采用十進(jìn)制編碼的3D NAND 芯片用于卷積神經(jīng)網(wǎng)絡(luò)加速[53](a)用3D NAND 做VMM 的操作方法;(b)卷積核映射的方案;(c)subarray的結(jié)構(gòu)示意圖;(d)芯片的架構(gòu)示意 圖;(e)用3D NAND 芯片運(yùn)行VGG-8 神經(jīng)網(wǎng)絡(luò)用于CIFAR-10 圖片庫識(shí)別時(shí),各電路模塊的能耗對(duì)比;(f)3D NAND 與其他芯片的性能對(duì)比Fig.17.A 3D NAND CNN accelerator with decimal input coding[53](a)VMM operation method by using 3D NAND;(b)the mapping method of a CNN kernel;(c)designed subarray configuration;(d)hierarchy of the 3D NAND-based neuromorphic chip architecture;(e)energy breakdown of 3D NAND-based chip on VGG-8 network for the CIFAR-10 dataset;(f)comparison with other chips.

        2022 年,霍宗亮課題組[54]利用3D NAND 中CTL 的模擬權(quán)重調(diào)制特性,設(shè)計(jì)了兩層全連接神經(jīng)網(wǎng)絡(luò),用Winner-takes-all(WTA)非監(jiān)督學(xué)習(xí)算法實(shí)現(xiàn)ZVN 圖像的識(shí)別.圖18(a)為3D NAND的操作示意圖,不同于其他文獻(xiàn),文中陣列的輸入信號(hào)施加在WL 上,輸入信號(hào)為Vread和Vpass,分別代表輸入像素點(diǎn)的明暗兩種狀態(tài),即1 和0.突觸映射在WL 平面的CTL 陣列中,采用差分對(duì)結(jié)構(gòu),輸出電流在BL 端收集并通過TSG(top select gate transistor)控制.圖18(b)中為CTL 器件的模擬權(quán)重調(diào)制特性,可以看到CTL 器件的長時(shí)程增強(qiáng)(long term potentiation,LTP)和長時(shí)程抑制(long term depression,LTD)過程具有良好的線性度.圖18(c)展示了用3D NAND 實(shí)現(xiàn)非監(jiān)督學(xué)習(xí)的訓(xùn)練過程.首先以相同的概率輸入標(biāo)準(zhǔn)的Z,V,N 圖像然后以WTA 法則進(jìn)行權(quán)重更新.WTA 的權(quán)重更新法則: 以圖像“Z”為例,當(dāng)輸入Xi為1 時(shí),增強(qiáng)對(duì)應(yīng)的3 個(gè)權(quán)重Gi, j=1,2,3,即增大值,減小值.然后將輸出最大的后級(jí)神經(jīng)元標(biāo)記為winner,增強(qiáng)連接在winner 神經(jīng)元的突觸權(quán)重,即增大值,減小值,其他突觸權(quán)重不變.在訓(xùn)練了標(biāo)準(zhǔn)圖像后,訓(xùn)練帶有噪聲的Z,V,N 圖像,即有一個(gè)像素點(diǎn)反轉(zhuǎn)的圖片,以提高神經(jīng)網(wǎng)絡(luò)的容錯(cuò)率.測(cè)試時(shí)用一組隨機(jī)圖像做推斷,評(píng)估神經(jīng)網(wǎng)絡(luò)的性能.圖18(d)中展示了訓(xùn)練之前和訓(xùn)練之后,3 個(gè)神經(jīng)元的響應(yīng)情況以及權(quán)重的分部.經(jīng)過42 個(gè)訓(xùn)練周期后,3 個(gè)神經(jīng)元能準(zhǔn)確識(shí)別Z,V,N 圖像,并且輸入像素的權(quán)重隨訓(xùn)練次數(shù)的增大,往正確的預(yù)測(cè)方向增大/減小.

        圖18 基于3D NAND 的WTA 神經(jīng)網(wǎng)絡(luò)用于非監(jiān)督學(xué)習(xí)[54](a)具有差分對(duì)結(jié)構(gòu)的3D NAND;(b)CTL 器件的模擬權(quán)重調(diào)制特性;(c)用3D NAND 訓(xùn)練WTA 神經(jīng)網(wǎng)絡(luò)的過程;(d)WTA 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果Fig.18.A 3D NAND-based WTA neural network for unsupervised learning[54]:(a)Schematic of the differential pair in 3D NAND flash array;(b)analog weight modulation of measured CTL device;(c)the training procedure of WTA neural network using 3D NAND array;(d)stylized letter clustering results before and after training.

        上述關(guān)于用于前向傳播的3D NAND 均采用二值或者幅值編碼.2020 年Lee 等[55]設(shè)計(jì)了一種基于脈寬編碼的操作方案,在3D-NAND 中實(shí)現(xiàn)了前向傳播過程,如圖19 所示.圖19(a)展示了前向傳播的原理和操作方式: 1)前級(jí)神經(jīng)元發(fā)放的脈沖輸入信號(hào)采用脈寬編碼,通過脈寬調(diào)制電路(pulse width modulation,PWM)發(fā)放施加在SSL,神經(jīng)網(wǎng)絡(luò)中每一層突觸映射到3D-NAND 中每一層CTL 器件上,并且采用差分對(duì)結(jié)構(gòu)用兩個(gè)CTL器件分別存儲(chǔ)正、負(fù)權(quán)重;2)SL 上施加驅(qū)動(dòng)電壓VBL,選通層的WL 上加較小的選通電壓Vread,未選通層的WL 上加較大的導(dǎo)通電壓Vpass,VBL經(jīng)過選通層的正、負(fù)權(quán)重轉(zhuǎn)化為電流進(jìn)入后級(jí)神經(jīng)元電路;3)神經(jīng)元電路的結(jié)構(gòu)如圖19(b)所示,輸出的電流經(jīng)過電流鏡構(gòu)成的差分電路,相減后對(duì)電容進(jìn)行充電得到后級(jí)神經(jīng)元的電壓Vc,其中SSL 上輸入信號(hào)的脈寬決定了SSL 上晶體管的開啟時(shí)間,即電流的積分時(shí)間.Lee 等[55]根據(jù)3D-NAND 的硬件方案設(shè)計(jì)了3 層全連接的卷積神經(jīng)網(wǎng)絡(luò),對(duì)CIFAR-10 圖片數(shù)據(jù)庫進(jìn)行識(shí)別任務(wù),并且比較了權(quán)重精度為1 bit 和4 bit 時(shí)網(wǎng)絡(luò)的性能表現(xiàn),如圖19(c)所示.

        圖19 3D-NAND 中采用脈寬編碼實(shí)現(xiàn)前向傳播[55](a)前向傳播的操作方式、神經(jīng)網(wǎng)絡(luò)示意圖和WL 上讀電壓的時(shí)序圖;(b)左: 前向傳播的工作原理示示意圖,即兩個(gè)標(biāo)記為正、負(fù)權(quán)重的突觸對(duì)構(gòu)成一個(gè)突觸,輸出電流相減后通過電容積分轉(zhuǎn)化為電壓Vc;右: 讀電壓Vread、SSL 上輸入脈沖VSSL 和Vc 的時(shí)序圖;(c)3 層全連接CNN 網(wǎng)絡(luò)在權(quán)重精度為4 bit(QNN)和1 bit(BNN)條件下對(duì)CIFAR-10 圖片數(shù)據(jù)庫的識(shí)別性能Fig.19.Forward propagation using 3D-NAND with pulse width modulation(PWM)scheme[55]:(a)Operation scheme of forward propagation,schematic diagram of neural networks,the timing diagram of pulses applied to WLs;(b)Left: schematic diagram of synaptic string array consisting of synapses with positive weight(G+)and synapses with negative weight(G-);Right: timing diagram of Vread,VSSL,and Vc;(c)simulated classification accuracy of 4-bit QNN and BNN for CIFAR-10 images.

        2.2.2 3D-NAND 用于反向傳播

        由于CTL 器件擦寫次數(shù)有限,因此3D-NAND通常用于權(quán)重更新不太頻繁的應(yīng)用場景.通常將已訓(xùn)練好的權(quán)重映射到3D-NAND 中,執(zhí)行推斷任務(wù),2.2.1 節(jié)中介紹的工作均基于此應(yīng)用場景.但在硬件上直接訓(xùn)練權(quán)重,顯然更智能且經(jīng)濟(jì).除了有限的器件擦寫次數(shù),在3D-NAND 中做反向傳播面臨兩方面的挑戰(zhàn).第一,反向傳播中突觸矩陣和前向傳播中互為轉(zhuǎn)置,另選硬件資源映射轉(zhuǎn)置后的突觸矩陣做反向傳播(如圖10(c)所示),訓(xùn)練時(shí)間代價(jià)較高,也容易出錯(cuò).第二,突觸往往采用差分對(duì)結(jié)構(gòu),NAND 的串行結(jié)構(gòu)天然不適合反向傳播.因此如何設(shè)計(jì)反向傳播的操作方案是關(guān)鍵.

        2021 年,Lee 等[56]在2020 年報(bào)道的方案上[55]做出改進(jìn),可以在3D-NAND 同一個(gè)CTL 陣列中同時(shí)實(shí)現(xiàn)神經(jīng)形態(tài)計(jì)算中的前向傳播和反向傳播過程,如圖20 所示.根據(jù)神經(jīng)網(wǎng)絡(luò)的工作原理,反向傳播過程中誤差信號(hào)從最后一層神經(jīng)元輸入并依次向前級(jí)神經(jīng)元傳遞.對(duì)于crossbar 結(jié)構(gòu)的突觸陣列,反向傳播時(shí)誤差信號(hào)從原輸出端輸入,從矩陣相乘角度看,前向傳播和反向傳播過程中突觸陣列的矩陣互為轉(zhuǎn)置的關(guān)系,如圖20(a)所示.但如果硬件采用差分對(duì)結(jié)構(gòu),相鄰的器件分別為正、負(fù)權(quán)重,前向傳播和反向傳播時(shí)突觸的矩陣則為非轉(zhuǎn)置關(guān)系,如圖20(b)所示.為了實(shí)現(xiàn)反向傳播,Lee等[56]將所有突觸的正、負(fù)權(quán)重用兩個(gè)陣列分開配置,如圖20(c)所示.

        圖20 差分對(duì)突觸陣列中將正、負(fù)權(quán)重分開放置可實(shí)現(xiàn)反向傳播[56](a)前向傳播和反向傳播過程中對(duì)應(yīng)的突觸陣列,從矩陣運(yùn)算角度上看互為轉(zhuǎn)置結(jié)構(gòu);(b)通常情況下,差分對(duì)結(jié)構(gòu)中的正、負(fù)權(quán)重在同一個(gè)陣列中,突觸陣列與前向傳播過程中并非轉(zhuǎn)置的關(guān)系,無法實(shí)現(xiàn)反向傳播功能;(c)將正、負(fù)權(quán)重分開置于不同的陣列中,可以實(shí)現(xiàn)反向傳播過程Fig.20.Backward propagation can be implemented using a differential synaptic array where positive and negative weights are separated[56]:(a)The matrix of synapse weight in forward and backward propagation are transposed;(b)synaptic array architecture consisting of two adjacent cells representing G+ and G-,the weights cannot be transposed;(c)synaptic array architecture where G+and G- weights are separated in different arrays.

        Lee 等[56]用3D-NAND 實(shí)現(xiàn)前向和反向傳播的原理如圖21 所示.前向傳播過程如圖21(a)所示: 1)前級(jí)神經(jīng)元的輸入信號(hào)用脈寬編碼,通過PWM 模塊發(fā)生并施加到BL 上,SSL 控制NAND string 的開關(guān),即控制流入到對(duì)應(yīng)的各個(gè)后級(jí)神經(jīng)元的電流.2)3D-NAND 中每一層突觸器件對(duì)應(yīng)神經(jīng)元中的每一層全連接突觸,如圖21(c)所示,信號(hào)前向傳播到第i層時(shí),在3D-NAND 第i層的WL 上施加選通電壓Vread,在其他層施加導(dǎo)通電壓Vpass;3)所有前級(jí)神經(jīng)元輸入的脈沖信號(hào)分別經(jīng)過正、負(fù)權(quán)重,轉(zhuǎn)化為電流在輸出神經(jīng)元電路中進(jìn)行差分后積分轉(zhuǎn)化為輸出電壓.反向傳播的過程如圖21(b)所示: 1)反向傳播的誤差信號(hào)同樣采用脈寬編碼,通過PWM 電路發(fā)生并施加在SSL 上.由于讀操作中CTL 單元的電流受柵-源電壓控制,即Vread減去CTL 單元源端的電位,而源極的電位與pass 狀態(tài)的CTL 單元的分布情況有關(guān).如果反向傳播過程的誤差信號(hào)施加在SL 端,那么CTL的源極電位與前向傳播時(shí)不一致,即CTL 柵源電壓不一致,讀電流將會(huì)產(chǎn)生較大的誤差.因此Lee等[56]將誤差信號(hào)從SSL 端輸入,既能保證權(quán)重的轉(zhuǎn)置也能避免pass 單元造成的讀誤差.2)Vread和Vpass依次施加各層WL 上,施加的順序與前向傳播相反.3)BL 連接前級(jí)神經(jīng)元電路,SL 上施加驅(qū)動(dòng)電壓VBL,每個(gè)NAND string 上的產(chǎn)生電流在神經(jīng)元電路中做差分后積分得到輸出電壓,通過SSL 上誤差信號(hào)的脈寬決定了電流在神經(jīng)元電路中的積分時(shí)間得到對(duì)應(yīng)的電壓.

        圖21 基于3D-NAND 的前向傳播和反向傳播的工作原理[56](a)前向傳播中3D-NAND 的操作方法;(b)反向傳播中3DNAND 的操作方法;(c)具有n 層全連接突觸的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);(d)前向傳播和反向傳播中WL 上選通電壓Vread 和導(dǎo)通電壓Vpass 的時(shí)序Fig.21.Forward and backward propagation using 3D-NAND with PWM scheme[56]:(a)Synaptic array architecture based on NAND flash memory for forwarding propagation operation;(b)synaptic array architecture based on NAND flash memory for backward propagation operation;(c)schematic of neural networks consisting of n weight layers;(d)timing diagram of Vread and Vpass in forwarding propagation and backward propagation.

        CTL 器件通過寫脈沖可具有32 個(gè)不同的Vth,即5 bit 的權(quán)重態(tài),如圖22(a)所示.圖22(b)中用不同的讀電壓V1-V5可得到不同的權(quán)重態(tài)分布,其中讀電壓越大,權(quán)重變化范圍越小,但分布越線性.Vpass對(duì)Vth基本沒有影響,如圖22(c)所示.寫/擦脈沖循環(huán)對(duì)權(quán)重態(tài)的分布也基本無影響,如圖22(d)所示.CLT 器件權(quán)重的精度為5 bit,差分對(duì)構(gòu)成的突觸精度達(dá)到6 bit.基于測(cè)試得到的幾種權(quán)重態(tài)分布和單元之間的權(quán)重誤差分布,Lee 等[56]設(shè)計(jì)了全連接神經(jīng)網(wǎng)絡(luò)用于MNIST 圖片識(shí)別任務(wù),網(wǎng)絡(luò)的性能表現(xiàn)如圖22(e)所示.其中權(quán)重態(tài)分布越線性,網(wǎng)絡(luò)識(shí)別率越高.將網(wǎng)絡(luò)中隱藏層數(shù)量增加到3 層,可以略微提高網(wǎng)絡(luò)識(shí)別率,如圖22(f)所示.

        圖22 器件特性和神經(jīng)網(wǎng)絡(luò)性能[56](a)器件的IBL-VBL 特性隨寫入脈沖數(shù)量的變化;(b)圖(a)中器件的歸一化電導(dǎo)隨寫脈沖數(shù)量的變化;(c)導(dǎo)通電壓Vpass 和寫電壓VPGM 對(duì)閾值電壓的影響;(d)初始狀態(tài)的器件和經(jīng)歷過擦寫循環(huán)的器件對(duì)寫入脈沖的響應(yīng);(e)三層全連接神經(jīng)網(wǎng)絡(luò)的識(shí)別率;(f)隱藏層數(shù)量對(duì)識(shí)別率的影響Fig.22.Device characteristics and neural network performance[56]:(a)IBL-VBL curves with an increasing number of program pulses;(b)normalized conductance responses measured in(a);(c)IBL-VWL curves measured in a fresh,Vpass disturbed,and programmed cell;(d)conductance response of fresh and cycled cell;(e)recognition accuracy of 3-layer neural network;(f)recognition accuracy with the number of hidden layers.

        2.2.3 各項(xiàng)工作的比對(duì)

        基于3D-NAND 的神經(jīng)形態(tài)計(jì)算的各項(xiàng)工作比對(duì)如表2 所列.

        表2 基于3 D-NAND 的神經(jīng)形態(tài)計(jì)算的各項(xiàng)工作比對(duì)Table 2. A comparison of reviewed works.

        3 總結(jié)與展望

        過去幾年,具有存算一體特性的AI 芯片不斷涌現(xiàn),工藝節(jié)點(diǎn)涵蓋了14-180 nm,計(jì)算架構(gòu)包括了近存計(jì)算、存內(nèi)計(jì)算和神經(jīng)形態(tài)計(jì)算,應(yīng)用場景覆蓋了邊緣端到云端設(shè)備.在各種硬件方案中,基于3D-NAND 的神經(jīng)形態(tài)芯片在芯片容量,CMOS工藝兼容性和成本方面極具優(yōu)勢(shì).本文首先介紹了3D-NAND 的基本結(jié)構(gòu)和原理,以及用于神經(jīng)形態(tài)計(jì)算的優(yōu)勢(shì)和不足.然后詳細(xì)梳理了近幾年關(guān)于NAND 和3D-NAND 用于神經(jīng)形態(tài)計(jì)算的代表性工作,重點(diǎn)介紹了其中的編碼方式、前向傳播原理和反向傳播過程.

        基于現(xiàn)有的工作,考慮到3D-NAND 的優(yōu)勢(shì)與不足,如用于未來的神經(jīng)形態(tài)計(jì)算,3D-NAND需要做的調(diào)整如下:

        1)器件層面.用于數(shù)據(jù)存儲(chǔ)的3D NAND,器件采用電荷俘獲型晶體管(CTL),通過在柵極施加高幅值和長時(shí)程的脈寬(>10 V,>100 μs),利用Fowler-Nordheim 隧穿效應(yīng),在電荷俘獲層中注入或擦除電子以改變閾值電壓(Vth),實(shí)現(xiàn)存儲(chǔ)功能.隨擦寫次數(shù)的增加,隧穿絕緣層的晶格會(huì)被破壞甚至失效,因此CTL 的擦寫次數(shù)有限.低功耗是神經(jīng)形態(tài)計(jì)算的特點(diǎn),CTL 器件的操作功耗需要進(jìn)一步優(yōu)化.目前國內(nèi)外的一些研究機(jī)構(gòu),探索了將氧化鉿基鐵電材料替代傳統(tǒng)的氮化硅電荷俘獲層[57,58],利用鐵電效應(yīng)實(shí)現(xiàn)了器件的存儲(chǔ)功能.如果能將鐵電技術(shù)成功地應(yīng)用到3D NAND 中,能大幅提高器件的擦寫次數(shù),并且降低操作功耗.

        2)結(jié)構(gòu)層面.1)CTL 晶體管是3D NAND 的基本單元,多個(gè)CTL 器件組成一個(gè)NAND string,多個(gè)string 組成一個(gè)block,多個(gè)block 組成3D NAND 結(jié)構(gòu).在神經(jīng)形態(tài)計(jì)算中,突觸和神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本單元.2)突觸可由一個(gè)或多個(gè)CTL 器件構(gòu)成.對(duì)于低精度的計(jì)算,可采用幅值或者脈寬編碼,輸入/輸出均為模擬信號(hào),單個(gè)CTL突觸即可滿足模擬計(jì)算的需求,電路結(jié)構(gòu)簡單原理直觀.對(duì)于高精度的計(jì)算,則采用二值編碼,用多個(gè)SLC 構(gòu)建一個(gè)多bit 精度的突觸,采用二進(jìn)制計(jì)算方式.3)突觸多采用差分對(duì)結(jié)構(gòu)G=G+-G-,為了避免正、負(fù)突觸閾值電壓達(dá)到最大而無法進(jìn)一步更新權(quán)重,3D NAND 中通常需要定期進(jìn)行塊擦除并重新賦予突觸權(quán)重值.2021 年,首爾大學(xué)和SK Hynix 合作開發(fā)了適用于神經(jīng)形態(tài)計(jì)算的單個(gè)CTL 器件的擦除方案,避免了定期的塊擦除[59].

        3)架構(gòu)層面.存儲(chǔ)用途的3D NAND 只涉及讀、寫、擦操作,計(jì)算由外部的CPU 負(fù)責(zé).讀寫按block→string→CTL 的順序串行操作.區(qū)別于存儲(chǔ)用途,在用于神經(jīng)形態(tài)計(jì)算的3D NAND 中,讀操作增加了MAC 運(yùn)算,外圍電路需要配置大量的ADC/DAC 和移位加法器等單元.并且讀寫操作按神經(jīng)網(wǎng)絡(luò)的映射規(guī)則執(zhí)行,不一定按block→string→CTL 的順序.

        最后,由于3D-NAND 的專利特性,廠商并未開放用戶對(duì)芯片顆粒端口的權(quán)限.目前的工作中,前向傳播過程和反向傳播過程并未做硬件實(shí)現(xiàn),多數(shù)是基于廠商樣片測(cè)得的存儲(chǔ)單元特性以及讀誤差分布,通過電路和軟件層面上仿真得到的結(jié)果.未來的工作應(yīng)該考慮與廠商有更深入的交流合作,在硬件層面執(zhí)行前向傳播、反向傳播和權(quán)重更新,更直接地展示3D-NAND 在神經(jīng)形態(tài)計(jì)算方面的應(yīng)用潛力.

        猜你喜歡
        器件神經(jīng)元卷積
        《從光子到神經(jīng)元》書評(píng)
        自然雜志(2021年6期)2021-12-23 08:24:46
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        躍動(dòng)的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        旋涂-蒸鍍工藝制備紅光量子點(diǎn)器件
        基于二次型單神經(jīng)元PID的MPPT控制
        面向高速應(yīng)用的GaN基HEMT器件
        毫米波導(dǎo)引頭預(yù)定回路改進(jìn)單神經(jīng)元控制
        一種加載集總器件的可調(diào)三維周期結(jié)構(gòu)
        日本骚色老妇视频网站| 精品人妻人人做人人爽夜夜爽| 97精品伊人久久大香线蕉app | 久久国产劲暴∨内射| 一级二级中文字幕在线视频| 精品熟妇av一区二区三区四区| 日本一区二区在线播放视频| 人妻洗澡被强公日日澡电影 | 亚洲日本欧美产综合在线| 亚洲av一二三又爽又爽又色| 亚洲人成网站色在线入口口| 中国女人内谢69xxxx免费视频| 黄视频国产| 亚洲一区二区三区久久久| 中文字幕亚洲精品久久| 人人妻人人澡人人爽人人精品97| 亚洲AV永久青草无码性色av| 久久本道久久综合一人| 色综合天天综合网国产成人网| 婷婷五月综合丁香在线| 亚洲AV无码国产精品久久l| 五月婷婷开心五月播五月| 成人免费看aa片| 无码人妻丰满熟妇精品区| 国产一区,二区,三区免费视频 | 99re热这里只有精品最新| 色哟哟av网站在线观看| 一区二区视频在线国产| 亚洲精品久久区二区三区蜜桃臀 | 激情视频在线观看国产中文| 免费人成视频网站在线不卡| 国内精品人妻无码久久久影院导航| 香蕉国产人午夜视频在线观看 | 亚洲日韩精品久久久久久| 成人自拍三级在线观看| 精品久久久久久久久午夜福利| 极品熟妇大蝴蝶20p| 精品国产麻豆一区二区三区| 亚洲av永久无码精品网站| 蜜桃成人无码区免费视频网站| 免费人人av看|