Optimized Mapping Spiking Neural Networks onto Network-on-Chip

Optimized Mapping Spiking Neural Networks onto Network-on-Chip

————————————————————————————————————————

  • 發表時間:2016年

  • 作者:
    Yu Ji:清華大學計算機科學與技術學院,教授。
    張悠慧:清華大學計算機科學與技術學院,教授。主要研究方向:高性能處理器微體系結構、類腦計算與神經形態芯片、類腦計算系統軟件
    以及Weimin ZHENG、He Liu等

  • 摘要:將脈衝神經網絡映射到片上網絡(NoCs)是充分利用專用多核處理器(CMPs)硬件資源進行SNNs仿真的關鍵。本文從體系結構評估的角度提出了一種映射框架。在此框架下,我們提出了兩種相應的策略:第一種策略傾向於將高度溝通的任務放在一起。二是相反的,針對SNN的特點,根據神經元的活動程度,實現神經元的均衡分佈。 對於通信密集且不平衡的snn,該算法可以較好地緩解NoC擁塞,提高仿真速度。這個框架還包含一個定製的NoC模擬器來評估映射策略。結果表明,我們的策略可以達到更高的仿真速度(高達1.37倍),能耗的降低或提高非常有限。

————————————————————————————————————————


————————————————————————————————————————

1. 介紹

  一方面,具有片上網絡(NoC)的多核處理器(CMP)具有與神經網絡類似的一些特性,是神經網絡仿真的一個很有前景的平臺。另一方面,神經網絡通常包括大量神經元,它們之間具有複雜的連接方案,這與普通NoC有很大不同。
  因此,設計一種用於將生物模擬網絡分配到硬件上的優化映射方法是一個重要的主題。

  • 神經網絡映射面臨的挑戰:
    (1)每個神經元通常與許多其他神經元相連,在模擬神經元的節點之間可能發生大量的一對多通信。 相比之下,常見的NoC往往具有一對一和一對多的連接。 因此,必須保持和有效利用關於神經元連通性的大量信息。
    (2)滿足時間約束是另一個問題。 SNN已將峯值的到達時間納入模型中。 但是普通的NoC通常採用分組交換技術,因此共享資源可能導致傳輸延遲的不必要變化,這可能會影響SNN操作的準確性。(這句話是什麼意思?)

  • 神經網絡映射存在的優勢:
    (1)它們顯示了局部性質,即:同質的神經元集合(稱爲一個population)傾向於密集地連接附近的population。(Projection:兩個population之間的單個連接束)
    (2)神經元傾向於以相對較慢的速度發放脈衝(以Hz爲單位,上限爲1000Hz),而現代電子設備的工作頻率爲千兆赫(GHz)。因此,時分多路複用可以使單個處理節點或通信通道同時處理多個不同的神經元或連接。

本文完成的主要工作:
(1)構造了一個映射框架,並指出:在不同的輸入條件下,同一神經元population的活動程度是相似的。
(2)通過該框架,分析了現有的一些映射策略,指出:任何一個峯值的傳輸都應該在一個SNN週期內完成,以避免在仿真速度相當高的情況下,峯值的最大傳輸延遲急劇增加。
(3)提出了兩種映射策略:一,使用Kernighan-Lin (KL)算法將高強度通信的任務放在一起。二、反向優化,針對SNN特徵,根據活躍程度實現神經元的均衡分佈。(在這裏,神經元的活躍程度被定義爲單位時間內它的尖峯的平均數量。)

2. 相關工作

————【神經形態芯片和網絡映射】現有的,利用超大規模集成電路(VLSI)技術對SNN進行了大量的仿真研究:

  • TrueNorth [1, 2] is a digital neuromorphic chip produced by IBM;
  • Neurogrid [3] is a brain-inspired analog/digital hybrid system;
  • SpiNNaker [4]’s hardware is based on the CMPs of ARM cores;
  • Dimitrios et al. [5] presented the optimal mapping of a biologically accurate neuron simulator on the Single-Chip Cloud Computer (SCC).

