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

基于聯合權重超圖劃分的SNN負載均衡方法

2023-12-31 00:00:00徐聰葉鈞超黃堯柴志雷
計算機應用研究 2023年7期

摘 要:大規模脈沖神經網絡并行模擬是探究大腦機能的重要手段。其難點在于合理地將負載映射到并行分布式平臺上,提升模擬速度。為解決該問題,提出一種基于聯合權重超圖劃分的SNN負載均衡方法,解決并行計算中進程間計算負載與通信負載的均衡問題,提高SNN模擬速度,并使用稀疏通信的方式替代集體通信,解決事件通信過程中的數據冗余問題,提升通信效率。實驗結果表明,該方法使帶有STDP突觸20%規模的皮質層微電路模型的模擬時間,比標準循環分配算法縮短約64.5%,比普通超圖分配算法縮短約57.4%,同時事件通信數據量減少了90%以上。

關鍵詞:脈沖神經網絡; 負載均衡; 聯合權重; 超圖劃分; 并行計算

中圖分類號:TP302

文獻標志碼:A

文章編號:1001-3695(2023)07-032-2130-08

doi:10.19734/j.issn.1001-3695.2022.12.0789

SNN load balancing method based on united weight hypergraph partition

Xu Cong1, Ye Junchao1, Huang Yao1, Chai Zhilei1,2?

(1.School of Internet of Things Engineering, Jiangnan University, Wuxi Jiangsu 214122, China; 2.Jiangsu Provincial Engineering Laboratory of Pattern Recognition amp; Computational Intelligence, Wuxi Jiangsu 214122, China)

Abstract:Large-scale spiking neural network (SNN) parallel simulation is an important means to explore brain function. The difficulty lies in properly mapping the load to the multi-process parallel computing platform and improving the simulation speed. In order to solve this problem, this paper proposed a SNN load balancing method based on united weight hypergraph partitioning, which could solve the problem of balancing computing load and communication load between processes in parallel computing, and improve the speed of SNN simulation. And it used sparse communication instead of collective communication to solve the problem of data redundancy in the process of event communication and improve communication efficiency. The experimental results show that this method makes the simulation time of the cortical microcircuit model with STDP synapse scale of 20% shortened by about 64.5% compared with the standard cyclic allocation algorithm, and about 57.4% compared with the ordinary supermap allocation algorithm. At the same time, the communication time is reduced by more than 90%.

Key words:spiking neural network(SNN); load balancing; united weight; hypergraph partitioning; parallel computing

0 引言

近年來人們越來越關注類腦計算,希望能以此作為了解大腦及其功能的手段。類腦計算研究的基礎是脈沖神經網絡(spiking neural network,SNN),尤其是具有生物特性的網絡1。人腦具有1011個神經元、1015個突觸,由于其神經元種類與突觸種類的多樣性,以及它們之間的高度互連性,模擬大腦尺度的SNN模型在計算上具有極大的挑戰。其所需計算資源遠超當今個人計算機的能力,需要每秒百億億億次級的計算能力2

囿于當前計算芯片和系統的發展階段,還沒有可支撐大規模SNN模擬的單芯片系統,并行計算和分布式計算仍是較長時間內支撐大規模SNN模擬的主要計算方式,比如達爾文3、Spinnaker4、神威太湖之光5等都是分布式計算平臺。在分布式平臺上運行SNN模擬,負載均衡是運行性能的重要影響因素。Kulkarni等人6在單進程上進行10 000神經元的模擬需要約380 s,而進行十六進程并行模擬時則需要約600 s,由于負載不均衡,多進程并行模擬速度甚至不如單進程。

為解決在分布式平臺上合理映射SNN負載的問題,Titrsha等人7以最小化能耗負載為目的,對模擬過程中硬件功耗進行建模,并使用簡單的啟發式算法將神經元映射到不同硬件中使得整體功耗最低。Kunkel等人8從存儲負載均衡入手,在NEST模擬器中使用AER地址編碼以及分級突觸存儲方式降低模擬過程中的存儲負載,提升數據隨機讀取的速度,減少了部分冗余數據。由于在分布式系統中,通信負載會隨著節點的增加而成倍上升,所以大部分學者從通信負載出發,解決分布式系統中通信負載均衡的問題。如Urgese等人9使用譜聚類算法,在SpiNNaker模擬器中根據SNN的連接密集程度進行聚類,優化不同節點之間的通信結構。也有學者使用粒子群算法10優化通信負載,減小專用類腦硬件中不同進程之間的通信量。劉俊秀等人11針對SNN硬件系統互連過程中的通信交通負載不均衡,提出了一種針對SNN硬件系統脈沖通信的動態優化仲裁策略。在最近的通信負載均衡研究中,Fernandez等人12將SNN轉換為超圖,之后對超圖進行分區以減少進程間通信,依照分區結果進行SNN到上千節點超級計算機的映射,有效降低了通信負載,在具有三千多節點的超級計算機模擬實驗中,模擬時間減少73%。超圖劃分算法可有效解決通信負載均衡問題從而降低模擬時間。但由于其在進行超圖劃分時,只考慮了網絡連接拓撲結構對通信的影響,沒有綜合考慮計算負載、通信方式等因素,所以其方法在超級計算機之外的平臺無法達到理想效果。因此,本文提出基于聯合權重的超圖劃分算法來解決計算負載與通信負載的均衡問題。首先,使用聯合權重來表示計算負載,并對模擬過程進行建模從而量化聯合權重;其次,對帶有聯合權重的SNN超圖進行聚類,使不同聚類簇中聯合權重之和盡量相同,且超邊切割數盡量少,從而平衡計算負載與通信負載,使整體模擬時間最小;最后,利用生物網絡稀疏連接的特性,使用MPI單向通信方式實現進程間稀疏通信,與集體通信相比能減少90%以上的通信量。在同一模擬環境下,本文方法在帶有STDP突觸的稀疏網絡中,與循環分配算法和超圖劃分算法相比都能減少50%以上的模擬時間,并且網絡規模越大效果越明顯。

