Page 373 - 《软件学报》2025年第4期
P. 373

俞诗航 等: 神经形态计算: 从脉冲神经网络到边缘部署                                                     1779


                 通信模式, 再利用局部连接, 将相邻层划分为子网络, 并将每个子网络划分为多个集群, 同时满足硬件资源限制. 最
                 后采用元启发式算法, 在缩小的搜索空间内寻找最佳的簇到核映射方案. 实验结果表明, 与 SpiNeMap                       [211] 和 SNEAP [215]
                 相比, NeuMap  的平均能耗分别降低       84%  和  17%, 脉冲延迟分别降低了    55%  和  12%.
                    针对当下流行的神经形态芯片, 已经有一些专用的映射方法出现, 如                      SpiNNaker 的  PACMAN [217] 、TrueNorth
                 的 Corelets  [218] 、TianJic 的  TJSim [219] 和  Loihi 的 NxTF [220] . 除此之外, 文献  [221] 提出了一种模块化构建  SNN  分区
                 的映射方法, 可将     SNN  模型部署到多核处理器上, 其支持 TrueNorth 和 Loihi 等众多流行的神经形态芯片, 与运行
                 在传统   GPU  上的  ANN  相比, 精度相当, 但在功耗指标上明显更优.
                    DFSynthesizer [222] 是一个端到端映射框架, 用于将基于      SNN  的机器学习算法映射到神经形态硬件. 该框架分
                 为  4  个步骤. 首先, 分析机器学习程序, 并使用代表性数据生成              SNN  工作负载. 其次, 对   SNN  工作负载进行分区,
                 生成适合目标神经形态硬件横杆的集群. 第三, 利用同步数据流图的丰富语义来表示聚类                            SNN  程序, 从而可以根
                 据关键硬件约束条件进行性能分析, 如横杆数量、每条横杆的尺寸、芯片上的缓冲空间和通信带宽. 最后, 使用调
                 度算法在硬件的横杆上执行集群, 从而保证了硬件性能. 结果表明, 与当前的映射方法相比, DFSynthesizer 提供了
                 更严格的性能保证.
                         [154]
                    E3NE   是一个可自动生成适用于          FPGA  的高效  SNN  模型的端到端映射框架. E3NE       使  SNN  模型的推理能
                 够部署在几乎任意大小的         FPGA  上, 该框架根据应用要求和硬件限制优化硬件模块的实例化和配置, 从而实现高
                 性能, 同时采用动态量化方案生成脉冲序列, 并从预先训练的                   SNN  模型转换权重. E3NE    是首个基于寄存器传输
                 层  (register transfer level, RTL) 硬件块的  SNN  端到端映射框架, 在准确性、延迟、功耗和硬件资源方面均优于之
                 前的基于   FPGA  的  SNN  加速器.
                    尽管过去    20  年来, 人们一直在研究将大脑运作原理映射到神经形态硬件上                   [223] , 但这些现有的映射方法大多
                 仅探讨了其性能特征. 如上所述, 目前的主流硬件映射方法基本采取的是先分割再映射的步骤, 将关注点放在了资
                 源分配、脉冲延迟, 通信拥塞和能耗等性能指标上, 忽略了映射方法的可靠性与鲁棒性. 然而, 由于外部干扰或其
                 他神经元的随机行为, 有些神经元可能会受到噪声                [224,225] 的影响, 导致计算结果不可靠   [226] , 尤其是将神经网络映射
                 到硬件中时, 模型不可避免地会受到硬件级故障的影响                 [227] . 因此, 未来还需要在保证性能的同时, 提出更具可靠性
                 和鲁棒性的硬件映射方法.
                   (triple module redundancy, TMR) 和用于存储器的纠错码
                 4   硬件部署的故障与容错

                    从实际生产的角度来看, 许多计算设备在量产时不可避免地会出现制造缺陷. 为了充分利用未来的半导体技
                 术, 有必要找到经济有效的方法, 使得从一开始就能利用这些不完美的元件, 甚至在元件功能随时间退化的情况下
                 也不影响整体功能. 于是, 神经网络模型自身的容错特性对于成功将大型神经网络集成到边缘设备上至关重要. 优
                 秀的故障与容错机制能提供可靠的方法来保持机器的状态, 从而保证可靠和不间断的设备性能                               [228] .
                    根据神经生物学的研究, 人脑能够容忍少量的突触或神经元故障, 甚至将噪声作为计算的来源                               [226] . 在第  2  代
                 ANN  中, 也具备一定对不精确、不确定性和故障的容忍度                [229] . 作为更具生物启发性的第    3  代神经网络, SNN   也被
                 认为是更具前途的容错神经网络, 具有固有的容错性、鲁棒性和恢复性                       [230] . 然而文献  [227] 指出, 在实践中, 如果
                 没有适当的设计, 神经网络不能被认为是本质上的容错. 此外, 传统计算中使用的标准容错技术, 如三重模块冗余
                                                             (error correction code, ECC), 会在神经形态硬件平台上失
                 效, 因为这些冗余方法会产生过高的开销, 更不利于复杂模型的硬件部署. 将                      SNN  部署到边缘设备上时, 目前的大
                 多数工作都将重点放在以降低能耗为代表的性能优化上. 尽管性能最大化是当之无愧的首要关注点, 但这并不一
                 定意味着它是应该追求的唯一目标            [231] . 随着硬件底层半导体技术变得越来越不可靠, 计算设备的某些组件失效的
                 可能性也在增加, 这使得许多         SNN  模型在硬件上的部署无法彻底发挥神经形态硬件中百亿级集成的全部潜在优
                 势. 因此, 当硬件故障问题不可避免时, 可靠的容错与恢复策略有助于减少灾难性错误的发生, 为计算设备提供更
                 强的健壮性与鲁棒性.
   368   369   370   371   372   373   374   375   376   377   378