————【NoC的應用映射算法】在應用到NoC映射算法方面,已有許多研究。他們的原則通常是相似的:一些算法被用來將高度通信的任務映射到彼此之間,然後使用一些啓發式算法進行優化。

  • Zhu et al. [6] explored opportunities in optimizing application mapping for channel-based on-chip networks, based on the Kernighan-Lin (KL) algorithm. ;
  • Others include Sahu et al. [7], KLMAP [8], Tosun et al. [9], etc

3. 設計框架

本節首先介紹了體系結構評估的兩個基本要素:
(1)介紹瞭如何繪製多個目標應用(即SNNs)的模型和運行軌跡,以及特徵分析;
(2)設計並實現了爲SNN定製的相應的NoC模擬器。此外,還分析了現有映射策略的侷限性。

3.1 脈衝神經網絡的軟件仿真

  從應用廣泛的SNN軟件仿真工具Nest(NEural Simulation Tool)和Nengo中提取了11個典型的SNN模型。(統一採用LIF模型,突觸權重固定)
  實驗表明:在同一個模型中,不同輸入下,每個神經元population的活躍程度都是相似的。

Fig.1 Active degrees of populations
在這裏插入圖片描述

3.2 脈衝神經網絡的NoC仿真設計

  • 度量指標:

(1)路由表的大小。通常使用支持多播的網絡,以及基於樹的分佈式多播路由策略,可以減小存儲開銷。
(2)仿真速度。神經元發放脈衝的頻率上限爲 1KHz,現代電子設備的工作頻率約爲 10610^6KHz。顯然,隨着速度的增加,每單位發放的脈衝會迅速涌入NoC,造成擁塞、時延,有礙於速度的進一步改善。

  • 多播路由:
    (1)路由表結構:
    在這裏插入圖片描述
    (2)包結構:
8bits 14bits 6bits 4bits
population ID neuron ID issue time reserved
  • 注意:
    (1)每個路由器都擁有一個可被視爲通用片上存儲器的路由表,population IDs是連續的整數,故可用作存儲器的內存地址。因此,每個路由表的大小不超過population的數量kk。若有nn個核,則路由內存的總開銷爲knk*n
    (2)採用X-Y的路由策略,通過包中的population ID對路由表進行尋址,找到對應的core,每個core中含有多個population,找到對應的population後,再利用neuron ID 找到對應的接收神經元。

3.3 初步測試

   將SpiNNaker作爲參考。利用11個SNN模型中的某一個進行實驗,將NoC的工作頻率設置爲1GHz,SNN的發放頻率最大爲1KHz。(10610^6倍)

   對比實驗:將每個節點中的神經元數量分別設置爲64,128,256。在不同節點數量的情況下,以 延遲小於標準值的脈衝的比率作爲自變量,傳輸延遲爲因變量。觀察不同仿真速度下,傳輸延遲隨比率的變化曲線。

Fig.2. Distribution of transmission delays under different speeds
在這裏插入圖片描述

   Fig.2.(a)中,當仿真速度較慢時(≤600 times per second)時,傳輸延遲的累積分佈曲線幾乎重合,最大傳輸延遲爲1660個 NoC cycles,而一個SNN仿真週期包含的 NoC cycles是≥1667的,故所有的脈衝都能夠在一個SNN仿真週期中到達目的節點。
   Fig.2.(b)中,當仿真速度較快時(≥700 times)時,超過3%的脈衝的傳輸延遲都達到了10510^5個NoC cycles。
   原因:短期內,一個population中的脈衝數量會保持相對穩定。

   推論:任何脈衝的傳輸應該在一個SNN週期內完成以滿足時序約束,最大傳輸延遲的減小可以提高仿真速度,這是優化映射的一個主要目標。

4. 映射算法設計與評估

