国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度強(qiáng)化學(xué)習(xí)的存內(nèi)計(jì)算部署優(yōu)化算法

2023-10-18 16:25:43胡益笛夏銀水

胡益笛 夏銀水

摘 要:針對存內(nèi)計(jì)算大規(guī)模神經(jīng)網(wǎng)絡(luò)部署導(dǎo)致的計(jì)算延遲、運(yùn)行功耗較大等問題,提出了基于深度強(qiáng)化學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)部署優(yōu)化算法。首先,建立了馬爾可夫決策過程的任務(wù)模型,優(yōu)化神經(jīng)網(wǎng)絡(luò)的延遲和功耗,完成片上計(jì)算核心的部署。其次,針對優(yōu)化部署過程中,存在求解空間過大、探索能力不足等問題,提出了一種基于深度強(qiáng)化學(xué)習(xí)的智能部署優(yōu)化算法,從而得到近似最優(yōu)的神經(jīng)網(wǎng)絡(luò)部署策略。最后,針對強(qiáng)化學(xué)習(xí)探索能力不足的問題,提出了一種基于內(nèi)在激勵(lì)的獎勵(lì)策略,鼓勵(lì)探索未知解空間,提高部署質(zhì)量,解決陷入局部最優(yōu)等問題。實(shí)驗(yàn)結(jié)果表明,該算法與目前強(qiáng)化學(xué)習(xí)算法相比能進(jìn)一步優(yōu)化功耗和延遲。

關(guān)鍵詞:存內(nèi)計(jì)算; 深度強(qiáng)化學(xué)習(xí); 神經(jīng)網(wǎng)絡(luò)部署; 近端策略優(yōu)化; 內(nèi)在激勵(lì)

中圖分類號:TP391.7

文獻(xiàn)標(biāo)志碼:A

文章編號:1001-3695(2023)09-008-0000-00

doi:10.19734/j.issn.1001-3695.2023.02.0047

Processing in memory deployment optimization algorithm

based on deep reinforcement learning

Hu Yidi, Xia Yinshui

(College of Information Science & Technology, Ningbo University, Ningbo Zhejiang 315211, China)

Abstract:To address the issues of computational latency and high operational power consumption caused by the deployment of large-scale neural networks for in-memory computing, this paper proposed a deep reinforcement learning-based optimization algorithm for neural network deployment. Firstly, it established a task model for Markov decision processes, which optimized the latency and power consumption of the neural network and completed the deployment of the on-chip computing core. Secondly, to tackle the challenges of excessive solution space and insufficient exploration capability during the optimization process, it introduced a deployment optimization algorithm based on deep reinforcement learning to obtain a near-optimal neural network deployment strategy. Lastly, it proposed a reward strategy grounded in intrinsic motivation to address the lack of exploration ability in reinforcement learning, encouraging the exploration of unknown solution spaces, enhancing the quality of deployment, and resolving issues such as getting trapped in local optimality. Experimental results demonstrate that this proposed algorithm further optimizes power consumption and latency compared to current reinforcement learning algorithms.

Key words:processing in memory; deep reinforce learning; neural network deployment; proximal policy optimization; intrinsic reward

0 引言

近年來,從人工智能領(lǐng)域興起的神經(jīng)網(wǎng)絡(luò)算法在如計(jì)算機(jī)視覺[1]、語音識別[2]、自動化[3]等諸多應(yīng)用領(lǐng)域都取得了顯著的成果。通過堆疊網(wǎng)絡(luò)層數(shù)的深度神經(jīng)網(wǎng)絡(luò)算法具有層數(shù)深、參數(shù)多等特點(diǎn),需要更適合的計(jì)算架構(gòu)。在眾多計(jì)算架構(gòu)中,存內(nèi)計(jì)算(processing in memory,PIM)以其高集成性、高并行性和低功耗的優(yōu)勢而備受關(guān)注。PIM架構(gòu)中通常使用阻變式存儲器(resistive random access memory,ReRAM)[4,5]進(jìn)行存儲和計(jì)算,結(jié)合納米線陣列構(gòu)成的RRAM陣列結(jié)構(gòu)為PIM架構(gòu)中的核心計(jì)算單元(計(jì)算核),如圖1所示,T(Tile)為計(jì)算核,包括9個(gè)處理器(processing engine,PE),其中PE內(nèi)集成了行列為64或128的RRAM陣列。

在神經(jīng)網(wǎng)絡(luò)部署任務(wù)中,神經(jīng)網(wǎng)絡(luò)參數(shù)被平均分布在計(jì)算核上,通過路由器實(shí)現(xiàn)PIM的片上通信?;谏鲜鯬IM架構(gòu),工業(yè)界和學(xué)術(shù)界已經(jīng)提出了諸如IBM的TrueNorth[6]、英特爾的Loihi[7]、BrainChip的Akida和NeuRRAM[8]等PIM芯片。

如圖2所示,在PIM芯片上部署神經(jīng)網(wǎng)絡(luò)算法通常需要兩個(gè)步驟:邏輯映射和物理部署。在邏輯映射階段,神經(jīng)網(wǎng)絡(luò)按照計(jì)算核容量被劃分為計(jì)算節(jié)點(diǎn),由有向無環(huán)圖(directed acyclic graph,DAG)表示,稱為邏輯圖。在物理部署階段,將邏輯圖的節(jié)點(diǎn)依據(jù)圖拓?fù)浣Y(jié)構(gòu)、芯片的路由策略和計(jì)算核排列方式,部署到片上計(jì)算核中。不同的部署結(jié)果會對芯片延遲、功耗等性能有較大影響,因此探索一種從邏輯圖至多核芯片的低延時(shí)低功耗的部署策略至關(guān)重要。

