A Load Balanced Mapping for Spiking Neural Network
——————————————————————————————————————
-
發表時間——2017.2
-
作者——Yande Xiang,浙江大學(沒找到這位教授);孟建熠 復旦大學;DeMa 杭州電子科技大學
-
摘要——片上網絡(NoC)爲尖峯神經網絡(SNN)提供可擴展的基於分組的互連架構。 然而,現有的神經映射策略僅將羣體中的所有神經元按順序分佈到片上網絡核心或附近核心。 羣體中的神經元需要花費大量時間來處理尖峯,這導致不同的片上網絡節點之間的工作負載分佈不均勻。本文提出了一種基於NoC的SNN映射,可以在不同節點之間實現工作負載平衡,旨在加快應用程序執行時間。 實驗結果表明,所提出的映射策略將應用程序執行時間平均縮短了24%。
——————————————————————————————————————
——————————————————————————————————————
1、介紹
爲了降低神經元間通信的成本,許多基於NoC的SNN將規模數量的神經元組合到同一網絡節點中,該網絡節點也被視爲神經陣列。與現代電子操作頻率相比,神經元傾向於以相對慢的速率(上限爲1KHz)起作用。
因此,時分複用技術用於使單個處理元件處理許多不同的神經元。
在現有的神經系統中,當膜電位超過閾值電位值時,神經元將神經參數更新爲接收尖峯併發出尖峯。 至於神經元,處理輸入尖峯比處理接收尖峯需要更多時間。 這項工作引入了一個負載平衡的神經映射方法,旨在減少應用程序執行時間。 它將接收相同的突觸前尖峯的神經元均勻地分配給NoC節點,以平衡每個神經節點的工作負荷。
2、相關工作
基於NoC的SNN神經映射策略與 MPSoC映射方案十分相似。
MPSoC:static mapping and on-line mapping。
(1)TrueNorth:total weighted wirelength between neurons are taken as the main concer of mapping。[1]
(2)SpiNNaker:It uses a sequential mapping scheme which combines continuous neurons into one population。[2]
即:populations之間沒有聯繫,並且同一個population中的不同神經元被分佈到一個片上網絡節點或附近節點。基於神經羣體(neural poplulations)映射方法,又有人提出了不同的方案來優化性能,如:
J. Yu, et al [3] present a swap strategy to reduce congestion. The mapping method makes populations fagmented and swaps neurons with each
other in populations with various active degrees so as to obtain a
balanced distribution.
N. P. Mand, et al [4] consider minicolumn as basic fnctional and anatomical element which consists of 100 neurons and is mapped to each
core.
Y. Done,et al. [5] proposed a mapping strategy for neural network onNoC, which maps neurons layer by layer but different layers’neurons
cannot be placed into the same PE.
這些方案在population內部的通信效率很高,但在處理不同節點之間的負載平衡方面效果不理想。
3、背景和動機
應用IF模型,神經元映射策略例:
這種方法存在的問題是:當某個population接收到尖峯,在這個population的神經元採用時分複用實現的情況下,節點內部需要較多的執行時間。整個執行時間很不均衡。
在這種情況下,作者提出了負載均衡的辦法:每一個population被劃分成幾個部分,並統一地實現到NoC的節點上,當尖峯通過突觸傳遞給很多神經元時,尖峯的計算量可以分佈到不同的節點上。
4、提出的神經映射策略
-
2Dmesh網格被分成了很多個cluster,每個cluster禮裏面都含有若干個片上網絡節點。每個節點包括Router、DMA單元、神經陣列、本地存儲器及NI接口。如圖:
我們有若干個populations,分別爲,每個populations內的神經元都是編號連續的
具體的映射方案是(每個節點可以含多個神經元的映射): -
在每個cluster內部:
(1)將中的映射到片上網絡的某一個節點中(綠色的起始節點),再將中的映射到相鄰的下一個節點……以此類推,直至將中的全部神經元都映射到lcluster的節點中。
(2)將中的映射到片上網絡的綠色的起始節點,再將中的映射到相鄰的下一個節點……以此類推,直至將中的全部神經元都映射到lcluster的節點中。
(3)在每個節點映射一個神經元之後,剩餘的神經元再次從第一個節點映射。
如果這個cluster無法實現所有神經元的映射,則該過程將繼續,直到所有節點都填充了映射的神經元,並且剩餘的神經元被映射到其他cluster中。
-
在cluster外部:
映射過程從初始映射cluster開始。在初始映射cluster的節點填充映射神經元之後,選擇第二個cluster用於映射剩餘的神經元。 爲了減少神經元間通信成本,從附近的cluster中選擇第二個cluster。以此類推。
如果在邊界區域內沒有可用於映射神經元的資源,則增加一跳,往外拓展。
5、實驗和討論
將所提出的方法應用於手寫數據識別和邊緣檢測,來檢驗性能。
對比:在不同最大實現神經元數的條件下,包括在每個節點含64,96,128,160,192,224和256個神經元的核中評估結果。 並將基於傳統populations的神經映射結果,用作實驗中的參考。
結果:(1)兩個應用都有比往常方法更好的性能,即更短的運行時間。(2)實驗還表明,當每個cluster中含有9個nodes時,性能最好。
6、總結
NoC爲大規模尖峯神經互連提供了一個可擴展的基於分組交換的基礎設施。本文介紹了基於NoC的SNN的負載均衡映射策略。 建議的映射方法不是將一個羣體的神經元分配到一個片上網絡節點,而是將每個羣體分成幾個部分,旨在平衡每個節點的工作量。 因此,可以減少應用程序執行時間。 這兩種常用的神經網絡拓撲結構用於評估所提出的神經映射方法的效率。 結果表明,映射策略分別在手寫數字識別和邊緣檢測應用中將執行時間平均縮短了29.14%和18.86%。
————————————————————————————————————————
參考文獻
- [1] F. Akopyan et al., 'TrueNorth: design and tool flow of a 65 mW I million neuron programmable neurosynaptic chip," IEEE Trans. Comput-Aided Des. Integr. Circuits Syst., 34 (10), pp. 1537-1557, 2015.
- [2] E. Painkras et al., “SpiNNaker: a I-W 18-core system-on-chip for massively-parallel neural network simulation,” IEEE J. Solid-State Circuits,48 (8),pp. 1943-1953,2013.
- [3] J. Yu, Z. Youhui, L. He, and Z. Weimin, “Optimized mapping spiking neural networks onto network-on-chip,” in lCS3PP,2016.
- [4] N. P. Mand, F. Robino, and J. Oberg, “Artifcial neural network emulation on NOC based multi-core FPGA Platform,” in NORCHTP,2012.
- [5] Y. Dong, et al., “High performance and low latency mapping for neural network into network on chip architecture,” in IEEE 8th International Conference on ASIC,2009.
————————————————————————————————————————