1 脈沖神經網絡

1.1 神經元

神經元是脈沖神經網絡的基本組成單位,根據應用場景以及建模精度的不同,神經元更新方式也會有較大變動。本文選擇使用leaky integrate-and-fire神經元進行網絡的模擬。該神經元在膜電位到達閾值時會發射脈沖,隨后恢復到靜息電位并進入不應期,直到不應期結束才會繼續進行膜電位更新。該神經元模型的更新方程可被描述為

其中:τm為膜電位時間常量;I為各個突觸前神經元放電行為所產生的突觸電流之和。當膜電位V超過閾值電位Vthresh時,神經元立刻發送脈沖,同時將膜電位恢復到Vrest,并且在不應期tref內保持不變;當膜電位小于閾值時,神經元會按照膜電位時間常數τm慢慢恢復到靜息電位Vrest

1.2 突觸

脈沖神經網絡模擬過程中,神經元會經由突觸將脈沖信息發送給另一神經元。其中發射脈沖的神經元被稱之為突觸前神經元,接收脈沖信號的神經元被稱之為突觸后神經元。突觸后神經元接收脈沖事件后會根據突觸權重來改變自身膜電位,膜電位變化幅度與突觸權重成正比。常見的突觸分為兩種,即權重固定的靜態突觸和權重隨時間變化的脈沖時間相關可塑性(spike timing dependent plasticity,STDP)突觸。靜態突觸將突觸權重存儲在相應數據結構中,當突觸中有脈沖事件經過,便通過查找對應數據結構進行權重發放,因此計算負載很小。STDP突觸采用了一種基于Hebb學習規則13的突觸權重變化機制,其中包含大量指數運算,計算負載較大。在脈沖時間相關可塑性理論中,突觸前后神經元之間的連接強度與神經元的脈沖發放時間有緊密聯系。當突觸前神經元與突觸后神經元發放脈沖時間的差為負,連接強度會增強,反之會減弱,增強與減弱的幅度與時間差的大小相關。如圖1所示在STDP的臨近脈沖配對方法14中,j為突觸前神經元,i為突觸后神經元。當神經元發射脈沖后,會觸發自身的跡運算xj(t)和yj(t),每次觸發都會改變突觸權重wij(t)。這種機制已在許多生物的神經系統中得到驗證,具有很好的生物可解釋性。式(2)~(4)對STDP突觸的更新計算進行了描述,其中,tfj、tfi表示突觸前神經元的放電時間,τx、τy是時間常數,δ為狄拉克函數,wij為突觸權重,F(wij)、F+(wij)為權重變化因子。

在神經科學領域,學習與記憶形成的行為現象被認為與突觸可塑性的生物學習規則密切相關。在實驗中為了驗證是否形成穩定的記憶,往往需要進行數小時或者數天的模擬才能捕捉到長期可塑性的時間尺度。

1.3 具有生物特性的脈沖神經網絡

具有生物特性的網絡如皮質層微電路15、多區域獼猴視覺皮層模型16等,通過模擬大腦網絡拓撲來研究神經元活動的規律。部分模型帶有STDP突觸,增加了網絡的生物可解釋性,但是為了驗證神經網絡是否形成穩定的記憶,往往需要進行數小時或者數天的模擬才能捕捉到長期可塑性的時間尺度。生物網絡具有神經元規模龐大但突觸連接概率低的特點,大多數神經元種群之間的連接概率都低于25%,這是由于在生物大腦中,神經元距離越遠連接概率越小。這種稀疏的網絡結構在分布式模擬過程中具有較大優勢,通過合理的神經元映射能進一步優化通信負載。Kumar等人17證明對低連接密度的模型進行大規模分布式模擬時,使用點對點通信能有效提升通信效率。

對于非生物網絡如使用STDP進行訓練的數字識別網絡18來說,其神經元規模在一千以下且神經元之間使用全連接的方式,與具有上萬神經元且稀疏連接的生物網絡具有較大差別,非生物網絡并不需要使用大規模分布式模擬平臺進行模擬。因此本文方法將針對具有生物特性的網絡,這也是目前分布式負載均衡方法主要針對的網絡類型。

1.4 分布式SNN模擬方式及其負載均衡問題

目前存在多種SNN模擬方法19,20分別針對軟件以及專用硬件的使用場景,在分布式系統中進行SNN軟件模擬的主流方法是時間/事件驅動模擬8,該方法將模擬過程分為多個連續的時間片,在每個時間片內進行突觸和神經元的積分計算,并且記錄當前時間片產生的脈沖事件。在當前時間片結束后進行事件的分發與接收,之后進入下一時間片的計算,如此反復,直到時間片耗盡。這種通信與計算獨立的方式充分利用程序的局部性原理,減少通信啟動次數,提高程序運行時的cache命中率,同時能有效降低CPU每執行一條指令所需的時鐘周期數。

算法1 時間/事件驅動算法

輸入:模擬時間,網絡拓撲,神經元參數,突觸參數。