目前,已有大量工作面向延遲功耗優(yōu)化的神經(jīng)網(wǎng)絡(luò)的物理部署問題。Ostler等人[9]提出了基于整數(shù)線性規(guī)劃(integer linear programming,ILP)的方法,實(shí)現(xiàn)邏輯圖至4×4的多計(jì)算核系統(tǒng)部署,優(yōu)化了計(jì)算功耗。然而,在大規(guī)模部署任務(wù)中該方法存在計(jì)算時(shí)間長的問題。Joseph等人[10]提出負(fù)載平衡的方法,使用蛇型部署的方式獲得一個(gè)良好的物理部署,并使用啟發(fā)式算法進(jìn)一步降低延遲。Wu等人[11]使用二維矩陣表示當(dāng)前部署結(jié)果,通過深度確定性策略梯度(deep deterministic policy gradient,DDPG)訓(xùn)練部署策略,與模擬退火算法相比降低了18.6%的延遲,但它在訓(xùn)練過程中,沒有考慮邏輯圖的拓?fù)潢P(guān)系,其訓(xùn)練效果比較有限。Myung等人[12]創(chuàng)新性地使用圖神經(jīng)網(wǎng)絡(luò)提取邏輯圖的拓?fù)潢P(guān)系,并以此指導(dǎo)部署策略的學(xué)習(xí),在包含8×8和16×16個(gè)計(jì)算核的PIM芯片內(nèi),相比模擬退火算法在延遲和功耗上分別降低了19.4%和10.9%。但在此過程中已提取的信息不會隨著部署的進(jìn)行而變化,導(dǎo)致策略更新緩慢,難以進(jìn)一步優(yōu)化部署。

研究發(fā)現(xiàn),相比于傳統(tǒng)的啟發(fā)式算法,融合深度神經(jīng)網(wǎng)絡(luò)(deep neuro network,DNN)和強(qiáng)化學(xué)習(xí)(reinforce learning,RL)的深度強(qiáng)化學(xué)習(xí)(deep reinforce learning,DRL)更善于求解各種組合優(yōu)化問題,在計(jì)算機(jī)視覺、機(jī)器人控制、電子設(shè)計(jì)自動化[13,14]等領(lǐng)域中,取得較好的優(yōu)化效果。

神經(jīng)網(wǎng)絡(luò)至多核系統(tǒng)的物理部署優(yōu)化是組合優(yōu)化問題之一。DRL通過狀態(tài)變化進(jìn)行組合優(yōu)化的策略選擇,以使長期累積的獎勵(lì)和最大,具有較大優(yōu)勢。

在PIM芯片的物理部署研究中,DRL算法學(xué)習(xí)選擇邏輯圖節(jié)點(diǎn)至PIM芯片上的計(jì)算核的部署策略。在此過程中,完整邏輯圖的部署稱為單輪部署。通過多次的單輪部署,DRL學(xué)習(xí)到有效的部署策略。但是現(xiàn)有基于DRL的神經(jīng)網(wǎng)絡(luò)多核部署研究中,缺乏單輪部署中間狀態(tài)的觀測和獎勵(lì)的反饋[11,12],難以引導(dǎo)DRL算法的更新方向,存在稀疏獎勵(lì)問題。

針對部署優(yōu)化問題,本文從單輪部署出發(fā),豐富中間狀態(tài)表示,構(gòu)建內(nèi)在激勵(lì),優(yōu)化物理部署結(jié)果。因此部署過程中需要提取中間狀態(tài)信息,并基于中間狀態(tài)的差異構(gòu)建內(nèi)在激勵(lì),將稀疏獎勵(lì)轉(zhuǎn)變?yōu)槌砻塥剟?lì)。首先,將物理部署問題建立為馬爾可夫決策過程(Markov decision process,MDP)模型,定義了狀態(tài)表示和決策方式。其次使用圖神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)提取當(dāng)前部署狀態(tài)的信息。依據(jù)狀態(tài)信息的變化定義內(nèi)在激勵(lì),DRL在目標(biāo)函數(shù)與內(nèi)在激勵(lì)共同作用下通過近端策略優(yōu)化[15](proximal policy optimization,PPO)更新部署策略。本文的主要貢獻(xiàn)為

a)對優(yōu)化部署問題,通過建立豐富中間狀態(tài)的MDP模型,聯(lián)合優(yōu)化部署后的通信開銷和延遲,并使用DRL算法對該問題進(jìn)行求解。

b)采用圖神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的信息提取算法,豐富了部署過程中的信息表達(dá),更精準(zhǔn)決策。在部署的過程中,提取當(dāng)前部署狀態(tài)和邏輯圖的信息,作為每一次部署決策的依據(jù)。

