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

        ?

        基于ReRAM的神經(jīng)網(wǎng)絡(luò)加速器發(fā)展概況

        2018-02-20 00:43:52周川波
        西部廣播電視 2018年24期
        關(guān)鍵詞:存儲(chǔ)器加速器架構(gòu)

        周川波

        (作者單位:四川廣播電視臺(tái)520發(fā)射傳輸臺(tái))

        1 背景和研究進(jìn)展

        隨著互聯(lián)網(wǎng)發(fā)展、存儲(chǔ)介質(zhì)價(jià)格降低、數(shù)據(jù)來源越來越廣泛,人們來到了大數(shù)據(jù)(Big Data)時(shí)代。深度學(xué)習(xí)[1-3](Deep Learning)可以讓那些擁有多個(gè)處理層的計(jì)算模型來學(xué)習(xí)具有多層次抽象的數(shù)據(jù)的表示。這些方法在許多方面都帶來了顯著的改善,包括最先進(jìn)的語音識(shí)別、視覺對(duì)象識(shí)別、對(duì)象檢測(cè)、推薦系統(tǒng)[4-5]和許多其他領(lǐng)域,例如藥物發(fā)現(xiàn)和基因等。深度學(xué)習(xí)能夠發(fā)現(xiàn)大數(shù)據(jù)中的復(fù)雜結(jié)構(gòu)。它是利用反向傳播(Backpropagation,BP)算法來完成這個(gè)發(fā)現(xiàn)過程的。BP算法能夠指導(dǎo)機(jī)器如何從前一層獲取誤差而改變本層的內(nèi)部參數(shù),這些內(nèi)部參數(shù)可以用于計(jì)算表示。深度卷積網(wǎng)絡(luò)在處理圖像[6]、視頻、語音和音頻方面帶來了突破,而遞歸網(wǎng)絡(luò)在處理序列數(shù)據(jù),比如文本和語音方面表現(xiàn)優(yōu)秀。

        深度學(xué)習(xí)方法雖然取得許多突破,但是也存在著模型參數(shù)數(shù)量大,訓(xùn)練慢等問題,除了改進(jìn)訓(xùn)練算法,在軟件層面加快速度外,利用硬件加速訓(xùn)練神經(jīng)網(wǎng)絡(luò)也引起了學(xué)術(shù)界的關(guān)注。在2016年的ISCA會(huì)議和MICRO會(huì)議,發(fā)表了許多有關(guān)身神經(jīng)網(wǎng)絡(luò)加速器的文章,下面簡(jiǎn)單介紹這兩個(gè)會(huì)議的有關(guān)內(nèi)容。

        ISCA2016于6月18日至22日在韓國首爾召開,這次會(huì)議有近800名來自世界各地的工業(yè)界和學(xué)術(shù)界的專家學(xué)者參加,在參會(huì)人數(shù)上創(chuàng)下歷史新高。本屆會(huì)議共收到了291篇投稿論文,最終錄用了57篇,接收率為19.6%。

        在這次大會(huì)上,SK Hynix的執(zhí)行副總裁Seok-Hee Lee做了關(guān)于存儲(chǔ)技術(shù)的報(bào)告。由于CPU/GPU計(jì)算能力的迅速增長(zhǎng),未來系統(tǒng)性能的提高遇到了“存儲(chǔ)墻”(Memory Wall)的瓶頸,使存儲(chǔ)技術(shù)在計(jì)算機(jī)體系架構(gòu)的重要性越來越高。除了繼續(xù)研究基于傳統(tǒng)的SRAM和DRAM的存儲(chǔ)架構(gòu),新型存儲(chǔ)技術(shù),比如非易失性存儲(chǔ)器(Non-volatile Memory)的研究越來越受到學(xué)術(shù)界和工業(yè)界的重視。這次大會(huì)57篇論文中,大約20篇都與Memory相關(guān)。

        MICRO是計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域的頂級(jí)會(huì)議,重點(diǎn)關(guān)注處理器體系結(jié)構(gòu)的設(shè)計(jì)等內(nèi)容。自1968年創(chuàng)辦以來,迄今已經(jīng)舉辦了49屆,MICRO2016于10月15日至19日在臺(tái)北召開。本屆會(huì)議共收到了283篇投稿論文,最終錄用了61篇,接收率為21.6%。

        從MICRO論文分析來看,目前體系結(jié)構(gòu)研究的熱點(diǎn)體現(xiàn)在兩個(gè)方面:第一是對(duì)存儲(chǔ)結(jié)構(gòu)的關(guān)注,第二是對(duì)神經(jīng)網(wǎng)絡(luò)加速器的關(guān)注。

        本文關(guān)注的是新型存儲(chǔ)器和神經(jīng)網(wǎng)絡(luò)加速器研究的結(jié)合點(diǎn)——基于新型存儲(chǔ)器ReRAM的神經(jīng)網(wǎng)絡(luò)加速器。與現(xiàn)在深度學(xué)習(xí)框架theano、tensorflow 使用軟件仿真和GPU加速[7]不同,使用ReRAM可以直接在內(nèi)存中完成神經(jīng)網(wǎng)絡(luò)計(jì)算,節(jié)省了數(shù)據(jù)在內(nèi)存、CPU、GPU頻繁遷移產(chǎn)生的事件和能源損耗。本文首先介紹了ReRAM的原理和結(jié)構(gòu)[8-9],基于ReRAM提出了一個(gè)簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)架構(gòu)[10],PRIME[11]強(qiáng)化了ReRAM架構(gòu)的處理能力,使其適應(yīng)于不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和較大規(guī)模數(shù)據(jù),NEUTRAMS[12]消除了硬件約束,通過仿真層對(duì)硬件的抽象,使得在表示層設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)不需要修改即可實(shí)現(xiàn)在不同硬件架構(gòu)上移植。

        2 電阻式隨機(jī)訪問存儲(chǔ)器

        電阻式隨機(jī)訪問存儲(chǔ)器[8-9](ReRAM),是一類通過改變單元(Cell)電阻來實(shí)現(xiàn)非易失性存儲(chǔ)(Non-volatile Memory)的隨機(jī)訪問存儲(chǔ)器。廣義的定義下并沒有指明實(shí)現(xiàn)電阻變化的材料,如非特別說明,本文所指的ReRAM是廣義ReRAM的一個(gè)子類,即使用金屬氧化物的ReRAM,這種ReRAM使用金屬氧化物層來實(shí)現(xiàn)電阻的變化。

        如圖1(a),ReRAM單元是一種金屬-絕緣體-金屬(Metal-insulator-metal,MIM)結(jié)構(gòu),由頂層電極,底層電極和中間層金屬氧化物組成。當(dāng)有額外的電壓通過時(shí),ReRAM單元將從高阻態(tài)(High Resistance State,HRS)轉(zhuǎn)換成低阻態(tài)(Low Resistance State,LRS),通常高阻態(tài)表示邏輯“0”,低阻態(tài)表示邏輯“1”。

        圖1(b)展示了ReRAM單元雙極轉(zhuǎn)換的I-V圖,將一個(gè)單元從高阻態(tài)(邏輯“0”)轉(zhuǎn)換成低阻態(tài)(邏輯“1”)稱為置位(SET)操作,將一個(gè)單元從低阻態(tài)(邏輯“1”)轉(zhuǎn)換成高阻態(tài)(邏輯“0”)稱為重置(RESET)操作。通常使用正電壓來進(jìn)行置位操作,使用負(fù)電壓來進(jìn)行重置操作。進(jìn)行SET操作時(shí),正電壓保持不變,觀察到電流增加,也就是說電阻減小,成為低阻態(tài)。進(jìn)行RESET操作時(shí),負(fù)電壓保持不變,電流趨向于零,也就是說電阻增大,成為高阻態(tài)。需要強(qiáng)調(diào)的是,目前情況下基于ReRAM的存儲(chǔ)器耐久度達(dá)到了1 012數(shù)量級(jí),而基于PCM的存儲(chǔ)器耐久度在106~108。ReRAM有較好的耐久度。

        圖1(c)展示了ReRAM的Crossbar整列結(jié)構(gòu),這是最能有效利用面積的陣列組織方式。目前有兩種通用的方法來提升ReRAM的密度、降低功耗,一種是多層的Crossbar架構(gòu)(Multi-layer Crossbar Architecture),一種是多平面的單元結(jié)構(gòu)(Multi-level Cell,MLC)。在MLC結(jié)構(gòu)下,ReRAM的每個(gè)單元通過使用不同平面的電阻,可以實(shí)現(xiàn)存儲(chǔ)超過1bit的信息。實(shí)現(xiàn)這種一個(gè)單元存儲(chǔ)多bit信息需要非常好的寫控制器件,目前已經(jīng)能夠做到一個(gè)單元存儲(chǔ)7bit信息。

        圖1(a) ReRAM單元示意圖 圖1(b) 雙極轉(zhuǎn)換的I-V曲線圖圖1(c) Crossbar架構(gòu)圖解

        因?yàn)镃rossbar架構(gòu)的高密度,ReRAM被認(rèn)為是可以替代DRAM成為下一代主存的關(guān)鍵技術(shù)。但也存在一些障礙,其中就是ReRAM的讀延遲與DRAM相當(dāng),但是寫延遲要就比DRAM久(5倍以上),目前也有一些優(yōu)化措施提升ReRAM的寫性能,讓ReRAM與DRAM的差距在10%以內(nèi)。除了ReRAM,還有其他的非易失性存儲(chǔ)器被研究者所關(guān)注,他們包括自旋轉(zhuǎn)移力矩磁性隨機(jī)訪問存儲(chǔ)器(Spin-transfer Torque Magnetic RAMSTT-RAM),相變存儲(chǔ)器(Phase Change Memory)等等,這些存儲(chǔ)器都能實(shí)現(xiàn)除數(shù)據(jù)存儲(chǔ)之外的邏輯運(yùn)算能力。在這些存儲(chǔ)器中,ReRAM因?yàn)橥ㄟ^Crossbar結(jié)構(gòu)對(duì)大規(guī)模矩陣向量進(jìn)行有效計(jì)算,在神經(jīng)計(jì)算中被廣泛應(yīng)用。

        3 簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)加速器架構(gòu)

        2015年,Prezioso等人在Nature上的文章[10]指出,他們制造了一個(gè)12×12的基于ReRAM的Crossbar原型,利用該原型實(shí)現(xiàn)了神經(jīng)計(jì)算,并把3×3的黑白圖片成功分成了三類。Prezioso等人從實(shí)驗(yàn)的角度證實(shí)了ReRAM存儲(chǔ)器應(yīng)用于神經(jīng)計(jì)算的可能,這篇文章也成為了構(gòu)造更龐大、更復(fù)雜神經(jīng)網(wǎng)絡(luò)加速器的基石。

        Prezioso的ReRAM原型如圖2,該結(jié)構(gòu)集成了12×12的Crossbar,每個(gè)單元使用Al2O3/TiO2-x憶阻器(Memristor)。該原型芯片可用來實(shí)現(xiàn)圖3中的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)。圖3(b)中的單層感知機(jī)包含10個(gè)輸入,3個(gè)輸出,神經(jīng)元之間的全連接構(gòu)成了10×3=30個(gè)連接權(quán)重(Synaptic Weights)。感知機(jī)的輸出fi通過非線性的激活函數(shù)得到:

        其中Ii通過矩陣運(yùn)算得到:

        Vj(j=1,...,9)是與圖片像素相關(guān)的輸入信號(hào),V10是偏置,β用來控制激活函數(shù)非線性程度的參數(shù),Wij表示神經(jīng)元之間的連接權(quán)重。這樣一個(gè)簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)已經(jīng)可以用來執(zhí)行一些模式識(shí)別任務(wù)了,例如,將3×3的黑白圖片分成三類,圖片的每個(gè)像素成為神經(jīng)網(wǎng)絡(luò)的一個(gè)輸入。Prezioso等人使用的數(shù)據(jù)集包含N=30個(gè)圖片(如圖 3(c),這些圖片包含“z”“v”“n”三個(gè)形狀,每個(gè)形狀還包含9個(gè)被“污染”的版本(翻轉(zhuǎn)原始圖片中的一個(gè)像素),因?yàn)閿?shù)據(jù)集有限,它們不光被用來訓(xùn)練網(wǎng)絡(luò),也被用來測(cè)試網(wǎng)絡(luò)。

        在實(shí)際實(shí)現(xiàn)中,輸入信號(hào)通過電壓Vj來表示,取值為+0.1 V或者-0.1 V,代表黑像素點(diǎn)或者白像素點(diǎn)。對(duì)于偏置V10而言,通常為0.1 V。這種編碼方式使得標(biāo)準(zhǔn)數(shù)據(jù)集很均衡,即每一個(gè)類中圖片對(duì)應(yīng)的輸入信號(hào)和接近于零,這加速了訓(xùn)練的收斂。為了讓網(wǎng)絡(luò)的輸出層同樣有這種平衡性質(zhì),每個(gè)連接權(quán)重(突觸)使用了兩個(gè)憶阻器,因此Crossbar上憶阻器數(shù)量為30×2=60(如圖4(a),Prezioso等人使用了額外的器件來保證每一列上虛擬地線條件(Virtual Ground Conditions)得到滿足,減去了當(dāng)前在相鄰列使用的流式結(jié)構(gòu)來生成不同的輸出信號(hào)Ii,Prezioso等人確保Ohm定律能夠應(yīng)用于Crossbar的每一列,對(duì)于不同的權(quán)重。

        圖2 ReRAM Crossbar原型結(jié)構(gòu)圖

        (a)輸入圖片,3 3簡(jiǎn)單二值灰度圖,(b)用來分類圖片的單層感知機(jī),(c)輸入的圖片集合,(d)訓(xùn)練算法流程圖。

        其中Gij+表示憶阻器的有效電導(dǎo)率,也就是在電壓0.1 V下I/V的比率。公式(1)同樣也是通過外部元器件實(shí)現(xiàn),這里β取值為2×105A-1。

        對(duì)于每一步訓(xùn)練而言(如圖4(d)),訓(xùn)練集中中每個(gè)一樣例依次輸入 Crossbar,Crossbar 產(chǎn)生輸出為 fi(n),n為樣例的編號(hào),權(quán)重的更新量依照如下公式計(jì)算:

        其中fi(g)是第i個(gè)輸出的目標(biāo)值,在Prezioss等人的系統(tǒng)中,取值+0.85表示正確分類,取值-0.85表示錯(cuò)誤分類。一旦全部的N個(gè)樣例完成訓(xùn)練,所有的更新量Δij(n)計(jì)算完成,權(quán)重依照下面公式更新:

        其中η是一個(gè)常數(shù)。

        圖3 簡(jiǎn)單圖片分類任務(wù)

        圖4 進(jìn)行圖片分類任務(wù)時(shí)芯片的工作過程

        (a)Crossbar上使用10×6的片段實(shí)現(xiàn)的單層感知機(jī),(b)對(duì)二值圖片’z’的分類操作過程,深色像素對(duì)應(yīng)+VR,淺色像素對(duì)應(yīng)VR,這里使用的讀電壓VR=0.1V,寫電壓VW=1.3V,(c)更新權(quán)重的操作過程(這里表示的是第一列)。

        對(duì)于3×3二值灰度圖片的分類結(jié)果如圖5,通常能夠在23代收斂。圖5嵌套的圖展示了權(quán)重W初始化值和訓(xùn)練至21代時(shí)值的分布情況。

        Prezioso 等人設(shè)計(jì)的芯片,在Crossbar上能夠直接完成公式2、公式3,通過額外的元器件,完成公式1、公式4、公式5的起算,實(shí)現(xiàn)了基本的神經(jīng)網(wǎng)絡(luò)計(jì)算,并完成簡(jiǎn)單的二值灰度圖片分類任務(wù)。不可否定的是,該研究啟發(fā)了學(xué)界基于ReRAM的神經(jīng)網(wǎng)絡(luò)加速器的研究。但是在大數(shù)據(jù)和規(guī)模極大的神經(jīng)網(wǎng)絡(luò)模型下,Prezioso等人的芯片在通用性、計(jì)算性能、功耗等方面都有待提升。下面我們將介紹性能和通用性更好的神經(jīng)網(wǎng)絡(luò)加速器架構(gòu)PRIME。

        圖5 迭代次數(shù)與錯(cuò)分?jǐn)?shù)折線圖

        4 PRIME:適用范圍更廣的神經(jīng)網(wǎng)絡(luò)加速器架構(gòu)

        章節(jié)3實(shí)現(xiàn)的芯片原型結(jié)構(gòu)簡(jiǎn)單,僅僅能夠處理30個(gè)連接權(quán)重,對(duì)于處理大數(shù)據(jù)是不足夠的。本章節(jié)介紹的基于ReRAM主存技術(shù)的神經(jīng)網(wǎng)絡(luò)加速器架構(gòu)PRIME[11]是遲萍等人發(fā)表在ISCA2016上的最新成果。PRIME基于 PIM思 想(Processing In Memory),使用的Crossbar陣列不光能夠被用來加速神經(jīng)網(wǎng)絡(luò)計(jì)算,還能夠當(dāng)成普通存儲(chǔ)器使用。遲萍等人不光設(shè)計(jì)了微架構(gòu)(Microarchitecture),還提供了軟硬件接口,這使得開發(fā)者能夠基于PRIME實(shí)現(xiàn)不同種類的神經(jīng)網(wǎng)絡(luò)。PRIME的實(shí)驗(yàn)效果非常好,相比前人的神經(jīng)網(wǎng)絡(luò)加速器,在遲萍等人的實(shí)驗(yàn)環(huán)境下,PRIME的性能提升了2360倍,功耗降低了895倍。PRIME的特點(diǎn)如下:

        (1)存儲(chǔ)架構(gòu)既能用來加速神經(jīng)網(wǎng)絡(luò)計(jì)算,又能作為普通存儲(chǔ)器。

        (2)通過精心設(shè)計(jì)的電路和微架構(gòu),使得能在內(nèi)存中進(jìn)行神經(jīng)網(wǎng)絡(luò)計(jì)算,同時(shí)占用面積很小。

        (3)PRIME采用了一種輸入和突觸組合方法來克服精度問題。

        (4)PRIME提供了一組軟硬件接口,使得開發(fā)者能夠?qū)崿F(xiàn)不同的神經(jīng)網(wǎng)絡(luò),同時(shí)PRIME在編譯期間優(yōu)化神經(jīng)網(wǎng)絡(luò)映射時(shí)間,能夠?qū)崿F(xiàn)與其他計(jì)算單元之間的并行運(yùn)算。

        PRIME的設(shè)計(jì)概觀如圖6(c),與其他神經(jīng)網(wǎng)絡(luò)加速器不同(圖6(a),圖6(b),PRIME不需要額外的處理單元(Processing Units,PU),PRIME直接使用ReRAM單元來進(jìn)行計(jì)算,為了完成這個(gè)目標(biāo),PRIME包含三部分,它們分別是內(nèi)存子陣列,全函數(shù)子陣列,緩存子陣列。內(nèi)存子陣列僅僅只有數(shù)據(jù)存儲(chǔ)的能力(同傳統(tǒng)內(nèi)存子陣列相同),它們的微架構(gòu)和電路設(shè)計(jì)同當(dāng)前的ReRAM主存相似。全函數(shù)子陣列有兩種操作模式,在主存模式下,全函數(shù)子陣列功能和傳統(tǒng)主存相同,在計(jì)算模式下,全函數(shù)子陣列可以用來做神經(jīng)網(wǎng)絡(luò)計(jì)算,需要使用一個(gè)PRIME控制器來控制模式的切換。緩存子整列用來為全函數(shù)子陣列提供數(shù)據(jù)緩存,實(shí)際設(shè)計(jì)時(shí),靠近全函數(shù)子陣列的主存子陣列被用來作為緩存子陣列。所有的緩存子陣列都有獨(dú)立的數(shù)據(jù)接口,因此緩存訪問不會(huì)占用主存訪問的帶寬。當(dāng)不需要使用緩存時(shí),緩存子陣列也可以用來作為普通的主存。使用全函數(shù)子陣列進(jìn)行神經(jīng)網(wǎng)絡(luò)計(jì)算能夠享受數(shù)據(jù)遷移的超高帶寬,使用緩存子陣列也使神經(jīng)網(wǎng)絡(luò)計(jì)算可以與CPU并行。

        PRIME架構(gòu)如圖7所示,有關(guān)要點(diǎn)如下:

        第一,全函數(shù)子陣列的設(shè)計(jì)。解碼器和驅(qū)動(dòng)。PRIME改進(jìn)了一些元件,如圖7(A),這些元件解決了計(jì)算模型和內(nèi)存之間的差異。

        圖6(a) 傳統(tǒng)的處理器-協(xié)處理器架構(gòu) 圖6(b) 使用3D集成技術(shù)的PIM方法圖6(c) PRIME設(shè)計(jì)概觀

        列多路器。圖7(B)中的列多路起包含了模擬減法單元和sigmoid單元,這支撐了基本的神經(jīng)網(wǎng)絡(luò)計(jì)算。

        讀出放大器。如圖7(C),讀出放大器使得低精度的ReRAM單元支持高精度的神經(jīng)網(wǎng)絡(luò)計(jì)算。同時(shí)也提供了卷積神經(jīng)網(wǎng)絡(luò)操作相關(guān)的器件。

        緩存連接。如圖7(D),它建立在全函數(shù)子陣列和緩存子陣列之間,使得全函數(shù)子陣列能夠訪問緩存子陣列上的任意位置。

        第二,緩存子陣列的設(shè)計(jì)。緩存子陣列被設(shè)計(jì)用來緩存全函數(shù)子陣列的輸入輸出數(shù)據(jù)。全函數(shù)子陣列不需要CPU的參與就可以直接訪問緩存子陣列,使得它可以與CPU并行執(zhí)行。

        第三,PRIME 控制器。如圖7(E),PRIME控制器解碼指令,將控制信號(hào)傳給全函數(shù)子陣列。PRIME控制器使得全函數(shù)子陣列可以在內(nèi)存模式和計(jì)算模式之間轉(zhuǎn)換。

        第四,克服精度挑戰(zhàn)。精度挑戰(zhàn)包含幾個(gè)方面:輸入精度、權(quán)重精度、輸出精度。在PRIME設(shè)計(jì)上,采用了不同的假定,分別是輸入電壓3-bit精度(8個(gè)層級(jí)的電壓),4-bit精度的權(quán)重,6-bit精度的輸出。需要指出的是,PRIME使用了2個(gè)3-bit來實(shí)現(xiàn)6-bit的輸入信號(hào),使用兩個(gè)4-bit來實(shí)現(xiàn)8-bit的權(quán)重。

        第五,實(shí)現(xiàn)的神經(jīng)網(wǎng)絡(luò)算法。PRIME實(shí)現(xiàn)了感知機(jī)層、卷積層、池化層、本地應(yīng)答規(guī)則化層等等。

        (A)針對(duì)不同電壓源的字線(Wordline)驅(qū)動(dòng),(B)模擬減法和sigmoid電路的列多路器,(C)可重構(gòu)的讀出放大器,支持多層輸出,加入了ReLU和4-1最大池化函數(shù)單元,用于卷積神經(jīng)網(wǎng)絡(luò),(D)全函數(shù)子陣列和緩存子陣列之間的連接,(E)PRIME控制器

        PRIME基于ReRAM,提升了神經(jīng)網(wǎng)絡(luò)計(jì)算的計(jì)算性能,降低了功耗,適用于MLP、CNN等網(wǎng)絡(luò)結(jié)構(gòu),在MNIST數(shù)據(jù)集上取得了很好的實(shí)驗(yàn)效果,是一個(gè)值得關(guān)注的神經(jīng)網(wǎng)絡(luò)加速器架構(gòu)。

        5 NEUTRAMS:神經(jīng)網(wǎng)絡(luò)軟硬件協(xié)同設(shè)計(jì)工具集

        章節(jié)3介紹了一個(gè)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)計(jì)算的最簡(jiǎn)化的微架構(gòu),章節(jié)4進(jìn)一步深化了架構(gòu)的設(shè)計(jì),使其能夠支持大規(guī)模較復(fù)雜的神經(jīng)網(wǎng)絡(luò)。但是這兩種方法都是基于特定的硬件,支持特定的神經(jīng)網(wǎng)絡(luò),抽象化程度較低,YuJi等人在前人研究的基礎(chǔ)上,提出了NEUTRAMS工具集[12],該工具集借鑒了計(jì)算機(jī)系統(tǒng)層層抽象的思想,提出了神經(jīng)網(wǎng)絡(luò)系統(tǒng)的分層結(jié)構(gòu),使得基于該工具集進(jìn)行神經(jīng)計(jì)算不依賴特定的硬件結(jié)構(gòu)。NUTRAMS工具集的分層思想?yún)⒖剂擞?jì)算機(jī)系統(tǒng)的分層思想(如圖8(a)),NUTRAMS的結(jié)構(gòu)(如圖8)分為:表示層、轉(zhuǎn)換層、映射層、仿真層。

        圖8 與傳統(tǒng)計(jì)算機(jī)系統(tǒng)架構(gòu)類比

        圖7 PRIME架構(gòu)

        下面給出了NUTRAMS各層簡(jiǎn)介:

        表示層,參照大部分神經(jīng)網(wǎng)絡(luò)模型給用戶提供的接口,表示層大都提供了兩種操作,分別為集群(Population,大規(guī)模神經(jīng)元的集合,其實(shí)也就是神經(jīng)網(wǎng)絡(luò)所謂層的概念,如隱藏層,顯示層)和映射(Projection,集群之間的連接,也就所謂的層與層之間的權(quán)重)。一個(gè)使用集群和映射操作的例子是:

        創(chuàng)建一個(gè)神經(jīng)網(wǎng)絡(luò)需要兩類信息:(1)節(jié)點(diǎn)信息,及神經(jīng)元、突觸種類;(2)邊信息,即權(quán)重、延遲、其他用來描述映射的屬性。這也就是表示層所有表示的信息,這類可以用于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)如多層感知器,也可以用卷積神經(jīng)網(wǎng)絡(luò)。

        轉(zhuǎn)換層,轉(zhuǎn)換層是NUTRAMS的核心,就是在該層次突破了硬件的約束。YuJi等人使用的核心思想是分治算法,將復(fù)雜的神經(jīng)網(wǎng)絡(luò)連接劃分成更小的連接,讓其滿足硬件約束。圖9是一個(gè)數(shù)據(jù)流示意圖,圖9(A)是原始神經(jīng)網(wǎng)結(jié)構(gòu),圖9(B)圖9(C)描述了兩種減少權(quán)重的方法,一種是將前置集群拷貝,和后置集群分別連接,一種是將前置集群合并,與后置集群連接,圖9(D)是原始神經(jīng)網(wǎng)絡(luò)的劃分圖,大規(guī)模的連接被劃分成了小規(guī)模的連接,使直至該網(wǎng)絡(luò)適合于特定的硬件架構(gòu)。關(guān)于如何進(jìn)行劃分和怎么保證劃分之后神經(jīng)網(wǎng)絡(luò)的計(jì)算精度,可以參考YuJi等人的論文。

        映射層,映射層是用來將神經(jīng)元分配到計(jì)算核心,構(gòu)建連接關(guān)系,填寫路由表。最優(yōu)映射不光能夠充分有效地利用芯片資源,也能夠保證正確性。YuJi等人提出的映射方法傾向于將密切聯(lián)系的神經(jīng)元放在一起。根據(jù)之前的描述,經(jīng)過轉(zhuǎn)換層的轉(zhuǎn)換,結(jié)果為相互連接的集群,每一個(gè)連接子矩陣(經(jīng)過分治算法的劃分得到的)滿足硬件約束。然后所有的神經(jīng)元被分配到虛擬核心上,再構(gòu)建虛擬核心到物理核心的映射。YuJi等人使用了KL(Kernighan-Lin)劃分策略,該策略將映射抽象成圖的劃分問題,嘗試在劃分邊界上最小化聯(lián)系。該方法首先隨機(jī)生成一個(gè)映射格局,然后二分節(jié)點(diǎn),聯(lián)系緊密的模塊保持在同一個(gè)劃分中。這個(gè)過程將一直持續(xù),直到臨近的兩個(gè)節(jié)點(diǎn)被放到任意的最終劃分結(jié)果中。通過這種方法實(shí)現(xiàn)了聯(lián)系的最小化,并構(gòu)建了一個(gè)映射。

        仿真層,仿真層是對(duì)硬件芯片的抽象,NUTRAMS將芯片劃分成三類邏輯模塊:計(jì)算核心、主存、片內(nèi)網(wǎng)絡(luò)(Network on Chip,NoC)。對(duì)于計(jì)算核心的仿真步驟為:(1)得到當(dāng)前輸入脈沖(Input Spike)和突觸權(quán)重,(2)計(jì)算并更新神經(jīng)元狀態(tài),(3)發(fā)射新脈沖。如果當(dāng)前有很多輸入,重復(fù)步驟(1)和步驟(2)。對(duì)于主存的仿真方法很直觀,只需保存神經(jīng)網(wǎng)絡(luò)模型的突觸權(quán)重即可。對(duì)于片內(nèi)網(wǎng)絡(luò)的仿真方法也是很直接的:源神經(jīng)元發(fā)出的脈沖產(chǎn)生一個(gè)從源計(jì)算核心到目的計(jì)算核心的NoC數(shù)據(jù)包(X-Y路由策略)。

        NEUTRAMS提供了更高層次的抽象,使得神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)不在受硬件約束,相同的神經(jīng)網(wǎng)絡(luò)易于移植到不同的硬件芯片上。YuJi等人設(shè)計(jì)了將NUTRAMS工具集應(yīng)用在PRIME架構(gòu)上的實(shí)驗(yàn),取得了很好的效果

        6 總結(jié)

        本文首先介紹了深度學(xué)習(xí)、ISCA、MICRO的有關(guān)內(nèi)容和背景,重點(diǎn)關(guān)注基于ReRAM的神經(jīng)網(wǎng)絡(luò)加速器,然后介紹了ReRAM的原理和結(jié)構(gòu),介紹了基于ReRAM設(shè)計(jì)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)架構(gòu),該架構(gòu)僅僅支持30個(gè)連接權(quán)重,支持神經(jīng)網(wǎng)絡(luò)十分有限。PRIME架構(gòu)極大的擴(kuò)展了對(duì)神經(jīng)網(wǎng)絡(luò)計(jì)算的支持,針對(duì)不同網(wǎng)絡(luò)(多層感知器,卷積神經(jīng)網(wǎng)絡(luò))和較大規(guī)模數(shù)據(jù)集(MNIST)都取得了較好的實(shí)驗(yàn)效果。PRIME雖然對(duì)神經(jīng)網(wǎng)絡(luò)加速效果較好,但是其提供的軟硬件接口仍然只針對(duì)PRIME架構(gòu)本身,缺乏擴(kuò)展性。

        圖9 數(shù)據(jù)流示意圖

        NEUTRAMS工具集是為了消除硬件約束提出來,該工具集通過仿真層對(duì)硬件的抽象,使得在表示層設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)不需要修改即可實(shí)現(xiàn)在不同硬件架構(gòu)上移植。

        猜你喜歡
        存儲(chǔ)器加速器架構(gòu)
        輪滑加速器
        化學(xué)工業(yè)的“加速器”
        基于FPGA的RNN硬件加速架構(gòu)
        全民小康路上的“加速器”
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實(shí)踐
        汽車工程(2021年12期)2021-03-08 02:34:30
        LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
        等待“加速器”
        一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
        存儲(chǔ)器——安格爾(墨西哥)▲
        蜜臀久久久精品国产亚洲av| 久久婷婷国产剧情内射白浆| 伊人网综合| 日韩精品免费一区二区中文字幕| 国产精品福利高清在线| 少妇被粗大的猛烈进出免费视频 | 中文乱码字幕精品高清国产| 挺进朋友人妻雪白的身体韩国电影 | 中出人妻希奇杰卡西av| 曰本大码熟中文字幕| 日日摸夜夜欧美一区二区| 亚洲处破女av一区二区| 亚洲av日韩av卡二| 国产精品无码久久久久久久久久| 免费毛片性天堂| 丰满熟女人妻一区二区三区| 浓毛老太交欧美老妇热爱乱| 亚洲精品成人区在线观看| 亚洲高清有码在线观看| 亚洲av成熟国产精品一区二区| 在线观看免费无码专区| 精品综合久久久久久97超人| 日韩肥熟妇无码一区二区三区| 人妖在线一区二区三区| 久久久精品一区aaa片| 久久成年片色大黄全免费网站| 一区二区三区在线观看视频免费| 国产精品黄色片在线看| 影音先锋每日av色资源站| 亚洲欧美另类日本久久影院| 一级老熟女免费黄色片| 欧美一性一乱一交一视频| 日本欧美在线播放| 青青草好吊色在线视频| 国产丝袜美女| 亚洲人成网站在线观看播放| 亚洲成av人片在线天堂无| 99久久精品费精品国产一区二| 51久久国产露脸精品国产| 高潮喷水无遮挡毛片视频| 人妻少妇精品视频一区二区三|