輸出:神經元狀態,脈沖發射情況,突觸變化情況。

while 模擬時間gt;0:

if(有事件到來):

接收事件;處理事件;更新突觸。

while 時間片gt;0:

更新膜電位。

if(膜電位gt;閾值):

產生事件并存入事件緩沖區。

時間片=時間片-模擬步長。

end

發送事件緩沖區中事件,模擬時間=模擬時間-時間片。

end

SNN的并行模擬利用了時間/事件驅動算法中在單個時間片內神經元與突觸計算的獨立性,將一個時間片內的計算負載分散到不同進程當中。每個進程的工作流程可分為處理事件、突觸更新、神經元更新、事件通信四部分。多進程并行模擬的流程如圖2所示,處理事件階段需要接收上一輪時間片結束后發送的事件信息,此階段也會進行事件信息的解碼工作;突觸更新階段將根據事件序列的時間信息進行突觸更新計算,并根據突觸權重以及網絡拓撲把電流注入到相應神經元的膜電位中;神經元更新階段將進行膜電位的更新,膜電位超過閾值電壓時進行脈沖發放操作,產生一個事件并放入事件隊列;事件通信階段將對事件隊列中的事件進行編碼,并根據路由表把事件發送到相應進程的事件緩沖區。由于不同進程上負載分配不均衡,部分進程會提前完成處理事件、突觸計算、神經元更新,之后將等待其他進程完成相應任務后同時進行事件通信,由此會產生因計算負載不均衡引起的等待同步。

進程間進行事件通信將產生通信負載。如圖3所示,在三進程并行模擬過程中,假設神經元發射頻率一致,則進程0與進程2之間的通信負載將是進程0與進程1之間通信負載的兩倍。事件通信時,由于不同進程需要發送的數據量不同,會產生因通信負載不均衡引起的等待同步。在計算量不變的情況下,把計算負載與通信負載均勻地分布在不同進程中,便能減少進程之間的等待同步時間,加快模擬速度。圖4為在三個進程中進行一次時間片更新所用時間的示意圖。可以看出,當負載不均衡時進行一次更新所需時間由耗時最高的進程決定。當負載均衡時,可有效減少甚至消除等待同步,使總體模擬時間變少。在此過程中,計算負載的總量沒有發生變化。

2 超圖劃分算法

2.1 超圖的定義

超圖是一種廣義上的圖,在超圖中一條邊可以連接任意數量的頂點,與常見的圖類似,超圖的表示方式為H=(X,E),X是頂點的集合,E是X的非空子集的集合稱之為超邊。圖5為一個傳統超圖,X={V1,V2,V3,V4,V5,V6,V7},E={e1,e2,e3,e4}={{V1,V2},{V1,V2,V3},{V3,V4,V5},{V6}}。

2.2 使用超圖優化SNN通信

在多進程SNN模擬過程中,只有當不同進程中的神經元間有突觸連接,才會產生進程間通信,因此減少跨進程突觸連接數很大程度上就能減小通信負載。超圖已被證明可用來表示并行計算過程中的全部通信關系21,所以可將減少跨進程突觸連接數的問題轉換為基于超圖劃分的聚類問題。本文將神經元視為超圖中頂點,神經元以及與該神經元相連的突觸后神經元視為一個超邊。在四個進程上進行SNN超圖劃分的結果如圖6所示,密集的連接將被置于同一進程中,進程間的連接將減少并盡可能保持一致,通信負載減少且達到平衡。需要注意的是,超圖劃分是一個NP完全問題,所以不能保證每次劃分的結果都是最優的。

3 基于聯合權重的超圖劃分算法

3.1 聯合權重的概念

在進行超圖劃分降低通信負載的同時,也需保證計算負載的均衡,使得不同簇之間具有相近的計算負載,因此提出聯合權重的概念對計算負載進行量化。首先,為方便在多進程情景下進行STDP突觸的模擬,本文采用臨近脈沖配對法實現STDP機制。該方法使得突觸的計算和存儲位于突觸后神經元所在的進程,可以減少進程之間的通信次數,并且利用臨近脈沖配對法的特性,在考慮計算負載時可以將一個神經元的計算負載與相關突觸的計算負載視為一個集合。該集合的計算負載本文稱之為聯合權重,并將其賦給相應神經元作為該神經元的計算負載。聯合權重的劃分如圖7所示,虛線框中是該神經元聯合權重的量化范圍。如4號神經元的聯合權重由神經元的計算負載、一條STDP突觸的計算負載以及一條靜態突觸的計算負載組成。使用聯合權重進行計算負載分配時,可隱去突觸的影響,只需考慮如何合理地將神經元分配給不同進程。使用聯合權重可以很好地對網絡中的計算負載進行量化,只要保持不同進程中聯合權重總量一致,就可實現計算負載均衡。聯合權重的計算方式如式(5)所示。

Wunite(i)=∑Npre(i)S=1Spikespre(s)*tsyn(s)+Tn(i)(5)

其中:Wunite(i)是第i個神經元的聯合權重;Npre(i)是第i個神經元所擁有的突觸的入度可通過網絡拓撲獲取;Spikespre(s)為第s個突觸的脈沖發射次數可通過模式時間計算得出;tsyn(s)為第s個突觸進行一次計算的計算負載;Tn(i)為第i個神經元的計算負載。

3.2 SNN模擬時間建模

為得到聯合權重的準確參數,需對模擬過程進行建模,得到計算負載、通信負載、脈沖發射頻率到模擬時間的映射關系。SNN的模擬時間Ttotal由式(6)給出:

其中:MAXi∈I[timecalculate(i)]表示進程集合I中計算負載的最大值;MAXi∈I[timecomm(i)]表示進程集合I中通信負載的最大值;SimTime是模擬的時間;TimeSlice表示時間片的大小。每個進程的計算時間Tcalculate可分為神經元計算時間Tn和突觸計算時間TS

式(8)(9)對式(7)中的Tn和TS進行了詳細解釋。在式(8)中,Nn是神經元的數量,dt是最小的模擬步長,本文統一為10步,每步0.1 ms。Spikes(i)、RefSteps(i)分別表示i號神經元的脈沖發放次數與不應期步長,其中不應期固定為15步。神經元更新時有普通膜電位更新、不應期更新、脈沖發放更新三種狀態,i號神經元每種狀態的單步更新耗時,分別用tnormal(i)、tref(i)、tspike(i)表示。在式(9)中,NS為突觸的數量,Spikespre(i)為i號突觸的突觸前神經元脈沖發射數,tsyn(i)為i號突觸進行一次計算的時間。

3.3 聯合權重所解決的問題

由于計算負載難以量化,現有的負載均衡算法9~12選擇簡單的計算負載均衡方式,即忽略突觸的計算負載且將所有神經元的計算負載視為相同,使不同進程中具有同等的神經元數以達到計算負載均衡。但在帶有STDP突觸的網絡中,突觸計算負載隨著脈沖發射頻率的上升以及網絡規模的增大將會逐漸占據計算負載的主導地位,對突觸變化的模擬會持續數小時甚至數天14,此時忽略突觸計算負載以神經元數量來定義總體計算負載將會出現圖4所示的負載不平衡問題。本文提出的聯合權重建模方法將突觸計算負載與神經元計算負載同時考慮在內,使用聯合權重精確表示網絡運行過程中的計算負載,解決計算負載難以量化的問題。在聚類時只要保證不同進程中聯合權重大小相同就能做到進程間計算負載均衡。聯合權重建模方法理論上可以對任何類型的突觸與神經元建模,與用神經元數量代表計算負載的方式相比精確度更高,效果更好。

3.4 基于聯合權重的超圖劃分

將SNN轉換為超圖,同時將神經元的聯合權重表示為該神經元節點的權重,可得到節點上帶有聯合權重的超圖。最后對其進行超圖劃分,便可保證劃分過后不同簇中計算負載均衡,與此同時不同簇之間的通信負載也達到均衡。傳統的超圖劃分算法直接對圖進行整體劃分,算法運行時間長且劃分效果欠佳。本文決定使用hmetis22超圖劃分算法對帶有聯合權重的超圖進行劃分。hmetis算法通過折疊頂點和邊劃分出較小的超圖,然后對其進行粗化以構造初始超圖的分區,該方法能夠為各種超圖快速構建高質量的分區。結合hmetis的聯合權重超圖劃分算法執行過程如算法2所示。

算法2 聯合權重超圖劃分算法

輸入:超圖G0,包含每個神經元聯合權重的數組W,需要劃分的區塊數k,粗化的最小超邊數Min_Edge;允許劃分的最大不平衡系數un_b。

輸出:神經元分配表result。

粗化階段:

Merge_flag=0,G=G0//初始化

G_sit.push(G0)//存儲細超圖

node_size=H_node(G)//獲取超圖G的超邊數

while(node_sizegt;Min_edge):

for H_Edge_a in H_Edge_sit(G,1,node_size)/*在超圖G中從1開始遍歷超邊*/

for H_Edge_b in H_Edge_sit(G,H_Edge_a+1,node_size):

if (Have_intersction(G,H_Edge_a,H_Edge_b)):/*如果

在超圖G中H_Edge_a與H_Edge_b中的頂點有交集*/

insert(G,H_Edge_a, H_Edge_b)/*將H_Edge_a加入

H_Edge_b*/

node_size=node_size-1//超邊數減少

end

for H_Edge in H_Edge_sit(G,1,node_size):

Merge_flag=Merge(G,H_Edge)/*將超邊中具有同一祖先節點樹狀結構的未操作的頂點融合為一個頂點,如存在融合操作則返回1*/

if (Merge_flag==0):

break

G_sit.push(G)

初始劃分:

Edge_sit=Pmetis(G,k,W)/*將圖G遞歸劃分為k個聯合權重平衡的區域作為初始分區,返回k-1個劃分邊集合,每個劃分邊集合中存儲與該劃分邊相接的頂點集合*/

細化階段:

while(G=G_sit.pop and G!=1):/*從粗超圖開始,逐步解放細超圖中部分節點*/

for Edge_i in Edge_sit: //選取一個劃分頂點集

point_sit=Uncoarsening(G,Edge_i)。/*按G細化(解放)邊

界頂點*/

for point_j in point_sit:

total_step=point_sit.size//最大移動次數

moved=0//記錄FM算法移動次數

while移動后兩邊的計算負載不超過不平衡系數un_b

result=FM(Edge_i,point_j)。/*使用FM算法移動頂點,

更新劃分結果*/

moved=moved+1

if (movedgt;total_step)://所有點移動過后退出

break

end

end