c)使用內(nèi)在激勵(lì)算法,在8×8和16×16等多計(jì)算核系統(tǒng)的物理部署階段解決稀疏獎勵(lì)問題。單輪部署中,根據(jù)當(dāng)前狀態(tài)為DRL構(gòu)建不同的內(nèi)在激勵(lì)。通過內(nèi)在激勵(lì)促進(jìn)DRL對新狀態(tài)的探索,進(jìn)而學(xué)習(xí)到更高質(zhì)量的部署策略。

1 研究基礎(chǔ)和術(shù)語

1.1 物理部署

物理部署是將神經(jīng)網(wǎng)絡(luò)的邏輯圖部署到計(jì)算核上的過程,如圖3所示,根據(jù)計(jì)算核的容量限制,將神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)變?yōu)檫壿媹D。邏輯圖由節(jié)點(diǎn)和加權(quán)邊組成,被部署在一個(gè)網(wǎng)格(Mesh)結(jié)構(gòu)的PIM芯片上。為方便后續(xù)討論,將邏輯圖和片上的多計(jì)算核拓?fù)鋱D給出有關(guān)定義如下。

邏輯圖使用一個(gè)有向無環(huán)圖表示,定義為G=(A,E),其中ai∈A表示神經(jīng)網(wǎng)絡(luò)計(jì)算節(jié)點(diǎn),ei,j∈E表示計(jì)算節(jié)點(diǎn)ai與aj之間有向加權(quán)邊。其中權(quán)重表示為兩個(gè)節(jié)點(diǎn)之間的通信量comni,j。

計(jì)算核的拓?fù)鋱D表示為一個(gè)有向圖T(N,P),其中每個(gè)頂點(diǎn)ni∈N表示計(jì)算核,每個(gè)路徑pi,j∈P表示頂點(diǎn)ni與nj之間在路由策略下的最短通信路徑。

應(yīng)用任務(wù)圖G(A,E)到拓?fù)鋱DT(N,P)的映射函數(shù)定義如下:

map:G→T s.t. map(ai)=ni

ai∈A,ni∈NA≤N(1)

片上的多個(gè)計(jì)算核通過片上網(wǎng)絡(luò)(network on chip,NoC)傳輸信息,因此部署結(jié)果通常由NoC模擬器進(jìn)行評估,如BookSim[16]、Noxim[17]等。

隨著PIM芯片集成核數(shù)的增加,部署策略的探索空間呈指數(shù)性上升。啟發(fā)式算法主要處理具有數(shù)十個(gè)核的系統(tǒng),且設(shè)計(jì)空間探索能力有限,其計(jì)算復(fù)雜度隨著系統(tǒng)規(guī)模的增大而急劇增加。在大規(guī)模探索空間求解問題中,使用DRL算法可較好求解該問題[18]。

1.2 強(qiáng)化學(xué)習(xí)

DRL是一種基于馬爾可夫決策過程的通過與環(huán)境ε交互進(jìn)行學(xué)習(xí)的試探性算法。如圖4所示,在單個(gè)時(shí)間步長中,智能體從環(huán)境中獲取當(dāng)前狀態(tài)st,并根據(jù)策略π從動作空間A中選擇一個(gè)動作at,從環(huán)境中接收到下一個(gè)狀態(tài)st+1和獎勵(lì)rt作為回報(bào)。相較于RL,DRL使用神經(jīng)網(wǎng)絡(luò)作為智能體,學(xué)習(xí)能力更強(qiáng)。

時(shí)間步長t后的累計(jì)獎勵(lì)Rt表示為

Rt=∑∞k=0γkrt+k(2)

其中γ∈(0,1],為折現(xiàn)因子。狀態(tài)—動作價(jià)值定義為

Qπ(s,a)=Eπ[Rt|st=s,at=a](3)

Qπ(s,a)是依據(jù)策略π在狀態(tài)s時(shí)選擇動作a后的預(yù)期回報(bào)。狀態(tài)價(jià)值Vπ(s)定義為

Vπ(s)=E[Rt|st=s](4)

狀態(tài)價(jià)值是根據(jù)策略π從狀態(tài)s開始的期望回報(bào)。智能體的目標(biāo)是使每個(gè)狀態(tài)的期望收益最大化。

PPO是一種基于策略的DRL算法,其計(jì)算復(fù)雜度明顯低于其他策略梯度方法。PPO在策略更新規(guī)模的約束下最大化獎勵(lì)期望:

maximizeθ Etπθ(at|st)πθold(at|st)t(5)

其中:πθ(at|st)是當(dāng)前的策略;θ是該策略的參數(shù);πθold(at|st)表示更新前的策略;Et[]表示一定步數(shù)內(nèi)可獲得的獎勵(lì)期望。式(2)(6)中t為t時(shí)刻動作at相比其他動作的優(yōu)勢,定義為預(yù)期回報(bào)與狀態(tài)價(jià)值的差值。

t=Qπ(s,a)-Vπ(s)(6)

在此過程中,PPO限定參數(shù)的更新范圍,防止參數(shù)過度更新。令pt(θ)表示參數(shù)更新前后的策略偏差程度:

pt(θ)=πθ(at|st)πθold(at|st)(7)

PPO通過clip()限制策略偏差范圍

clip(pt(θ))=pt(θ)? if 1-ε≤pt(θ)≤1+ε

1-εif 1-ε>pt(θ)

1+εif pt(θ)>1+ε(8)

其中:ε是用于度量新策略與老策略之間偏差程度的超參數(shù)。

