Implementing Spiking Neural Networks on Neuromorphic Architectures: A Review


郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

arxiv 2022

Abstract.

  最近,工业界和学术界都提出了几种不同的神经形态系统来执行使用脉冲神经网络(SNN)设计的机器学习应用程序。随着设计和技术方面的日益复杂,对此类系统进行编程以承认和执行机器学习应用程序变得越来越具有挑战性。此外,神经形态系统需要保证实时性能,消耗更低的能量,并提供对逻辑和内存故障的容忍度。因此,显然需要能够在当前和新兴的神经形态系统上实现机器学习应用程序并同时解决性能、能量和可靠性问题的系统软件框架。在此,我们全面概述了为基于平台的设计和硬件-软件协同设计提出的此类框架。我们强调未来在神经形态计算系统软件技术领域的挑战和机遇。

1. Introduction

  神经形态系统是一种集成电路,旨在模拟哺乳动物大脑中的事件驱动计算[1]。它们能够执行脉冲神经网络(SNN),这是使用脉冲神经元和仿生学习算法设计的计算模型[2]。由于SNN的时空信息编码能力,SNN能够进行强大的计算[3]。SNN可以实现不同的机器学习方法,例如监督学习[4]、无监督学习[5]、强化学习[6]和终身学习[7]。

  在SNN中,神经元通过突触连接。一个神经元可以实现为一个IF逻辑[8],如图1(左)所示。在此,来自突触前神经元的输入电流脉冲U(t)会提高突触后神经元的膜电压。当该电压超过阈值Vth时,IF逻辑会发出一个脉冲信号,该脉冲信号传播到突触后神经元。图1(中)说明了由输入脉冲序列引起的膜电压。阈值到达的时刻,即发放时间如图1(右)所示。

  SNN可以在CPU或GPU上实现。然而,由于它们有限的内存带宽,SNN在此类设备上的性能通常很慢,并且功率开销很高。在SNN中,神经计算和突触存储紧密集成。它们提供了一种高度分布式的计算范式,CPU和GPU设备无法利用。神经形态硬件可以消除CPU和GPU的性能和能量瓶颈,这要归功于它们的低功耗模拟和数字神经元设计、分布式就地(in-place)神经计算和突触存储架构,以及使用非易失性存储器(NVM)高密度突触存储[9, 10, 11, 12, 13, 14, 15]。由于其低能量开销,神经形态硬件可以在能量受限的嵌入式系统和物联网(IoT)的边缘设备上执行机器学习任务[16]。

  神经形态硬件被实现为基于块(tile)的架构[17],其中块通过共享互连互连。一个块可能包括 1) 一个神经形态核心,它实现了神经元和突触电路;2) 将脉冲编码和解码为地址事件表示(AER)的外围逻辑,以及 3) 一个网络接口,用于从互连发送和接收AER数据包。交换机放置在互连上,以将AER数据包路由到其目标图块。表1说明了一些最近的神经形态硬件内核的容量。

  NVM设备为实现突触存储提供了一种有吸引力的选择,因为它们展示了低功耗多级操作和高集成密度的潜力[27, 28, 29, 30]。最近,正在探索几种用于神经形态计算的NVM:基于氧化物的电阻随机存取存储器(ReRAM)[31]、相变存储器(PCM)[32]、铁电RAM [33]和自旋转移扭矩磁或自旋-轨道扭矩RAM (STT-和SoT-MRAM)[34]。表2显示了一些最近集成NVM的神经形态硬件演示。

图2显示了一个带有块(C)和开关(S)的神经形态硬件。出于说明目的,我们将每个图块显示为交叉条,其中NVM单元组织在使用水平字线和垂直位线形成的二维网格中。

  该图还展示了一个在交叉开关上实现SNN的小示例。突触权重w1和w2分别被编程为NVM单元P1和P2的电导。来自N1的输出脉冲电压v1和来自N2的v2将电流注入交叉开关,这是通过将突触前神经元的输出脉冲电压乘以NVM细胞的电导(欧姆定律)获得的。沿列的电流求和是并行执行的(基尔霍电流定律),它们实现了和(即神经元激发)。

  为了应对神经形态系统日益复杂的问题、集成新兴NVM技术的挑战以及更快的上市时间压力,需要有效的设计方法。我们强调以下两个可能解决上述设计问题的关键概念。

  • Platform-based Design: 在这种设计方法中,硬件平台从其系统软件中抽象出来,使硬件和软件开发正交,从而可以更有效地探索替代解决方案[48]。 基于平台的设计方法促进了系统软件在许多不同硬件平台上的重用。
  • Hardware-Software Co-design: 在这种设计方法中,同时设计了一个硬件平台及其系统软件,以利用它们的协同作用,以实现系统级设计目标[49]。 本案例中的系统软件是为硬件平台量身定制的。

  在本文中,我们对这些用于神经形态计算的设计方法进行了调查,主要关注软件技术前沿的最新进展。

2. Platform-based Design

2.1. System Software Considerations for Neuromorphic Computing

2.2. System Software for Performance and Energy Optimization

2.3. System Software for Thermal and Reliability Optimization

2.4. Application and Hardware Modeling for Predictable Performance Analysis

3. Hardware-Software Co-Design

4. Outlook

  在过去十年中,神经形态计算在硅技术、硬件和软件方面取得了显著进展。这主要是由于摩尔定律的可疑未来以及对视觉和听觉场景分析和推理等类脑功能不断增长的需求。然而,今天的神经形态硬件节点可以执行几种不同类型的科学计算,而不仅限于机器学习。目前尚不清楚如何将这种科学计算有效地映射到使用现有软件技术的神经形态硬件上支持的事件驱动操作。如果要将神经形态计算集成到涉及CPU和GPU的现有计算工作流中,这一点尤其重要。

  未来,神经拟态系统有望聚合多个异构神经拟态硬件节点以生成大规模并行系统,该系统可以解决对于单节点神经拟态硬件而言过于复杂的科学计算。然而,尽管在软件方面取得了显著的技术进步,但现有软件技术对于此类大型系统的可移植性仍有待观察。最后,神经形态系统的虚拟化为软件技术的研究开辟了一条新途径。

相关