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.
————————————————————————————————————————