智能體學(xué)習(xí)到的部署策略的質(zhì)量取決于中間狀態(tài)所能表示的信息準(zhǔn)確度[15]。缺乏中間狀態(tài)會導(dǎo)致智能體難以精確預(yù)測選擇動作所能得到的預(yù)期獎勵(lì),進(jìn)而導(dǎo)致無法對策略網(wǎng)絡(luò)有效更新。

1.3 內(nèi)在激勵(lì)

神經(jīng)網(wǎng)絡(luò)至PIM芯片的部署任務(wù)中,只有完成所有節(jié)點(diǎn)的部署后才可以計(jì)算部署結(jié)果的質(zhì)量。在文獻(xiàn)[11,12]的算法中,神經(jīng)網(wǎng)絡(luò)的邏輯圖中間部署階段沒有獎勵(lì),只有在完成部署后根據(jù)部署結(jié)果給予獎勵(lì)。這導(dǎo)致了面對大規(guī)模部署任務(wù)時(shí)訓(xùn)練容易陷入停滯,難以探索更優(yōu)部署策略等問題,這一現(xiàn)象稱為稀疏獎勵(lì)問題[19]。

目前針對稀疏獎勵(lì)問題已展開多種研究。逆強(qiáng)化學(xué)習(xí)通過大量專家決策數(shù)據(jù)在馬爾可夫決策過程中逆向求解環(huán)境獎勵(lì)函數(shù),尋找多個(gè)獎勵(lì)函數(shù)來描述專家決策行為。經(jīng)驗(yàn)回放機(jī)制對經(jīng)驗(yàn)池中的樣本設(shè)置優(yōu)先級,使樣本被抽取的概率與優(yōu)先級成正比,在一定程度上解決了稀疏獎勵(lì)問題。內(nèi)在激勵(lì)的目的是構(gòu)造虛擬獎勵(lì),用于和真實(shí)獎勵(lì)函數(shù)共同學(xué)習(xí)。由于真實(shí)的獎勵(lì)是稀疏的,使用虛擬獎勵(lì)可以加快學(xué)習(xí)的進(jìn)程。

在邏輯圖部署中,任意節(jié)點(diǎn)的擺放均會產(chǎn)生不同的部署結(jié)果,存在大量中間狀態(tài),充分利用該中間狀態(tài)構(gòu)建內(nèi)在激勵(lì)是解決稀疏獎勵(lì)問題的方法之一。本文利用在訓(xùn)練過程中構(gòu)建的環(huán)境模型來評估狀態(tài)的新穎程度,并通過隨機(jī)固定神經(jīng)網(wǎng)絡(luò)和受訓(xùn)練的預(yù)測神經(jīng)網(wǎng)絡(luò)之間的差異[20]來計(jì)算新穎度,表示智能體對當(dāng)前狀態(tài)的熟悉程度,并以此給予獎勵(lì)。

2 基于深度強(qiáng)化學(xué)習(xí)的部署策略

PPO算法在組合優(yōu)化問題中具有穩(wěn)定性強(qiáng)、效率高等優(yōu)勢。本文提出了一種基于改進(jìn)PPO的PIM芯片部署算法。在部署過程中實(shí)時(shí)提取單輪部署的中間狀態(tài)信息,依據(jù)該信息選取合適的部署結(jié)果,并比較部署過程中不同步驟的中間狀態(tài)差異,構(gòu)建內(nèi)在激勵(lì)將稀疏獎勵(lì)轉(zhuǎn)變?yōu)槌砻塥剟?lì),探索更優(yōu)部署策略。圖5展示了該算法的全部流程,智能體通過多輪部署學(xué)習(xí)部署策略。獲得不同的獎勵(lì)后,智能體使用PPO算法優(yōu)化網(wǎng)絡(luò)參數(shù),學(xué)習(xí)并找出最優(yōu)策略。

2.1 環(huán)境與動作

DRL中狀態(tài)的表示至關(guān)重要。合適的狀態(tài)表示可以正確地表示當(dāng)前的部署狀態(tài),使智能體的決策更合理。

在DRL的部署優(yōu)化算法中,使用一個(gè)二維矩陣表示將要部署的PIM芯片的狀態(tài),其中未部署的計(jì)算核表示為零,已部署的計(jì)算核則用序列號表示。動作為選擇一個(gè)位置進(jìn)行部署。

在單輪部署開始前,對當(dāng)前的環(huán)境進(jìn)行初始化,該二維矩陣中的序列號全部置零。當(dāng)智能體完成一個(gè)節(jié)點(diǎn)的部署時(shí),置零的計(jì)算核更新為當(dāng)前部署的序列號。邏輯圖的所有節(jié)點(diǎn)部署完成后,根據(jù)部署結(jié)果計(jì)算該輪部署的結(jié)算獎勵(lì)。隨即初始化,開始下一輪的部署。執(zhí)行完固定步長的部署輪次后,對智能體進(jìn)行更新。