圖8與9對基于聯合權重的超圖劃分粗化與細化過程進行了描述。在粗化階段對超邊進行收縮,使得大超圖變為小超圖。當超圖中的超邊數足夠用簡單的算法進行劃分時,收縮停止。本文所用方法對超圖進行粗化后剩下的超邊數為10左右。在小超圖上進行超圖劃分后進入細化(去粗化)階段。逐層解放之前收縮后的小超圖,用啟發式算法進行分區優化。本文所用方法是FM(Fiduccia-Mattheyses)算法。在對帶有聯合權重的超圖進行劃分時,可以設置進程間聯合權重的不平衡容忍度,本文容忍度設置為5%。實驗發現,隨著進程數的增加,容忍度適當放大將帶來更好的表現。

3.5 神經元分配算法的實現流程

神經元分配算法應在創建神經元實體之前執行,執行完成后將生成神經元到進程的映射表。每個進程會根據映射表實例化相應的神經元與突觸。之后根據網絡拓撲創建當前進程

的事件路由表,為進程間事件通信做準備。所有數據結構創建完成后,開始進行時間/事件模擬,直到模擬時間結束,具體流程如圖10所示。

4 實驗與分析

為解決SNN在分布式模擬過程中的負載均衡問題,加快網絡的模擬速度。本章將多種負載均衡算法在多進程并行平臺上的執行效果進行了對比,證明了使用聯合權重超圖劃分算法可以有效平衡計算負載與通信負載,提高模擬速度。同時測試使用不同算法后,進程之間通信量的變化和跨進程鄰邊通信數量,證明了使用本文方法可以降低通信負載。考慮到并非所有科研工作者都能輕松接觸以及使用超級計算機和專用類腦芯片,因此采用通用計算機作為實驗平臺,研究的成果同樣也能應用于集群或其他分布式硬件平臺。本文使用的模擬器以及相關算法已在GitHub開源https://github.com/yourssmile/FreeSNN。

4.1 實驗平臺

本文的實驗平臺為通用服務器,具有兩塊12核的intel_Xeon_E5-2650_v4處理器,64 GB內存,1 TB儲存。

4.2 基準測試模型

為了保證網絡模擬過程中神經元的活性,所有Benchmark的神經元脈沖發射頻率被維持在10~12次/s。屬于較高發射頻率,會帶來較大的通信負載,有利于驗證神經元分配算法的有效性,這種控制神經元發射頻率的策略在文獻[23]中被證明是有效的。Morrison等人14說明了具有數千個神經元的中型網絡被用于全球大多數理論和建模的研究。因此本文Benchmark神經元規模控制在一萬左右,使實驗結果更具實用價值,每個Benchmark運行10次之后選取平均值作為結果。

4.2.1 Benchmark1混合突觸皮質層微電路模型

Potjans等人15提出了一種皮質微電路模型,該模型是平衡隨機網絡的拓展模型。其采用分層結構,遵循平衡隨機網絡的構建原則。Landau等人24進一步研究了皮質微電路平衡網絡的本質,只要網絡中的總體電流滿足式(10)中的平衡條件,網絡的活動就能保持穩定。其中kAE表示從興奮性種群E到目標種群A的平均入度,JAE表示從興奮性種群E到目標種群A的平均突觸強度,rE表示興奮性種群E的平均脈沖發射率, I與O分別表示抑制性種群與外部刺激。

kAEJAErE+kAIJAIrI+kAOJAOrO≈0(10)

文獻[23,25,26]對平衡網絡理論進行了深入研究,提出一種帶有STDP突觸的全連接平衡隨機網絡。STDP突觸對神經元發射速率的擾動具有良好的反饋機制,能夠對網絡中的不平衡因子進行突觸變化上的補償。本文結合STDP突觸的優勢以及皮質微電路網絡的生物可解釋性,提出了一種混合突觸的皮質微電路模型。該模型在皮質微電路模型的基礎上把部分靜態突觸替換為STDP突觸,保證網絡平衡的同時,增加了網絡負載的不確定性。網絡拓撲如圖11(a)所示,給SNN的負載均衡帶來了挑戰。該網絡包含約7.7 k個神經元以及300萬個突觸,進行500 ms的模擬。

4.2.2 Benchmark2高性能計算基準測試

高性能計算基準測試23是一個帶有STDP突觸和靜態突觸的隨機平衡網絡,網絡中有興奮性種群和抑制性種群,兩個種群的神經元比例是4∶1,突觸權重比例是1∶-4。該網絡滿足式(10)的平衡條件,網絡拓撲如圖11(b)所示。采用種群之間全連接方式,這樣的連接方式使得網絡中的STDP突觸與靜態突觸是規律排列的,理論上標準的神經元循環分配算法就可實現負載均衡。網絡包含11 250個神經元以及1億多個突觸,進行500 ms的模擬。

4.3 基于稀疏通信的數據傳輸方式

Jordan等人27在NEST模擬器中使用的進程間通信方式是主流的集體通信,這種方式的優點在于方便實現。在全連接的網絡中,任意兩個進程之間會存在大量跨進程突觸,因此集體通信的方式在此情景下不會有明顯的弊端。但集體通信方式在分布式模擬中,隨著進程數量的增多通信量將成倍增加。在強縮放實驗中并行進程數上升到一定量后,通信負載將在模擬過程中占據主導地位,計算負載甚至可以忽略不計,因此集體通信方式限制了平臺以及模擬器的伸縮性。在神經元連通度較低的生物網絡中,進程之間存在較少的跨進程突觸,使用集體通信的方式會增加不必要的通信負載。對于稀疏連接網絡,使用點對點通信與單邊通信這類稀疏通信方式能有效降低通信量。圖12展示了三個進程相互通信的例子,進程0、1、2需要把自身的數據發送到對應進程中,使用稀疏通信只需傳遞四份數據,而集體通信則需傳輸九份數據,并且兩者之間的差距會隨著進程增多而成倍增加。圖13對比了不同進程數下,稀疏通信與集體通信數據量的不同,在10%規模的皮質層微電路模型上使用稀疏通信方式之后,與集體通信相比可以降低90%以上的通信量。因此本文模擬器采用單邊通信方式實現進程間的數據傳輸。