工作流程
步驟1:繪製SNN的connection矩陣(可從SNN模擬器上的模型中獲取它們,如第3.1節中所述的11個模型)。
步驟2:將神經元populations 分佈到 cores。
步驟3:基於一定的映射算法來放置 cores。
步驟4:根據步驟2和3,可以填寫每個路由器的所有表條目:組播數據包將遵循X-Y路由以完成分支之前的公共路徑。

  • 映射算法策略一(此策略類似於Truenorth的映射策略):
      將活躍程度相似的神經元劃分到同一個population中,再將同一個population中的神經元儘可能地分配到同一個節點上,超過限額時剩下的neurons就分配到鄰近的節點上。
      利用Kernighan-Lin(KL)分區策略將通信頻繁的節點放在靠近彼此的位置,再利用模擬退火算法(Simulated annealing algorithm,簡稱SA算法)進行優化。(簡稱KL&SA)

  • 映射算法策略二(反向優化策略):
      在具有不同活躍度的population中相互交換神經元,以實現平衡分佈。(簡稱swap)

兩種映射策略在傳輸延遲和能量消耗方面的對比如下:
在這裏插入圖片描述在這裏插入圖片描述
總結:以SpiNNaker作爲參照,兩種策略在減小傳輸延遲方面都有所改善。
  就仿真速度(最大傳輸延遲)而言,swap略勝一籌,然而由於swap使得populations更加碎片化,故而比KL&SA消耗了更多的能量。因此,swap更適合於通信密集型和非平衡的SNN。
  無論如何,考慮到仿真速度和能耗之間的權衡,文章給出了一個新的優化方向。

5. 結論

  本文從體系結構評估的角度提出了SNN到NoC映射問題的方法。 基於對代表性網絡建模的神經網絡模擬器的運行軌跡的分析,我們發現具有不同活動度的神經元的分佈在很大程度上顯示出相似性。 因此,我們在NoCs的應用映射框架下制定了SNN映射問題。 我們還提出了在相反方向上優化的策略,這些策略擴展了現有的映射框架。 我們相信它不僅有利於設計空間的探索,還可以彌補應用與神經形態硬件之間的差距。
————————————————————————————————————————

參考文獻

  • [1] Merolla, P.A., Arthur, J.V., Alvarez-Icaza, R., et al.: A million spiking-neuron integrated circuit with a scalable communication network and interface. Science 345(6197), 668–673 (2014)
  • [2] Seo, J.S., Brezzo, B., Liu, Y., et al.: A 45 nm CMOS neuromorphic chip with a scalable architecture for learning in networks of spiking neurons. In: IEEE Custom Integrated Circuits Conference (CICC) (2011)
  • [3] Benjamin, B.V., Gao, P., McQuinn, E., Choudhary, S., Chandrasekaran, A.R., Bussat, J.-M., Alvarez-Icaza, R., Arthur, J.V., Merolla, P.A., Boahen, K.: Neurogrid: a mixed-analogdigital multichip system for large-scale neural simulations. Proc. IEEE 102(5), 699–716 (2014)
  • [4] Furber, S.B., Lester, D.R., Plana, L.A., Garside, J.D., Painkras, E., Temple, S., Brown, A.D.: Overview of the SpiNNaker system architecture. IEEE Trans. Comput. 62(12), 2454–2467 (2013)
  • [5] Carrillo, S., Harkin, J., McDaid, L.J., Morgan, F., Pande, S., Cawley, S., McGinley, B.: Scalable hierarchical network-on-chip architecture for spiking neural network hardware implementations. IEEE Trans. Parallel Distrib. Syst. 24(12), 2451–2461 (2013)
  • [6] Zhu, D., Chen, L., Yue, S., Pedram, M.: Application mapping for express channel-based networks-on-chip. In: Proceedings of Design, Automation and Test in Europe, DATE (2014)
  • [7] Sahu, P.K., Manna, N.S., Chattopadhyay, S.: Extending Kernighan-Lin partitioning heuristic for application mapping onto Network-on-Chip. J. Syst. Archit. 60(7), 562–578 (2014)
  • [8] Nisarg, S., Kanchan, M., Santanu, C.: An application mapping technique for butterflyfat-tree network-on-chip. In: Proceedings of 2nd International Conference on Emerging Applications of Information Technology, EAIT, pp. 383–386 (2011)
  • [9] Tosun, S.: Cluster-based application mapping method for Network-on-Chip. Adv. Eng. Softw. 42(10), 868–874 (2011)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章