在先前工作中,使用全局部署來得到當(dāng)前節(jié)點(diǎn)將要部署的坐標(biāo),即對于每一個(gè)節(jié)點(diǎn)都可以選擇多核系統(tǒng)上的任意位置進(jìn)行部署但過大的動作空間也會導(dǎo)致訓(xùn)練困難。相鄰層的節(jié)點(diǎn)具有明顯的相關(guān)性,將其部署至臨近的節(jié)點(diǎn)可以降低延遲。因此限制動作空間可以在不降低部署結(jié)果質(zhì)量的前提下降低訓(xùn)練難度。局部部署策略主張限制部署范圍。首先對邏輯圖的節(jié)點(diǎn)進(jìn)行拓?fù)渑判?,并根?jù)排序部署。部署當(dāng)前節(jié)點(diǎn)時(shí),尋找到與此節(jié)點(diǎn)通信量最大的已部署節(jié)點(diǎn)的位置,將部署范圍限制在該位置的一定范圍內(nèi)。

2.2 中間狀態(tài)表示

智能體依靠當(dāng)前狀態(tài)作出決策。合適的狀態(tài)表示是獲得高質(zhì)量決策的關(guān)鍵。如圖6所示,狀態(tài)信息提取算法分別使用圖神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)提取邏輯圖和當(dāng)前部署情況兩個(gè)方面的信息。

圖神經(jīng)網(wǎng)絡(luò)通過邏輯圖的連接關(guān)系聚合并輸出節(jié)點(diǎn)上的信息,通過全連接層將這些信息編碼。每當(dāng)一個(gè)節(jié)點(diǎn)完成部署后,更新其節(jié)點(diǎn)特征中的坐標(biāo)信息。

中間狀態(tài)的表示中,部署的結(jié)果由二維矩陣表示,卷積神經(jīng)網(wǎng)絡(luò)可以從輸入圖像中提取重要特征,因此使用卷積神經(jīng)網(wǎng)絡(luò)對當(dāng)前部署狀態(tài)的信息進(jìn)行提取。二維矩陣中的數(shù)字表示為節(jié)點(diǎn)的序列號,并且都進(jìn)行歸一化處理。在經(jīng)過多層卷積層后通過全連接層轉(zhuǎn)換為狀態(tài)向量。

在訓(xùn)練過程中這兩個(gè)作為信息提取器的網(wǎng)絡(luò)不進(jìn)行更新。智能體的網(wǎng)絡(luò)權(quán)重根據(jù)PPO算法進(jìn)行更新。

2.3 混合獎勵(lì)

在相關(guān)工作中[11,12],僅根據(jù)部署結(jié)果反饋獎勵(lì),且沒有足夠的中間狀態(tài)表示,導(dǎo)致采樣效率低,部署結(jié)果優(yōu)化有限。本文基于2.2節(jié)的中間狀態(tài)表示方法,提出混合獎勵(lì)方法,包括結(jié)果獎勵(lì)和虛擬獎勵(lì)。該算法使智能體在熟悉的部署和新部署結(jié)果的邊界中進(jìn)行更集中的探索,學(xué)習(xí)到更豐富的部署策略,并利用結(jié)果獎勵(lì)保留高質(zhì)量的策略。

r=rresult+rvirtual(9)

結(jié)果獎勵(lì)rresult在所有節(jié)點(diǎn)完成部署后對部署結(jié)果進(jìn)行評估,并以此反饋獎勵(lì)。

rresult=-α×(C-Cbaseline)(10)

其中:α是比例系數(shù)。由于使用模擬器精確評估消耗時(shí)間過長,導(dǎo)致算法求解速度慢,所以使用簡化的公式來近似估計(jì)當(dāng)前的部署結(jié)果。因計(jì)算過程的功耗和延遲與數(shù)據(jù)傳輸路徑即通信開銷高度相關(guān)[12],因此使用通信開銷C計(jì)算獎勵(lì),根據(jù)以下公式計(jì)算得到:

C=∑vi,vjcomni,j×Pi,j(11)

通過模擬退火算法得到部署結(jié)果的通信開銷Cbaseline作為基準(zhǔn),增加訓(xùn)練的穩(wěn)定性[11]。在部署任務(wù)中,通信開銷越低意味著部署結(jié)果越好,獲得的獎勵(lì)越高。所以通過比例系數(shù)α將獎勵(lì)轉(zhuǎn)換為通信開銷的負(fù)值,并限制在一定范圍以內(nèi),防止在訓(xùn)練過程中出現(xiàn)梯度消失的問題。

有別于先前工作中缺乏單輪訓(xùn)練過程中的獎勵(lì),本節(jié)提出在單輪部署中獲取中間狀態(tài)的虛擬獎勵(lì),將訓(xùn)練過程中只有單輪部署結(jié)束時(shí)才獲得的稀疏獎勵(lì)轉(zhuǎn)換為每執(zhí)行一個(gè)動作就可獲得的稠密獎勵(lì)。rvirtual計(jì)算方式為

rvirtual(st,at,st+1)=max[n(st+1)-β·n(st),0](12)

其中:β是一個(gè)超參數(shù),根據(jù)給定的PIM芯片和邏輯圖來衡量內(nèi)在激勵(lì)的重要性。當(dāng)智能體探索新的部署結(jié)果時(shí)給予其內(nèi)在激勵(lì)rvirtual,從而鼓勵(lì)智能體在原先的部署結(jié)果上探索新的部署。n(st)表示當(dāng)前狀態(tài)的新穎度,通過兩個(gè)神經(jīng)網(wǎng)絡(luò)計(jì)算的差異得到。

n(st)=‖φ(st)-φ′ω(st)‖2(13)