4.4 模型參數初始化

在進行基于聯合權重的超圖劃分前,需對輸入信息初始化。其中超圖G0根據輸入網絡的拓撲結構構建;神經元聯合權重的數組W根據式(5)構建,式中tsyn(s)與Tn(i)由于計算量相對固定將呈現恒定的比例關系r=Tn(i)/tsyn(s)。由于靜態突觸的計算負載在數據結構優化較好的情況下可以忽略,所以實驗中tsyn(s)只代表STDP突觸的計算負載,將其初始化為1以此作為聯合權重的單位,該值的大小不會對實驗結果產生實質影響;Tn(i)初始化為tsyn(s)*r;圖14對不同規模與進程數下的比例關系r進行了測試,實驗結果與理論一致即r具有穩定性,因此文本將r初始化為50;Spikespre(s)代表了網絡的平均活躍程度,在平衡網絡中具有穩定性,本文使用的平衡網絡脈沖發射頻率約11次/s,因此將其初始化為11;需要劃分的區塊數k與進程數保持一致;粗化的最小超邊數Min_Edge在hmetis中固定為10,因為在該數量級能快速進行劃分;允許劃分的最大不平衡系數un_b過大會造成進程間計算負載不平衡,過小會極大增加算法執行成本,所以依據圖15的實驗結果與實際需要將其初始化為5%,圖中變異系數代表了不同進程之間實際的不平衡程度,時間為運行一次Benchmark1的超圖劃分需要的時間。

4.5 現有負載平衡算法對比

現有的負載均衡分配算法大多是為特定平臺服務,用于解決特定問題,如最低能量映射方法7針對神經形態硬件進行功耗優化;譜聚類算法(SNN-SA-PP)9針對Spinnaker硬件,解決該硬件平臺上六邊形單向通信的數據沖突問題。不同算法所依托的模擬方式也有較大差異,綜合上述原因對適用于不同平臺的不同算法進行定量對比十分困難且實際意義有限。

本節在表1中對最新負載均衡算法及其所解決的負載均衡問題進行了羅列與比較。針對本文想解決的大規模分布式平臺的負載均衡問題將在下一小節對部分適用于分布式平臺的算法進行定量對比與分析。

4.6 負載平衡算法結果對比與分析

為驗證本文方法的效果,本節在不同進程數下運行了多個Benchmark,從運行結果以及各進程的負載情況中分析影響負載均衡的因素。

4.6.1 不同進程數下不同算法的表現

為了量化進程間計算負載的不平衡性,同時消除不同數據規模對量化結果的影響。本文將進程間計算負載的變異系數稱為計算不平衡因子CV=σ/μ。不平衡因子越低,進程間的計算負載越平衡。程序的總體計算時間由所有進程中計算時間最長的進程決定,用Max(Ttotal)表示。

表2將不同算法在不同進程數下的表現進行了對比,從CV值上可以看出,聯合權重超圖劃分算法有效降低了不同進程之間的計算負載不均衡,從總體運行時間上來看本文算法在不同進程數下都具有優勢。表3與4為Benchmark1擴大實驗,神經元規模分別擴大為140%與200%,隨著Benchmark1規模的增大,基于聯合權重的超圖劃分效果更加顯著。使用本文算法能平衡進程之間的計算負載與通信負載,不同情況下使用聯合權重超圖劃分的不平衡因子都在0.05以下。隨著進程數的增加,模擬時間的減小幅度趨于平穩。這是由于進程數的增加會提高通信負載,過多的進程數反而會增加總體模擬時間。在Benchmark1中,進程數為16時已經接近并行度的極限,所以增加更多的進程并不會顯著減少模擬時間。

Benchmark2使用的連接方式是全連接,每個神經元都是其他神經元的突觸后神經元,同時也是其他神經元的突觸前神經元,所以無論哪種神經元分配方式都無法減少進程之間的鄰邊通信。同時,由于STDP突觸是規律分布的,在11 250個神經元中,前9 000個神經元具有STDP突觸連接,有較大的突觸計算負載,后2 250個神經元只有靜態突觸連接,有較小的突觸計算負載。因此Benchmark2計算負載的分布十分平衡,簡單推導后可得使用循環分配算法就能達到最好的負載平衡效果。當把SNN看成超圖時,進程之間無論如何劃分都具有相同的超邊切割數量。于是超圖劃分算法使用了平均分配的方式,基于聯合權重的超圖劃分也采用了平均分配方式。三種神經元分配方式在Benchmark2中都達到理論最優解。Benchmark2結果如表5所示。

為了驗證算法的魯棒性,在更小規模的Benchmark中使用8進程進行網絡模擬測試。表6中采用的Benchmark分別是80%、50%、30%規模下的Benchmark1和VAbenchmark15。VAbenchmark具有3 200個興奮性神經元以及800個抑制性神經元,興奮與抑制群落之間采用概率連接。

在不同規模的Benchmark實驗中,使用基于聯合權重的超圖劃分算法需要的模擬時間最少,并且網絡規模越大,本文算法的優勢越明顯。

4.6.2 不同算法的通信時間對比

