一种支持ANN与SNN混合推理的脉动阵列计算架构的制作方法

摘要: 本发明涉及神经网络计算加速,具体涉及一种支持ann与snn混合推理的脉动阵列计算架构。背景技术:1、随着人工智能、数字信号处理和高性能计算需求的爆发式增长,传统...
一种支持ANN与SNN混合推理的脉动阵列计算架构的制作方法

本发明涉及神经网络计算加速,具体涉及一种支持ann与snn混合推理的脉动阵列计算架构。

背景技术:

1、随着人工智能、数字信号处理和高性能计算需求的爆发式增长,传统并行计算架构(如多核cpu、gpu等)在特定计算任务中逐渐显现出能效比低、数据搬运开销大等瓶颈。脉冲神经网络(spiking neural network,snn)因其接近人脑的功能模式,事件驱动特性及低功耗潜力,被视为下一代神经形态计算的关键架构。

2、与人工神经网络(artificial neural network,ann)相比,snn在实际推理应用中也暴露出显著不足。其一,推理精度受限于脉冲编码方式。snn依赖脉冲序列的时间或频率信息进行信息传递,其离散、稀疏的表示形式导致信息容量较低,在图像分类、目标检测等复杂感知任务中,推理精度普遍低于同等结构的ann。其二,推理延时不可控。snn推理通常需要累积足够时间窗口内的脉冲发放才能获得稳定输出,对于输入动态变化的环境,系统需要权衡等待时长与决策可靠性,难以满足实时硬延时约束。

3、为扬长避短,ann与snn进行异构融合的混合推理架构应运而生,其核心思路是:在数据流路径上,利用ann处理高频变化、需高精度的初始层或关键特征提取阶段,以保证模型整体推理准确率;snn则部署于对精度或延迟容忍度较高的层,利用其事件驱动特性与稀疏脉冲计算,大幅降低内存访问与乘加运算次数。这种混合方式在保留接近纯ann的高精度的同时,复用snn的低功耗特性,在边缘场景下达成效率与能耗的有效平衡。

4、当前ann与snn进行异构融合的主流芯片方案包括:

5、1)intel采用的双芯片异构方案,将snn部分部署于loihi神经形态处理器,ann部分运行于jetson nano边缘ai平台,通过累加器实现脉冲域到非脉冲域的数据转换。实验表明,该混合方案在精度和延迟上均优于纯snn基线,同时在能效方面超越纯ann方案。

6、2)荷兰innatera与瑞士苏黎世大学等机构联合推进的andante项目,将独立的ann芯片和snn芯片组合在同一加速平台上,让它们协同工作以完成端到端的ai推理任务。

7、3)南洋理工大学等团队提出了sparrowsnn架构,采用前端量化ann层提取特征、后端ssf-snn层进行分类的混合策略。

8、4)中科院自动化研究所基于fpga实现了支持snn与ann动态切换的脉动阵列加速器firefly v2。该加速器主要针对snn网络进行优化,其脉动阵列计算引擎在纯snn推理场景下具有较高效率。

9、5)清华大学研发的天机(tianjic)芯片。该芯片采用统一、可重构的fcore架构,每个计算核心均可独立配置为ann模式或snn模式,通过设计a2s(ann到snn)与s2a(snn到ann)两种混合核心实现跨范式信号转换。

10、6)北京大学paicore芯片通过可重构处理核心,无缝融合snn和ann两种计算范式,通过高效片上网络(五级四叉胖树)实现核间通信。

11、综合以上主流技术路线,目前的snn与ann解决方案主要存在如下问题:

12、一方面,固化snn/ann的网络方案无法根据实际网络状况灵活配置层实现方式,只适用于特定图像及视频网络,当网络结构发生变化时可能会造成硬件资源浪费。另一方面,可配置snn/ann方案主要针对snn网络进行优化,阵列规模受限于内部通信模式,部分网络应用会形成算力瓶颈,且难以兼容主流的软件开发平台。

13、进一步地,现有脉动阵列架构通常针对人工神经网络设计,采用输出驻留或权值驻留等固定数据流模式,难以在同一硬件阵列上同时高效支持人工神经网络与脉冲神经网络的推理计算。具体而言:人工神经网络计算密集度高,脉冲神经网络具有时间维度记忆能力,两者的计算模式和数据形式差异较大,导致现有架构难以实现硬件资源复用;在权值驻留脉动阵列上部署脉冲神经网络时,缺乏与阵列结构适配的神经元电路映射方案;脉冲神经网络的泄漏-积分-发放操作若直接采用浮点乘法器实现泄漏,会引入较大的面积和功耗开销;人工神经网络层与脉冲神经网络层之间的数据交互也缺乏统一的硬件转换机制。

技术实现思路

1、为解决上述技术问题,本发明提供一种支持ann与snn混合推理的脉动阵列计算架构。

2、本发明采用如下技术方案实现:

3、一种支持ann与snn混合推理的脉动阵列计算架构,包括:

4、由多个处理单元pe构成的脉动阵列,所述脉动阵列采用权值驻留ws数据流模式,阵列的物理行索引对应神经元树突编号,物理列索引对应神经元编号;

5、每一列pe的末端连接一个神经元电路,所述神经元电路用于执行泄漏-积分-发放lif操作;

6、模式选择信号,用于控制所述脉动阵列在ann计算模式与snn计算模式之间切换;