其中:φ表示固定網(wǎng)絡(luò);φ′ω表示預(yù)測網(wǎng)絡(luò);ω是預(yù)測網(wǎng)絡(luò)的參數(shù)。內(nèi)在激勵(lì)分為兩個(gè)網(wǎng)絡(luò):隨機(jī)固定神經(jīng)網(wǎng)絡(luò)和受訓(xùn)練的預(yù)測神經(jīng)網(wǎng)絡(luò)。隨機(jī)固定網(wǎng)絡(luò)不參與參數(shù)更新,將觀察到的狀態(tài)進(jìn)行編碼。完成新穎度的計(jì)算后通過梯度下降法(stochastic gradient descent,SGD) 對預(yù)測網(wǎng)絡(luò)進(jìn)行更新,使預(yù)測網(wǎng)絡(luò)的期望均方誤差(mean-square error,MSE)最小,表示對當(dāng)前的狀態(tài)進(jìn)一步熟悉。

在訓(xùn)練的初始階段每一次部署的差異度均較大,因此都獲得較高的內(nèi)在激勵(lì)。隨著訓(xùn)練的進(jìn)行,預(yù)測網(wǎng)絡(luò)對部署狀態(tài)的預(yù)測逐漸逼近固定網(wǎng)絡(luò)的結(jié)果。智能體若嘗試不同的部署,則獲得內(nèi)在激勵(lì)隨之變化。結(jié)果獎勵(lì)的提升在總體獎勵(lì)中占比更大,因此智能體更傾向于在優(yōu)秀部署結(jié)果的基礎(chǔ)上探索新的部署。在訓(xùn)練后期,新穎度逐漸降低為零,智能體學(xué)習(xí)到了高質(zhì)量的、穩(wěn)定的部署策略,因此內(nèi)在激勵(lì)算法得以收斂。

3 實(shí)驗(yàn)結(jié)果

3.1 實(shí)驗(yàn)設(shè)置

在硬件上,使用Tianjic芯片[21]的架構(gòu)模擬,每一個(gè)計(jì)算核內(nèi)有9個(gè)行列為128的RRAM陣列,并且計(jì)算核上設(shè)計(jì)了包括池化,累加器等功能電路。如表1所示,對不同規(guī)模的神經(jīng)網(wǎng)絡(luò)進(jìn)行測試比較,分別為小規(guī)模神經(jīng)網(wǎng)絡(luò)Alexnet、VGG11、DenseNet121、ResNet34以及大規(guī)模神經(jīng)網(wǎng)絡(luò)VGG16、DenseNet201和ResNet101。其中ResNet101擁有超過四千萬個(gè)參數(shù),DenseNet201擁有192層卷積網(wǎng)絡(luò)層數(shù)。表1中的計(jì)算核表示部署部署神經(jīng)網(wǎng)絡(luò)所需的計(jì)算核數(shù)量,規(guī)模表示神經(jīng)網(wǎng)絡(luò)模型部署在不同規(guī)模的存內(nèi)計(jì)算芯片內(nèi)。8×8和16×16分別表示芯片上共有64個(gè)和256個(gè)計(jì)算核,后者是目前所設(shè)計(jì)的大規(guī)模存內(nèi)計(jì)算芯片。本文僅考慮神經(jīng)網(wǎng)絡(luò)中的卷積層。其中Alexnet和VGG11運(yùn)行在包含8×8計(jì)算核的PIM芯片上,DenseNet121、VGG16、ResNet34、DenseNet201和ResNet101運(yùn)行在包含16×16計(jì)算核的PIM芯片上。ResNet101所需參數(shù)量較多,將該網(wǎng)絡(luò)劃分為兩個(gè)部分,部署至兩個(gè)存內(nèi)計(jì)算芯片中。將結(jié)果與模擬退火算法(simulated annealing,SA)[10],DDPG算法[11]和PPO算法[12]相比較。

在本文的方法中,使用圖神經(jīng)網(wǎng)絡(luò)將邏輯圖轉(zhuǎn)換為大小為64的特征向量,使用卷積神經(jīng)網(wǎng)絡(luò)將當(dāng)前狀態(tài)轉(zhuǎn)換為大小為192的特征向量。部署算法中Actor和Critic網(wǎng)絡(luò)均使用3層全連接層,每一層的參數(shù)量為256。根據(jù)經(jīng)驗(yàn),部署算法中的超參數(shù)設(shè)置如下:學(xué)習(xí)率設(shè)置為0.000 2,其中PPO_epoch為10,PPO_clip為0.2,折扣因子為0.98。內(nèi)在激勵(lì)的縮放因子為0.75,內(nèi)在獎勵(lì)稀疏為2。結(jié)算的獎勵(lì)裁剪到[-100,100]。文獻(xiàn)[11,12]中DRL算法的超參數(shù)根據(jù)其論文中設(shè)置。

所有的部署結(jié)果使用基于C++的周期精確的NoC模擬器進(jìn)行評估。這個(gè)模擬器模擬在設(shè)備的每個(gè)循環(huán)中運(yùn)行的所有數(shù)據(jù)包的狀態(tài)。為不失通用性,在所有情況中使用二維網(wǎng)格拓?fù)浜途S序路由。在NoC中的平均延遲表示為

Latency=1|N|∑|N|i=11Ni∑|Ni|j=1Latencyi,j(14)