通信時間包括數據準備時間與數據傳輸時間。在模擬過程中,進行一輪時間片更新之后需要等待所有事件都發送到突觸后神經元所在的進程才能進行下一輪時間片更新。先完成計算的進程會在事件通信階段等待其他進程完成計算,從而產生通信等待時間。通信等待時間是在計算負載不平衡時影響模擬時間的主要因素。Benchmark1、Benchmark2通信消耗對比如圖16和17所示。

在Benchmark1中采用循環分配以及超圖劃分算法會產生大量的通信等待時間。使用基于聯合權重的超圖劃分算法之后,計算開銷得到平衡,通信等待時間減少,整體通信開銷顯著降低。在Benchmark2中,盡管循環分配算法是最優解,超圖劃分以及基于聯合權重的超圖劃分算法也能達到與循環分配一樣的效果。說明即使在負載均勻分配的全連接網絡中,本文方法也能達到較好效果。

Benchmark1中使用不同算法進行神經元分配之后,不同進程數下的跨進程突觸數變化情況在圖18中進行了描述。跨進程突觸數越多,通信負載越大。隨著進程數量的增多,跨進程的突觸數也在增加。本文算法與循環分配算法相比,在不同進程數下都可以有效減少跨進程的突觸數,降低通信負載。

4.7 神經元分配算法的時間開銷

循環分配算法由于不需要計算,只需要根據神經元編號進行進程分配,所以幾乎不消耗時間。在給具有近十萬個神經元的網絡進行超圖劃分時,超圖分配算法的時間開銷在10 s左右,基于聯合權重的超圖分配算法的時間開銷在15 s左右。神經元分配算法的時間開銷與動輒數小時甚至數天的模擬時間相比可以忽略不計。

4.8 本文算法的適用場景

在對具有生物特性的SNN進行模擬時,本文算法能發揮最好的效果。當集群的規模擴大到上千,通信負載成為瓶頸,此時可以通過增加進程間負載不均衡容忍度的方式,突出通信負載對超圖劃分結果的影響。

5 結束語

本文對常見的SNN模擬算法以及神經元分配算法進行了詳細的分析與比較,提出一種適合在大中型規模的多進程情景下使用的SNN神經元分配算法。在稀疏網絡中,與循環分配算法(模擬器中的標準分配算法)相比模擬時間顯著減小。在全連接網絡中,與理論最優的循環分配算法模擬時間相同,充分說明了基于聯合權重的超圖劃分算法對于不同條件下的網絡模型都有很強的適應性。研究發現在進行多進程SNN模擬時,通信成本會隨著進程數的增加而顯著提高。在之后的工作中本課題組會繼續改進模擬器的通信方式,為不同拓撲結構的網絡選擇不一樣的通信方式,自適應降低通信延遲,提高模擬器的可伸縮性,提升強縮放性能。

參考文獻:

[1]Poo M, Ming M, Du Jiulin, et al. China brain project: basic neuroscience, brain diseases, and brain-inspired computing[J].Neuron,2016,92(3):591-596.

[2]Markram H. The human brain project[J].Scientific American,2012,306(6):50-55.

[3]Ma De, Shen Juncheng, Gu Zonghua, et al. Darwin: a neuromorphic hardware co-processor based on spiking neural networks[J].Journal of Systems Architecture,2017,77(6):43-51.

[4]Furber S B, Galluppi F, Temple S, et al. The Spinnaker project[J].Proceedings of the IEEE,2014,102(5):652-665.

[5]栗學磊,朱效民,魏彥杰,等.神威太湖之光加速計算在腦神經網絡模擬中的應用[J].計算機學報,2020,43(6):1025-1037.(Li Xuelei, Zhu Xiaomin, Wei Yanjie, et al. Application of Sunway taihulight accelerating in brain neural network simulation[J].Chinese Journal of Computers,2020,43(6):1025-1037.)

[6]Kulkarni S R, Parsa M, Mitchell J P, et al. Benchmarking the performance of neuromorphic and spiking neural network simulators[J].Neurocomputing,2021,447:145-160.

[7]Titrsha T, Song Shihao, Balaji A, et al. On the role of system software in energy management of neuromorphic computing[C]//Proc of the 18th ACM International Conference on Computing Frontiers.New York:ACM Press,2021:124-132.

[8]Kunkel S, Schmidt M, Eppler J M, et al. Spiking network simulation code for petascale computers[J].Frontiers in Neuroinformatics,2014,8:78.

[9]Urgese G, Barchi F, Macii E, et al. Optimizing network traffic for spiking neural network simulations on densely interconnected many-core neuromorphic platforms[J].IEEE Trans on Emerging Topics in Computing,2016,6(3):317-329.

[10]Song S, Varshika M L, Das A, et al. A design flow for mapping spiking neural networks to many-core neuromorphic hardware[C]//Proc of IEEE/ACM International Conference on Computer Aided Design.Piscataway,NJ:IEEE Press,2021:1-9.

[11]劉俊秀,黃星月,羅玉玲,等.脈沖神經網絡硬件互連系統的動態優先級仲裁策略[J].電子學報,2018,46(8):1898-1905.(Liu Junxiu, Huang Xingyue, Luo Yuling, et al. Dynamic priority arbitration strategy for interconnections of hardware spiking neural networks[J].Acta Electronica Sinica,2018,46(8):1898-1905.)

[12]Fernandez M C, Coca D, Richmond P, et al. Communication sparsity in distributed spiking neural network simulations to improve scalability[J].Frontiers in Neuroinformatics,2019,13:19.

