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

        ?

        實現(xiàn)軟硬件解耦合的類腦計算硬件設計方法

        2021-06-17 14:01:10陳嘉杰張悠慧鄭緯民
        計算機研究與發(fā)展 2021年6期
        關鍵詞:類腦層次結(jié)構(gòu)圖靈

        渠 鵬 陳嘉杰 張悠慧 鄭緯民

        1(清華大學計算機科學與技術(shù)系,北京信息科學與技術(shù)國家研究中心 北京 100084)

        2(數(shù)學工程與先進計算國家重點實驗室 江蘇無錫 214125)

        (shen_yhx@163.com)

        類腦計算通常用來指借鑒人腦信息處理模式和/或生物生理結(jié)構(gòu)的計算理論、體系結(jié)構(gòu)、硬件設計乃至模型和算法設計的總稱.目前,基于類腦計算的數(shù)值模擬方法已經(jīng)成為了繼實驗研究和理論研究之后,神經(jīng)科學最重要的研究方法之一[1].在人工智能領域,類腦計算也被認為是實現(xiàn)下一代人工智能的重要技術(shù)路徑之一[2-8].受腦啟發(fā)的體系結(jié)構(gòu)設計則是后摩爾定律時代的計算機體系結(jié)構(gòu)主要發(fā)展方向之一[9].

        類腦計算也被稱為神經(jīng)形態(tài)計算[6,10],其目前采用的主要計算模型是脈沖神經(jīng)網(wǎng)絡(spiking neural network,SNN)[11].脈沖神經(jīng)網(wǎng)絡在傳統(tǒng)神經(jīng)網(wǎng)絡(深度神經(jīng)網(wǎng)絡等)的基礎上,引入了更高的生物真實性,具有實現(xiàn)更高計算能力和能效的潛力.這一特性吸引了眾多軟硬件相關的研究興趣[6,12-18],而充分利用脈沖神經(jīng)網(wǎng)絡特性的神經(jīng)形態(tài)芯片也逐漸成為類腦計算相關研究領域的重點之一[6,12-14].

        神經(jīng)形態(tài)芯片的設計方案根據(jù)設計目的、著眼角度的不同而差別較大,目前尚沒有統(tǒng)一、公認的設計方案.但當前的芯片設計方案,往往都采用了端到端的軟硬件協(xié)同設計方案[6,12-14],采用這樣的設計方案的芯片往往具有定制化的工具鏈、開發(fā)軟件乃至應用模型[10,19-21],這就導致了類腦計算系統(tǒng)領域所面臨的一個重要問題——軟硬件緊耦合.

        部分工作[22-23]嘗試通過構(gòu)建連接軟硬件的領域?qū)S谜Z言或者開發(fā)框架來解決這一問題.但是,這些工作沒有觸及軟硬件緊耦合設計的核心問題——缺乏相應的完備性概念來明確軟硬件系統(tǒng)計算能力的邊界,以及它們是否相互兼容.相關工作往往隱式地依賴圖靈完備性.由于類腦計算系統(tǒng)往往并不面向通用計算領域,因此它們是否需要是圖靈完備的,或者圖靈完備性是否是恰到好處的,仍然是一個開放性問題.

        針對這一情況,受圖靈完備性和傳統(tǒng)計算機層次結(jié)構(gòu)啟發(fā),近期工作[24]提出了更加適合類腦計算的完備性——神經(jīng)形態(tài)完備性(也稱類腦計算完備性),并在此基礎上設計了類腦計算層次結(jié)構(gòu).為實現(xiàn)類腦計算系統(tǒng)領域的軟硬件解耦合提供了理論支持,使得實現(xiàn)軟件硬件解耦合的類腦計算系統(tǒng)成為了可能.

        本文首先對神經(jīng)形態(tài)完備性和類腦計算層次結(jié)構(gòu)中的部分關鍵概念進行了討論;之后,我們描述了層次結(jié)構(gòu)中抽象神經(jīng)形態(tài)架構(gòu)的設計與實現(xiàn),并介紹了其與軟件層間的接口——執(zhí)行原語圖的設計.在此基礎上,進一步提出了基于該抽象架構(gòu)和原語圖實現(xiàn)軟硬件解耦合的類腦計算硬件的設計方法以及正在展開的相應工作.

        本文的主要貢獻為:

        1)對神經(jīng)形態(tài)完備性和類腦計算層次結(jié)構(gòu)中的部分關鍵概念進行了闡述與討論;

        2)詳細描述了抽象神經(jīng)形態(tài)架構(gòu)及其與軟件層的接口——執(zhí)行原語圖;

        3)提出了實現(xiàn)軟硬件解耦合的類腦計算硬件設計的一條有希望的技術(shù)路徑,并介紹正在進行的工作.

        1 相關工作

        1.1 神經(jīng)形態(tài)芯片

        通過借鑒神經(jīng)系統(tǒng)信息處理模式以取得高性能和低功耗的神經(jīng)形態(tài)芯片是類腦計算領域的重要研究方向之一.現(xiàn)有神經(jīng)形態(tài)芯片可以分為2個類別:1)使用定制的硬件單元來對突觸和神經(jīng)元的工作模式進行仿真;2)使用通用或定制處理器內(nèi)核以軟件形式來模擬神經(jīng)基元.兩者分別以TrueNorth[12]和SpiNNaker[25]為代表.

        TrueNorth[12]是由IBM公司設計的數(shù)字電路神經(jīng)形態(tài)芯片,單個芯片含有4 096個神經(jīng)突觸核心,核心之間通過2D-mesh結(jié)構(gòu)連接.TrueNorth采用了典型的緊耦合設計,通過使用定制化的編程范式Corelet[21]以及對應的編譯工具和框架來進行應用的開發(fā)[19].很多其他的芯片設計方案,如Neurogrid[26],BrainScaleS[27]等,都采用了類似的緊耦合設計模式,盡管后兩者部分或者全部采用了模擬電路設計.

        SpiNNaker[25]項目與上述研究不同,其采用了片上多處理器(CMP)設計,基于ARM核心主要以軟件方式模擬神經(jīng)基元的工作方式,并通過定制化的片上網(wǎng)絡(NoC)實現(xiàn)核心間的高效脈沖信號通信.因為其采用了軟件模擬模式,可以直接支持現(xiàn)有的模型和網(wǎng)絡,但相對的,性能和效率會受到影響.

        除此之外,部分工作[28-32]嘗試使用新型神經(jīng)形態(tài)器件(如憶阻器)輔助數(shù)字電路設計,部分工作[28]甚至直接使用憶阻器模擬神經(jīng)元和突觸計算,但此類研究尚處于原理驗證階段,缺乏成熟的軟硬件設計.

        1.2 類腦計算軟硬件解耦合

        隨著神經(jīng)形態(tài)芯片的發(fā)展與應用,部分工作[23,33]開始嘗試探討設計面向更加通用的應用的類腦計算開發(fā)框架.

        Fugu[23]嘗試建立一種高層次抽象并構(gòu)建硬件獨立的軟件開發(fā)方法,以使得類腦計算系統(tǒng)的配置、部署和開發(fā)更加便利.另一項類似的工作是STICK[33],其嘗試通過建立基于支持精確時間表示、突觸多樣性和時間延遲的類腦計算單元的計算框架,以推進通用類腦計算機的構(gòu)建和探索.

        然而,上述工作往往停留在計算框架層次,并不考慮完備性或者隱式地依賴圖靈完備性.針對這一情況,文獻[24]的工作受傳統(tǒng)計算機層次結(jié)構(gòu)啟發(fā),提出了更加適合類腦計算的完備性——神經(jīng)形態(tài)完備性,并在此基礎上設計了類腦計算層次結(jié)構(gòu).為類腦計算軟硬件解耦合提供了理論基礎和參考架構(gòu)設計.但是,文獻[24]的相關實現(xiàn)以可行性驗證為主要目的,因此需要在此基礎上進一步探討適用于復雜情況下的設計方法,特別是軟硬件解耦合的類腦計算硬件設計方法.

        2 神經(jīng)形態(tài)完備性和類腦計算層次結(jié)構(gòu)

        本節(jié)主要介紹了神經(jīng)形態(tài)完備性和類腦計算層次結(jié)構(gòu)的定義,并對部分關鍵概念進行了討論.

        2.1 基本定義

        神經(jīng)形態(tài)完備性在傳統(tǒng)圖靈機依據(jù)給定算法對計算過程精確執(zhí)行的基礎上,兼容了源自神經(jīng)網(wǎng)絡這一計算形式的結(jié)果近似能力.其具體定義參見文獻[24].和圖靈完備性類似,神經(jīng)形態(tài)完備性僅適用于描述系統(tǒng)的計算能力,對系統(tǒng)的具體實現(xiàn)方法和設計思路沒有要求.而類腦計算層次結(jié)構(gòu)[24]作為軟硬件設計的參考模型,則可以作為實際軟硬件實現(xiàn)的指導.

        類腦計算層次結(jié)構(gòu)包含3個層次:1)軟件層.統(tǒng)一軟件描述與執(zhí)行模型——編程原語圖(programming operator graph,POG),基于圖靈完備性實現(xiàn)對不同編程語言和計算框架的兼容性.2)硬件層.通過抽象神經(jīng)形態(tài)架構(gòu)(abstract neuromorphic architecture,ANA)及其和上層的接口——執(zhí)行原語圖(execution primitive graph,EPG),實現(xiàn)對硬件架構(gòu)設計的抽象以及面向硬件的計算描述.3)編譯層.作為兩者的中間層,實現(xiàn)將軟件程序轉(zhuǎn)換為硬件支持的神經(jīng)形態(tài)等價的描述.類腦計算層次結(jié)構(gòu)通過圖靈完備性和神經(jīng)形態(tài)完備性,保證了通用編程語言編寫的任何程序都可以轉(zhuǎn)換為任意類腦硬件上的“類腦等價”的執(zhí)行模型,這也意味著由軟件層、編譯層、硬件層組成的類腦計算層次結(jié)構(gòu)能夠確保應用軟件、操作原語集合、硬件設計在獨立發(fā)展的同時相互兼容,從而實現(xiàn)軟硬件去耦合.

        2.2 一些關鍵問題的討論

        完備性本質(zhì)上是對系統(tǒng)計算能力的描述,因此其往往是脫離于系統(tǒng)的具體實現(xiàn)形式的.正如圖靈完備性能夠應用于所有的通用計算領域而非僅僅是圖靈機模型一樣,神經(jīng)形態(tài)完備性同樣可以應用于所有存在結(jié)果近似能力的計算系統(tǒng)①近似計算是實現(xiàn)類腦計算完備系統(tǒng)的一種方式,但類腦計算完備的系統(tǒng)不僅限于以近似計算的方式實現(xiàn)..此外,神經(jīng)形態(tài)完備性可以視為對硬件完備性要求的一種放松,其與圖靈完備性并不對立:簡單來說,在目前的定義下,圖靈完備的系統(tǒng)一定是神經(jīng)形態(tài)完備的.

        神經(jīng)形態(tài)完備性的核心是在圖靈完備性的基礎上,進一步兼容了對計算結(jié)果的近似能力,從而放松了對計算過程和計算精度的要求,即放松了對硬件完備性的要求.這樣,一方面神經(jīng)形態(tài)完備性兼容了源自類腦計算領域典型計算范式——神經(jīng)網(wǎng)絡的結(jié)果近似能力,另一方面也能作為類腦計算軟硬件解耦合的完備性基礎.

        需要注意的是,神經(jīng)形態(tài)完備性引入的近似概念是抽象的近似能力,而不是單純的數(shù)值近似方法.其可以有多種不同具體實現(xiàn)形式:1)直接通過神經(jīng)網(wǎng)絡或者查找表等直接近似最終計算結(jié)果;2)通過對一些具體的計算過程中的步驟進行重組或者近似,實現(xiàn)結(jié)果近似和過程模擬的結(jié)合;3)數(shù)值算法中常用的數(shù)值近似;4)1)~3)所述常見方法之外的其他近似方法以及1)~3)中一種或者多種方法的結(jié)合.

        神經(jīng)形態(tài)完備性僅適用于描述計算系統(tǒng)的計算能力,如果一個計算系統(tǒng)是神經(jīng)形態(tài)完備的,則其可以執(zhí)行所有的神經(jīng)形態(tài)應用.但是,神經(jīng)形態(tài)完備性不用于衡量系統(tǒng)的具體實現(xiàn),即一個神經(jīng)形態(tài)的系統(tǒng)并不一定必須是神經(jīng)形態(tài)完備的.當然,類腦計算領域是一個不斷發(fā)展的交叉領域,類腦計算系統(tǒng)的實現(xiàn)方法也是不斷變化的,因此,在類腦計算層次結(jié)構(gòu)設計中,我們對實現(xiàn)細節(jié)并沒有具體的要求.由于不論是圖靈完備性或者神經(jīng)形態(tài)完備性,均不限制系統(tǒng)的具體實現(xiàn),因此,隨著類腦計算的發(fā)展,相關的研究人員可以添加更多神經(jīng)形態(tài)的特征到類腦計算層次結(jié)構(gòu)設計中,從而指導和影響類腦計算相關軟硬件的實現(xiàn)細節(jié).

        3 抽象神經(jīng)形態(tài)架構(gòu)和執(zhí)行原語圖

        本節(jié)介紹了抽象神經(jīng)形態(tài)架構(gòu)的設計以及其對軟件的接口——執(zhí)行原語圖.

        3.1 抽象神經(jīng)形態(tài)架構(gòu)

        如圖1所示,抽象神經(jīng)形態(tài)架構(gòu)包含4個部分:用于計算原語執(zhí)行的處理單元、用于控制流和調(diào)度的調(diào)度單元、用于儲存參數(shù)和中間數(shù)據(jù)的存儲單元,以及連接上述單元的連接網(wǎng)絡.

        Fig.1 Abstract neuromorphic architecture圖1 抽象神經(jīng)形態(tài)架構(gòu)

        抽象神經(jīng)形態(tài)架構(gòu)是對具體硬件設計的抽象,具體到硬件設計階段,抽象神經(jīng)形態(tài)架構(gòu)可以對應多種不同的硬件實現(xiàn).

        處理單元用于執(zhí)行具體的計算(表示為執(zhí)行原語),多個處理單元之間可以完全并行地執(zhí)行計算任務,其具體實現(xiàn)方法沒有限制(同步/異步、數(shù)字電路/模擬電路、是否事件驅(qū)動等).考慮到存算一體是類腦計算的主要優(yōu)勢之一,在抽象神經(jīng)形態(tài)架構(gòu)中,處理單元具有自己私有的存儲單元,該存儲單元僅該處理單元可以訪問.即抽象神經(jīng)形態(tài)架構(gòu)傾向于采用存算一體的計算模式.另一方面,非存算一體硬件實現(xiàn)可以通過控制對存儲的訪問來模擬存算一體硬件實現(xiàn)(比如將數(shù)據(jù)訪問限制于私有的存儲單元),從而使抽象神經(jīng)形態(tài)架構(gòu)獲得更好的兼容性.

        調(diào)度單元則是一個可以通過多種方式實現(xiàn)的邏輯概念.例如,調(diào)度單元可以是負責給所有處理單元發(fā)送任務的中央調(diào)度器;也可以是負責一個或者數(shù)個處理單元的分布式調(diào)度器,每個調(diào)度器僅處理整體計算任務中的一部分.簡單情況下,調(diào)度策略可以通過靜態(tài)任務分配實現(xiàn).

        連接網(wǎng)絡是對處理單元、控制單元和存儲單元之間通信連接的抽象,其具體實現(xiàn)方式可以是總線、片上網(wǎng)絡、芯片間連接等.

        3.2 執(zhí)行原語圖

        如圖2所示,執(zhí)行原語圖是針對硬件設計的計算描述方法,執(zhí)行原語圖在體現(xiàn)硬件實現(xiàn)的基礎上保留了一定的抽象性,其可以視作硬件實現(xiàn)與軟件描述之間的接口或中間表示.在本節(jié)我們將具體描述執(zhí)行原語圖的設計.

        執(zhí)行原語圖的基本描述單元是執(zhí)行原語,執(zhí)行原語是與硬件計算對應的基本計算原語,類似于傳統(tǒng)計算機中的指令.執(zhí)行原語圖進一步通過雙層的圖結(jié)構(gòu)來表示執(zhí)行原語之間的關系.

        執(zhí)行原語圖的2層結(jié)構(gòu)分別為控制流圖和數(shù)據(jù)流圖,二者均為有向圖.控制流圖中的每個節(jié)點都是一張數(shù)據(jù)流圖,稱之為計算塊,而節(jié)點間的邊則表示計算塊之間的控制流轉(zhuǎn)換(跳轉(zhuǎn)等).每個計算塊執(zhí)行完后,會根據(jù)控制流選擇執(zhí)行后續(xù)的計算塊.

        數(shù)據(jù)流圖中每個節(jié)點都是一個執(zhí)行原語,每個計算原語可以有多個輸入、輸出、參數(shù)數(shù)據(jù),數(shù)據(jù)流圖中的邊表示執(zhí)行原語之間的數(shù)據(jù)傳輸,源節(jié)點的輸出會作為目的節(jié)點的輸入.執(zhí)行原語之間的數(shù)據(jù)傳輸采用廣播模式,即節(jié)點的所有后續(xù)節(jié)點都會接收到該節(jié)點的輸出.

        通常情況下,在執(zhí)行原語圖中,程序中的主要控制流與執(zhí)行順序由控制流圖決定,即一般情況下只有一個計算塊可以執(zhí)行.在執(zhí)行的計算塊中,取得了所有輸入數(shù)據(jù)的計算原語進入可執(zhí)行的狀態(tài).如果有多個可執(zhí)行的計算原語,則其可以被并行地執(zhí)行.如果計算塊內(nèi)的所有執(zhí)行原語均執(zhí)行結(jié)束,則該計算塊執(zhí)行結(jié)束,控制流轉(zhuǎn)交給后續(xù)執(zhí)行塊.

        具體執(zhí)行過程如圖3所示,調(diào)度單元依據(jù)可執(zhí)行的計算塊和塊內(nèi)可執(zhí)行的計算原語的實際情況,將計算原語調(diào)度到對應的執(zhí)行單元進行執(zhí)行,計算原語間的數(shù)據(jù)傳輸則通過連接單元傳輸.

        Fig.2 A sample of the execution primitive graph for LIF model圖2 LIF模型的執(zhí)行原語圖示例

        Fig.3 The execution of EPG圖3 執(zhí)行原語圖的具體執(zhí)行過程

        4 實現(xiàn)軟硬件解耦合的類腦計算硬件設計

        本節(jié)提出了在神經(jīng)形態(tài)完備性的支撐下,基于執(zhí)行原語集合和抽象神經(jīng)形態(tài)架構(gòu)實現(xiàn)軟硬件解耦合的類腦計算硬件設計方法.

        4.1 軟硬件解耦合設計

        在類腦計算層次結(jié)構(gòu)設計中,統(tǒng)一軟件描述與執(zhí)行模型編程原語圖是圖靈完備的.因此圖靈可計算的類腦計算應用和其他的通用計算應用可以直接轉(zhuǎn)換為基于編程原語圖的表示.

        使用執(zhí)行原語圖作為計算描述接口,抽象神經(jīng)形態(tài)架構(gòu)可以通過神經(jīng)形態(tài)完備的原語集合實現(xiàn)神經(jīng)形態(tài)完備性.并在神經(jīng)形態(tài)完備性的支持下,將基于編程原語圖的表示轉(zhuǎn)換為神經(jīng)形態(tài)完備性“等價”的執(zhí)行原語描述.

        類腦計算層次結(jié)構(gòu)設計使得各個領域的研究人員可以專注于自己的專業(yè)領域.例如,神經(jīng)科學領域的人員可以專注于模型設計,硬件開發(fā)人員可以專注于設計高效的硬件,軟硬件之間的接口和轉(zhuǎn)換則由體系結(jié)構(gòu)和編譯器領域的研究人員負責,從而實現(xiàn)軟硬件的解耦合,推動整個領域的協(xié)同發(fā)展.

        因此,通過設計合適的執(zhí)行原語集合,即可實現(xiàn)軟硬件設計的解耦合.文獻[24]提出了基礎執(zhí)行原語集——由加權(quán)求和與Re LU(rectified linear unit)兩個基礎執(zhí)行原語組成,并證明了其神經(jīng)形態(tài)完備性.但是,該設計主要用于證明類腦計算層次結(jié)構(gòu)的理論可行性與完備性,而實際硬件設計要考慮更多的問題(如實現(xiàn)代價、運行效率等),因此需要進一步探索軟硬解耦合的類腦計算硬件設計.

        4.2 執(zhí)行原語集合設計

        執(zhí)行原語集合是對硬件計算單元的抽象,其設計會在很大程度上影響后續(xù)的硬件設計與實現(xiàn)工作.因此,在設計早期對不同執(zhí)行原語集合進行評估與比較,可以為后續(xù)設計與優(yōu)化提供方向與指導.所以,在設計早期對不同執(zhí)行原語集合進行評估,具有重要的意義.

        由于類腦計算是一個不斷變化發(fā)展的交叉領域,新的計算模型和算法不斷被提出,很難像已經(jīng)成熟的傳統(tǒng)領域一樣抽象出非常具有代表性的標桿應用.因此,無法直接應用傳統(tǒng)計算機領域中基于基準程序(benchmark)的共同設計(codesign)方法.此外,在設計早期,對應的硬件實現(xiàn)往往并不存在,這意味著無法直接基于程序的執(zhí)行時間/效能進行執(zhí)行原語集合評估.

        針對這一情況,我們認為,可以通過分析類腦計算領域的典型計算范式(如SNN)和具有代表性的類腦計算系統(tǒng)設計,建立類腦計算執(zhí)行原語集合——盡管類腦計算領域中的模型和應用仍在不斷發(fā)展和變化之中,可能尚不足以提出被廣為接受的基準程序,但不同的設計模型之間仍然存在一些典型的計算范式,以廣泛使用的脈沖神經(jīng)網(wǎng)絡為例,其通常具備存算融合、事件驅(qū)動、稀疏性等特點.因此,可以構(gòu)建基礎的類腦計算執(zhí)行原語集合——由基本數(shù)值計算算子、控制流(control flow)算子、學習/訓練相關算子等構(gòu)成,而且具體算子設計要考慮3方面因素:1)執(zhí)行原語集合需要滿足神經(jīng)形態(tài)完備性;2)體現(xiàn)存算融合、事件驅(qū)動(例如,設計針對性的執(zhí)行原語、利用執(zhí)行原語圖中的數(shù)據(jù)流圖描述等)等特征;3)因為這一領域發(fā)展很快,算子需要具有可擴展、可組合特性.

        通過調(diào)整不同類型原語的占比、原語的具體設計,并評估典型計算范式在上述原語集合中的計算復雜度,即可在設計早期對執(zhí)行原語集合進行評估.需要注意的是,由于神經(jīng)形態(tài)完備性引入的近似能力,諸如步驟調(diào)整、數(shù)值近似等近似能力的影響也需要納入考慮,融合空間網(wǎng)絡(FSN)[24]是處理此類情況的一個初步嘗試.

        4.3 硬件實現(xiàn)方法設計

        執(zhí)行原語集合是對硬件計算單元的抽象,在完成計算原語集合設計之后,具體的硬件實現(xiàn)也具有復雜的設計空間,因此,需要進一步進行硬件設計評估.

        在具體硬件實現(xiàn)過程中,需要綜合考慮不同的設計實現(xiàn),如控制流/數(shù)據(jù)流設計、是否事件驅(qū)動、是否存算一體等.此外,由于神經(jīng)形態(tài)完備性引入的結(jié)果近似能力,在硬件設計的過程中,需要額外考慮如何利用類腦計算層次結(jié)構(gòu)引入新的優(yōu)化維度——近似粒度.盡管相關的轉(zhuǎn)換、重組等工作可以在編譯階段通過類似FSN等技術(shù)完成,但在硬件設計的過程中,也需要考慮諸如執(zhí)行單元的數(shù)目調(diào)整、硬件計算精度等設計選擇.

        這樣,在完成執(zhí)行原語集合設計后,需要進一步測試不同設計實現(xiàn)對最終硬件設計的影響,可以利用FPGA的可重構(gòu)特性,設計實現(xiàn)可擴展的、可靈活配置的仿真原型,對不同的硬件設計選項進行測試與評估.

        由于執(zhí)行原語集合是神經(jīng)形態(tài)完備的,無需再考慮應用的具體模型和算法,只需要通過執(zhí)行原語集合設計和硬件設計使得抽象計算范式集合在仿真原型上的效能最大化即可.

        5 硬件實現(xiàn)方法評估

        軟硬件解耦合的類腦計算硬件設計方法的具體流程如圖4所示.首先,設計執(zhí)行原語集合,并基于設計空間評估結(jié)果進行迭代,直至獲得適合應用需求的、滿足神經(jīng)形態(tài)完備性的執(zhí)行原語集合.其次,針對執(zhí)行原語集合,測試不同的硬件設計選項,并基于硬件評估平臺的結(jié)果進行迭代修改,直至獲得最優(yōu)硬件設計選項.在這一方法流程中,執(zhí)行原語集合設計可以基于軟件或者模擬器評估結(jié)果進行,其關鍵在于設計高效可配置的硬件評估平臺.本節(jié)以正在進行的基于Meta ANA架構(gòu)的硬件評估平臺工作為例,展示如何利用FPGA的可重構(gòu)特性,評估不同硬件設計方法以及原語實現(xiàn)的性能數(shù)據(jù)和資源開銷.

        Fig.4 The workflow of software-hardware decoupled hardware design method for brain-inspired computing圖4 軟硬件解耦合的類腦計算硬件設計流程

        5.1 基于FPGA的評估平臺

        我們基于Xilinx VCU128實現(xiàn)了Meta ANA架構(gòu)作為硬件評估平臺.Meta ANA架構(gòu)如圖5所示,由3個部分構(gòu)成:1)原語單元,用于完成計算任務,內(nèi)部有自己的存儲;2)控制單元,從內(nèi)存讀取配置,設置各個原語的控制寄存器;3)總線,把原語、控制單元和內(nèi)存連接在一起.

        Fig.5 Meta ANA design圖5 Meta ANA架構(gòu)圖

        Meta ANA架構(gòu)中,原語的數(shù)目、每個原語的種類和參數(shù)均可以自由配置.在實現(xiàn)過程中,允許屏蔽部分原語,使其不參與任何計算流程.例如,可以屏蔽Crossbar原語,通過組合ALU中的原語實現(xiàn);可以屏蔽Spike原語,通過FPU和ALU中原語實現(xiàn)等價功能;可以屏蔽ALU中部分原語實現(xiàn)和參數(shù)配置,通過數(shù)值計算算法近似等.通過調(diào)節(jié)MetaANA架構(gòu)中的原語數(shù)目和參數(shù),可以評估不同配置(不同計算單元比例、不同精度等)下的性能參數(shù),例如面積和最大頻率,同時屏蔽部分原語也有助于減少邏輯綜合的時間,加速測試迭代.

        本文中的Meta ANA實現(xiàn)采用Scala上的Spinal HDL庫編寫,具有可復用、可重構(gòu)的特點.利用Scala的語言特性,可以通過相應參數(shù)對各個原語進行自定義,并且按需生成Verilog代碼用于綜合.此外,由于各個原語單元之間通過總線互聯(lián),故在編寫新的原語時,不需要改變其他原語單元,降低了擴展新功能的成本.

        5.2 執(zhí)行原語集合

        本文采用的執(zhí)行原語集合目前主要由4類原語組成(可根據(jù)類腦計算硬件設計流程進行擴展),即Crossbar,ALU,FPU和Spike,如表1所示.Crossbar原語用于實現(xiàn)矩陣 向量乘法;ALU原語子集用于實現(xiàn)向量 向量整形運算;FPU原語子集用于實現(xiàn)向量 向量浮點運算;Spike原語子集則用于實現(xiàn)SNN專用的加速原語,其包含2條針對SNN計算特性設計的原語:索引選擇和稀疏累加,其中索引選擇原語用于依據(jù)神經(jīng)元動作電位值并行獲得所有滿足條件的神經(jīng)元編號;稀疏累加原語用于依據(jù)細粒度脈沖神經(jīng)網(wǎng)絡表示[18],實現(xiàn)高效率的脈沖傳輸.

        Table 1 Theprimitive Set表1 執(zhí)行原語集合

        如表2所示,每個計算原語都具有獨立的控制寄存器和輸入輸出緩存.其中,控制寄存器配置原語何時計算、如何計算、計算之后做什么操作,輸入輸出緩存用于緩存原語的輸入輸出.

        Table 2 Control Register表2 控制寄存器

        5.3 資源開銷

        為評估每個原語的具體資源開銷,我們評估了其在FPGA上的性能和面積.以xc7a200t為目標設備單獨綜合模塊,并設置400 MHz的時鐘.在綜合結(jié)果中,取最大的時鐘slack計算出對應的最大頻率;此時的占用面積為輸出信息中Slice LUTs和Slice Registers兩個數(shù)據(jù),結(jié)果如表3所示.以FPGA上的性能參數(shù)為基礎,可以作為具體硬件設計實現(xiàn)過程中選擇每個原語對應的器件的數(shù)目、參數(shù)、實現(xiàn)方法的參考與依據(jù).

        Table 3 Performance and Area表3 性能和面積開銷

        6 總結(jié)和未來計劃

        類腦計算作為一個不斷發(fā)展的交叉學科,在神經(jīng)科學、體系結(jié)構(gòu)和人工智能領域都具有重要的發(fā)展前景.在這一背景下,實現(xiàn)類腦計算系統(tǒng)的軟硬件解耦合可以使研究人員專注于自己的專業(yè)領域,從而降低領域內(nèi)的合作成本,提高研究效率,有利于促進領域的協(xié)同發(fā)展.本文嘗試基于神經(jīng)形態(tài)完備性和類腦計算層次結(jié)構(gòu)實現(xiàn)軟硬件解耦合的類腦計算硬件設計方法,提出了其基本的設計流程并展示了初步進展.

        在這一基礎框架下,仍然有許多工作可以進一步展開.執(zhí)行原語集合設計和硬件方法設計需要多次迭代與選擇,如果每次迭代都需要實際測試,即使基于可配置、可重構(gòu)的評估平臺,其開銷仍然不可忽視,我們嘗試建立相應設計空間與實際效能之間的性能模型,從而節(jié)約硬件設計的迭代開銷,加速設計效率.基于神經(jīng)形態(tài)完備性引入的近似能力,如何實現(xiàn)其高效利用,也是值得研究的方向.相應地,我們計劃進一步展開支持近似能力的編譯器與優(yōu)化方法的研究,構(gòu)建更為高效的軟硬件設計實現(xiàn).此外,基于FPGA的評估平臺工作尚處于初期,會進一步完善,為軟硬件解耦合的類腦計算芯片設計打下硬件評估基礎.

        致謝感謝清華大學未來芯片技術(shù)高精尖創(chuàng)新中心對本文執(zhí)行原語集合設計的幫助!

        猜你喜歡
        類腦層次結(jié)構(gòu)圖靈
        艾倫·圖靈: 數(shù)學與邏輯的奇才
        世界首款類腦互補視覺芯片研制成功
        科學導報(2024年38期)2024-06-18 06:04:41
        基于級聯(lián)網(wǎng)絡和語義層次結(jié)構(gòu)的圖像自動標注方法
        基于多尺度網(wǎng)格細胞模型的無人機類腦矢量導航方法
        新英鎊
        中國成立“類腦國家實驗室”“借鑒人腦”攻關人工智能
        論立法修辭功能的層次結(jié)構(gòu)
        法律方法(2017年2期)2017-04-18 09:00:37
        人工智能簡史
        商界·時尚(2016年5期)2016-07-15 21:37:17
        建構(gòu)利益相關者管理的三層次結(jié)構(gòu)分析
        語言與圖靈測試
        自動化學報(2016年5期)2016-04-16 03:38:36
        亚洲中文字幕在线精品2021| 国产乱人伦偷精品视频| 国产综合色在线视频| 日韩精品有码中文字幕在线| 日韩少妇人妻精品中文字幕| 亚洲欧洲国产成人综合在线| 国产第一页屁屁影院| 老熟女一区二区免费| 亚洲欧洲日产国码无码AV一 | 日本精品久久中文字幕| 变态另类手机版av天堂看网| 麻豆影视视频高清在线观看| 99热成人精品免费久久| 久久精品国产精品亚洲婷婷| 97人妻精品一区二区三区男同| 女人高潮被爽到呻吟在线观看| 亚洲男女免费视频| 日韩av综合色区人妻| 久久亚洲av成人无码电影 | 欧美成人在线A免费观看| av男人操美女一区二区三区| 一本色道久久亚洲综合| 亚洲男人的天堂在线aⅴ视频| 性做久久久久久久| 国产黄色一区二区三区,| 国产激情艳情在线看视频| 国内精品久久久久久久影视麻豆| 精品国产日韩无 影视| 91精品国产综合久久久蜜| 丁香六月久久婷婷开心| 国产综合自拍| 女同欲望一区二区三区| 国产婷婷色一区二区三区| 国产小受呻吟gv视频在线观看| 免费在线观看蜜桃视频| 虎白女粉嫩粉嫩的18在线观看| 久久www免费人成人片| 免费无码av片在线观看网址| 日本草逼视频免费观看| 日本在线精品一区二区三区| 久久精品人人做人人爽|