7、在snn计算模式下,所述pe内的乘法器被旁路,当输入脉冲为1时,所述pe中存储的权值直接输出到加法树;当输入脉冲为0时,输出0;

8、加法树,用于将同一列中多个pe的输出累加,并将累加结果送入该列对应的神经元电路。

9、优选地,所述神经元电路包括:

10、膜电位累加电路,接收所述加法树的累加结果与上一时刻膜电位反馈值,进行累加,得到当前累加膜电位;

11、泄漏计算电路,用于对所述当前累加膜电位执行泄漏操作,得到泄漏后的膜电位;

12、比较器电路,用于将所述泄漏后的膜电位与发射阈值进行比较,当膜电位大于等于发射阈值时,产生脉冲输出;

13、复位电路,用于在产生脉冲输出时,将膜电位复位至复位电位。

14、优选地,所述泄漏计算电路通过移位操作实现泄漏,泄漏系数取值1/n,其中,对应将所述当前累加膜电位右移k位后与原值相减,移位位数k由泄漏系数配置寄存器控制。

15、优选地,还包括分时复用控制器,用于通过动态加载权值和mac单元分时复用,将物理阵列逻辑扩展为大于物理行数的突触数量和大于物理列数的神经元数量;其中,将全连接层权值矩阵切分为多个子矩阵块,分阶段加载对应子矩阵块,并将部分阶段结果暂存至部分和缓存,后续阶段将暂存的部分和与当前阶段结果累加后送入所述神经元电路。

16、优选地,所述分时复用控制器包括状态机,所述状态机由所述模式选择信号使能,包含多个阶段;每个阶段开始时产生权值加载使能信号,将对应子矩阵的权值加载至各pe的权值寄存器;阶段结束时根据阶段编号决定将结果直接送入神经元电路或先暂存至部分和缓存。

17、优选地,还包括膜电位预载与存储机制,通过配置寄存器和指令控制,在计算开始前从共享存储器读取膜电位初始值并载入神经元电路的膜电位反馈寄存器;在计算结束后将当前膜电位值或打包后的脉冲向量写回共享存储器。

18、优选地,还包括跨范式数据交互接口,支持:

19、snn层到ann层:在时间窗口结束后,将神经元电路的当前膜电位值以标量形式输出;

20、snn层到snn层:将时间窗口内生成的脉冲序列按时间顺序打包为脉冲向量输出;

21、ann层到snn层:将ann层输出的标量值通过标量-脉冲转换器转换为脉冲序列后作为snn层输入。

22、优选地,所述ann层到snn层的数据交互通过以下两种方式之一实现:

23、直接映射方式:在一个时间窗口内仅接收一个ann层的标量乘累加结果,将该标量乘累加结果直接作为lif神经元的膜电位初始值,由该lif神经元在所述时间窗口内根据其膜电位动力学产生脉冲序列,并将该脉冲序列作为下游snn层的输入;

24、标量-脉冲转换方式:使用标量-脉冲转换器,将ann层输出的标量值与伪随机数发生器产生的随机阈值进行比较,生成服从泊松分布的脉冲序列;

25、由转换模式选择信号选择所述直接映射方式或所述标量-脉冲转换方式,且所述标量-脉冲转换器通过使能信号或旁路信号控制,旁路时标量值直接传递。

26、优选地,还包括连接拓扑选择模块,支持一对多广播连接和一对一并行连接;

27、在一对多广播连接模式下,输入脉冲向量经并串转换后,每个时钟周期串行输出1bit,通过横向广播总线同时发送至所有列的pe输入端口;

28、在一对一并行连接模式下,输入脉冲向量以并行方式加载,第i bit直接映射到第i列的pe输入端口;

29、连接拓扑由连接拓扑选择信号控制。

30、优选地,还包括突触数量可配置模块,通过配置掩码位对加法树输入端进行强制置零,或对对应mac单元进行门控时钟,以实现少于物理行数的突触数量配置,掩码位由配置寄存器提供并可通过指令在线修改。

31、通过本发明提供的snn/ann混合阵列,能够通过指令实时将阵列配置为snn或ann工作模式,在不同模式下复用存储及计算资源;支持snn多数据类型权值及ann多数据类型混合精度计算;可通过指令在线配置神经元的一对多或一对一连接拓扑;天然支持snn到ann层、snn到snn层、ann到snn层、ann到ann层之间的数据交互;针对不同类型网络,可指定不同层使用snn或ann模式实现,兼顾推理效率与功耗。

32、具体而言,与现有技术相比,本发明具有以下有益效果:

33、硬件资源复用率高:基于ws脉动阵列同时支持ann与snn计算,复用pe、加法树、缓存及控制资源,无需为两种网络分别部署独立硬件;

34、功耗低:snn模式下绕过乘法器,仅使用加法树和寄存器,并通过移位操作实现膜电位泄漏,显著降低动态功耗和电路面积;

35、扩展性强:通过分时复用控制器可突破物理阵列的突触和神经元数量限制,适应不同规模的网络结构;

36、灵活性好:支持一对多和一对一两种连接拓扑,突触数量可配置,且支持在线逐层重配;

37、跨范式交互完善:提供了snn与ann层之间完整的数据交互机制,包括直接映射和泊松编码两种方式,实现硬件级无缝衔接;

38、混合部署能力:可根据网络层的特点,灵活指定不同层采用snn或ann模式实现,在精度、延迟和功耗之间取得平衡。

39、提供 技术实现要素: 部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的重要特征或必要特征,也无意限制本公开的范围。