[13]Hebb D O. The organization of behavior: a neuropsychological theory[M].New York:Psychology Press,2005.

[14]Morrison A, Diesmann M, Gerstner W. Phenomenological models of synaptic plasticity based on spike timing[J].Biological Cyberne-tics,2008,98(6):459-478.

[15]Potjans T C, Diesmann M. The cell-type specific cortical microcircuit: relating structure and activity in a full-scale spiking network model[J].Cerebral Cortex,2014,24(3):785-806.

[16]Schmidt M, Bakker R, Hilgetag C C, et al. Multi-scale account of the network structure of macaque visual cortex[J].Brain Struct and Funct,2018,223(3):1409-1435.

[17]Kumar S, Heidelberger P, Chen Dong, et al. Optimization of applications with non-blocking neighborhood collectives via multisends on the blue gene/p supercomputer[C]//Proc of IEEE International Symposium on Parallel amp; Distributed Processing.Piscataway,NJ:IEEE Press,2010:1-11.

[18]Masquelier T, Thorpe S J. Unsupervised learning of visual features through spike timing dependent plasticity[J].PLoS Computational Biology,2007,3(2):e31.

[19]Tsodyks M, Mitkov I, Sompolinsky H. Pattern of synchrony in inhomogeneous networks of oscillators with pulse interactions[J].Physical Review Letters,1993,71(8):1280-1283.

[20]Pillow J W, Ahmadian Y, Paninski L. Model-based decoding, information estimation, and change-point detection techniques for multineuron spike trains[J].Neural Computation,2011,23(1):1-45.

[21]Deveci M, Kaya K, Ucar B, et al. Hypergraph partitioning for multiple communication cost metrics: model and methods[J].Journal of Parallel and Distributed Computing,2015,77:69-83.

[22]Karypis G, Kumar V. A fast and high quality multilevel scheme for partitioning irregular graphs[J].SIAM Journal on Scientific Computing,1998,20(1):359-392.

[23]Senk J, Kriener B, Djurfeldt M, et al. Connectivity concepts in neuronal network modeling[J].PLoS Computational Biology,2022,18(9):article ID e1010086.

[24]Landau I D, Egger R, Dercksen V J, et al. The impact of structural heterogeneity on excitation-inhibition balance in cortical networks[J].Neuron,2016,92(5):1106-1121.

[25]Wardak A, Gong P. Fractional diffusion theory of balanced heterogeneous neural networks[J].Physical Review Research,2021,2021,3(1):article ID 013083.

[26]Morrison A, Aertsen A, Diesmann M. Spike-timing-dependent plasticity in balanced random networks[J].Neural Computation,2007,19(6):1437-1467.

[27]Jordan J, Ippen T, Helias M, et al. Extremely scalable spiking neuronal network simulation code: from laptops to exascale computers[J].Frontiers in Neuroinformatics,2018,12:2.

主站蜘蛛池模板: 久久免费观看视频| 久久精品国产亚洲麻豆| 在线观看欧美国产| 91亚洲精品国产自在现线| 国产欧美日韩在线一区| 欧美成人手机在线观看网址| 尤物精品视频一区二区三区| 无码专区在线观看| 欧美国产三级| 老熟妇喷水一区二区三区| 自拍偷拍欧美日韩| 91久久国产综合精品| 成人午夜视频网站| 久青草免费在线视频| 色噜噜综合网| 99久久精品国产麻豆婷婷| 亚洲天堂区| 国产内射一区亚洲| 欧美色亚洲| 久久无码高潮喷水| 国产亚洲美日韩AV中文字幕无码成人 | 国产福利微拍精品一区二区| 国产区福利小视频在线观看尤物| 国产自在自线午夜精品视频| 69av免费视频| 国产亚洲精品91| 亚洲视频无码| 亚洲无码免费黄色网址| 在线无码av一区二区三区| 九色视频一区| 狼友视频国产精品首页| 一区二区午夜| 日本国产在线| 欧美第一页在线| 国产香蕉国产精品偷在线观看| 精品伊人久久久大香线蕉欧美| 精久久久久无码区中文字幕| 在线观看91精品国产剧情免费| 国产成人综合久久精品下载| 国产96在线 | 亚洲一区二区三区国产精品| 91国内在线观看| 亚洲IV视频免费在线光看| 成人毛片在线播放| 亚洲精品动漫在线观看| 亚洲日本中文综合在线| 免费看黄片一区二区三区| 国产男女XX00免费观看| 毛片免费试看| 亚洲成aⅴ人在线观看| 国产精品九九视频| 国产人成在线观看| 一区二区偷拍美女撒尿视频| 97超级碰碰碰碰精品| 国产大全韩国亚洲一区二区三区| AⅤ色综合久久天堂AV色综合 | 亚洲免费黄色网| 国产在线观看第二页| 国产精品大尺度尺度视频| 欧美亚洲另类在线观看| 久久无码av三级| 2021国产精品自拍| 国产成人精品免费av| 亚洲黄色激情网站| 日本久久网站| 国产精品视频久| 亚洲大尺码专区影院| 欧美在线免费| 久久永久精品免费视频| 日本国产精品| 亚洲精品成人片在线观看| 亚洲手机在线| 制服丝袜一区二区三区在线| 91丨九色丨首页在线播放| 国产成本人片免费a∨短片| 不卡无码h在线观看| 欧美一级99在线观看国产| 亚洲嫩模喷白浆| 欧美全免费aaaaaa特黄在线| 成人国内精品久久久久影院| 99er这里只有精品| 国产无码制服丝袜|