其中:N表示計(jì)算核的數(shù)量;Ni表示經(jīng)過i次預(yù)熱后單個(gè)計(jì)算核收到的數(shù)據(jù)包數(shù);Latencyi,j表示數(shù)據(jù)包j的延遲。

平均功耗表示為

Power=C×E|h|t(15)

其中:E|h|為單跳距離下發(fā)送數(shù)據(jù)包的能量;t為所需要的時(shí)間。

帶寬需求為計(jì)算過程中,同一時(shí)刻在同一信道上傳輸?shù)淖畲髷?shù)據(jù)包數(shù)量。

模擬退火算法在較大的搜索空間中近似全局最優(yōu)。隨機(jī)初始化部署位置,通過交換兩個(gè)節(jié)點(diǎn)的位置實(shí)現(xiàn)進(jìn)化,并使用與DRL相同的代價(jià)函數(shù)。針對每一個(gè)神經(jīng)網(wǎng)絡(luò),為模擬退火算法設(shè)置不同的超參數(shù),包括不同的溫度上限、不同的衰減率、不同的迭代次數(shù)。選取延遲最小的結(jié)果作為基準(zhǔn)。

3.2 結(jié)果分析

最終結(jié)果如表2所示。綜合表1的結(jié)果,基于DRL的部署優(yōu)化算法在所有數(shù)據(jù)集中均有提升。在功耗開銷方面提升較大,分別達(dá)到了67.49%,20.06%,33.39%。在延遲方面,分別提升了30.60%,17.02%,11.55%,并且在最大帶寬需求上也有不同程度的提升。

AlexNet和VGG11所需的計(jì)算核數(shù)量較少,屬于小規(guī)模的神經(jīng)網(wǎng)絡(luò)。對此類神經(jīng)網(wǎng)絡(luò)的部署,本文方法與PPO相比功耗開銷的降低更多,在延遲方面兩個(gè)方法提升效果相似。對于大規(guī)模的神經(jīng)網(wǎng)絡(luò)如VGG16,Resnet34,這兩個(gè)網(wǎng)絡(luò)被部署至16×16個(gè)計(jì)算核的多核系統(tǒng)中,隨著規(guī)模的增大其探索空間呈指數(shù)級上升。同時(shí),大規(guī)模神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)量眾多,缺乏中間結(jié)果表示使得PPO算法難以探索更優(yōu)部署結(jié)果?;旌溪剟?lì)方法通過逐步部署并精確表示中間狀態(tài)的方式,使得延遲和功耗開銷有較為明顯的提升。更大參數(shù)量的ResNet101的探索空間更大,使用混合獎勵(lì)可以獲得更好的效果,在延遲和功耗上相比ResNet34的優(yōu)化程度更大。但是對于扇入扇出數(shù)較多的DenseNet121和DenseNet201而言,延遲和功耗開銷的提升都較小。因?yàn)椴扇【植坎渴鸬姆椒?,對扇入扇出?shù)較多的節(jié)點(diǎn)選擇空間有限,所以對此類網(wǎng)絡(luò)優(yōu)化有限。

如圖7所示,比較了ResNet34是否使用內(nèi)在激勵(lì)的訓(xùn)練情況??v坐標(biāo)reward表示訓(xùn)練得到的獎勵(lì),橫坐標(biāo)step表示訓(xùn)練的步長。使用了內(nèi)在激勵(lì)使得DRL算法的收斂速度和部署的結(jié)果得到提升。在初始階段,由于智能體對環(huán)境較為陌生,所以表現(xiàn)和沒有好奇心獎勵(lì)基本相同。當(dāng)智能體熟悉邊界后,虛擬獎勵(lì)驅(qū)動智能體探索未知空間,增加了尋找優(yōu)化部署方法的概率。

4 結(jié)束語

本文針對PIM的神經(jīng)網(wǎng)絡(luò)部署問題,提出了一種基于DRL的優(yōu)化算法。該算法使用圖神經(jīng)網(wǎng)絡(luò)提取邏輯圖的信息,使用卷積神經(jīng)網(wǎng)絡(luò)提取中間狀態(tài)的信息,并且使用內(nèi)在激勵(lì)鼓勵(lì)探索新的部署決策。相比較SA和DRL算法獲得了更優(yōu)的延遲和功耗開銷,但在一些復(fù)雜任務(wù)如節(jié)點(diǎn)扇出數(shù)過多時(shí)存在難以訓(xùn)練的問題,這是后續(xù)的工作方向。

參考文獻(xiàn):

[1]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Delving deep into rectifiers:surpassing human-level performance on ImageNet classification[C]//Proc of IEEE International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2015:1026-1034.

[2]Zhang Ying,Pezeshki M,Brakel P,et al.Towards end-to-end speech recognition with deep convolutional neural networks[EB/OL].(2017-01-10).https://arxiv.org/abs/1701.02720.

[3]Kiran B R,Sobh I,Talpaert V,et al.Deep reinforcement learning for autonomous driving:a survey[J].IEEE Trans on Intelligent Transportation Systems,2022,23(6):4909-4926.

[4]Ankit A,Hajj I E,Chalamalasetti F,et al.PUMA:a programmable ultra-efficient memristor-based accelerator for machine learning inference[C]//Proc of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems.New York:ACM Press,2019:715-731.

[5]Yao Peng,Wu Huaqiang,Gao Bin,et al.Fully hardware-implemented memristor convolutional neural network[J].Nature,2020,577 (7792):641-646.

[6]Akopyan F,Sawada J,Cassidy A,et al.TrueNorth:design and tool flow of a 65 mW 1 million neuron programmable neurosynaptic chip[J].IEEE Trans on Computer-Aided Design of Integrated Circuits and Systems,2015,34 (10):1537-1557.

[7]Davies M,Srinivasa N,Lin Tsunghan,et al.Loihi:a neuromorphic manycore processor with on-chip learning[J].IEEE Micro,2018,38 (1):82-99.

[8]Wan Weier,Kubendran R,Schaefer C,et al.A compute-in-memory chip based on resistive random-access memory[J].Nature,2022,608 (7923):504-512.

[9]Ostler C,Chatha N.An ILP formulation for system-level application mapping on network processor architectures[C]//Proc of Design,Automation & Test in Europe Conference & Exhibition.Piscataway,NJ:IEEE Press,2007:1-6.

[10]Joseph J M,Baloglu M S,Pan Yue,et al.NEWROMAP:mapping CNNs to NoC-interconnected self-contained data-flow accelerators for edge-AI[C]//Proc of the 15th IEEE/ACM International Symposium on Networks-on-Chip.New York:ACM Press,2021:15-20.

[11]Wu Nan,Deng Lei,Li Guoqi,et al.Core placement optimization for multi-chip many-core neural network systems with reinforcement learning[J].ACM Trans on Design Automation of Electronic Systems,2020,26 (2):1-27.

[12]Myung W,Lee D,Song Chenhang,et al.Policy gradient-based core placement optimization for multichip many-core systems[J/OL].IEEE Trans on Neural Networks and Learning Systems.(2021-10-13).https://doi.org/ 10.1109/TNNLS.2021.3117878.

[13]Mirhoseini A,Goldie A,Yazgan M,et al.A graph placement methodology for fast chip design[J].Nature,2021,594 (7862):207-212.

[14]Cheng Ruoyu,Yan Junchi.On joint learning for solving placement and routing in chip design[C]//Advances in Neural Information Processing Systems.[S.l.]:Curran Associates Inc.,2021:16508-16519.

[15]Schulman J,Wolski F,Dhariwal P,et al.Proximal policy optimization algorithms[EB/OL].(2017-08-28).https://arxiv.org/abs/1707.06347.

[16]Jiang Nan,Becker D U,Michelogiannakis G,et al.A detailed and flexible cycle-accurate Network-on-Chip simulator[C]//Proc of IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) .Piscataway,NJ:IEEE Press,2013:86-96.

[17]Catania V,Mineo A,Monteleone S,et al.Noxim:An open,extensible and cycle-accurate network on chip simulator[C]//Proc of the 26th IEEE International Conference on Application-specific Systems,Architectures and Processors.Piscataway,NJ:IEEE Press,2015:162-163.

[18]Li Zhaoying,Wu Dan,Wijerathne D,et al.LISA:graph neural network based portable mapping on spatial accelerators[C]//Proc of IEEE International Symposium on High-Performance Computer Architecture .Piscataway,NJ:IEEE Press,2022:444-459.

[19]楊惟軼,白辰甲,蔡超,等 深度強(qiáng)化學(xué)習(xí)中稀疏獎勵(lì)問題研究綜述[J].計(jì)算機(jī)科學(xué),2020,47 (3):182-191.(Yang Huaiyi,Bai Chenjia,Cai Chao,et al.A review of research on the sparse reward problem in deep reinforcement learning[J].Computer Science,2020,47 (3):182-191.)

[20]Zhang Tianjun,Xu Huazhe,Wang Xiaolong,et al.NovelD:a simple yet effective exploration criterion[C]//Proc of the 35th Conference on Neural Information Processing Systems.2021:1-14.

[21]Pei Jing,Deng Lei,Song Sen,et al.Towards artificial general intelligence with hybrid Tianjic chip architecture[J].Nature,2019,572 (7767):106-111.

收稿日期:2023-02-07;

修回日期:2023-04-04

基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(62131010,U22A2013);浙江省創(chuàng)新群體資助項(xiàng)目(LDT23F4021F04);寧波高新區(qū)重大技術(shù)創(chuàng)新體資助項(xiàng)目(2022BCX050001)

作者簡介:胡益笛(1996-),男,浙江臺州人,碩士研究生,主要研究方向?yàn)殡娮釉O(shè)計(jì)自動化;夏銀水(1963-),男(通信作者),浙江寧波人,教授,博導(dǎo),博士,主要研究方向?yàn)榈凸碾娐吩O(shè)計(jì)及其自動化(xiayinshui@nbu.edu.cn).

文成县| 晋宁县| 扎鲁特旗| 仙游县| 页游| 上饶市| 北碚区| 木里| 大港区| 茶陵县| 洛浦县| 亳州市| 兴山县| 安岳县| 腾冲县| 桑日县| 和平县| 内江市| 凤凰县| 宁津县| 阜新市| 秀山| 达尔| 合川市| 云霄县| 沙雅县| 临泉县| 崇信县| 南漳县| 革吉县| 宿松县| 堆龙德庆县| 韶山市| 城市| 无棣县| 永德县| 高阳县| 寿阳县| 沙雅县| 苍溪县| 阜阳市|