SNN加速器设计:TUP聚合机制与可重构神经元破解同步瓶颈
1. 项目概述:当脉冲神经网络遇上片上网络,如何破解同步困局?
在边缘计算和物联网设备中,功耗是决定产品生命周期的关键。脉冲神经网络(SNN)作为第三代神经网络,其事件驱动的特性——只在接收到或产生脉冲时才进行计算——使其在理论上拥有远低于传统人工神经网络(ANN)的功耗潜力。然而,将这种理论优势转化为实际的芯片能效,尤其是在大规模、可扩展的硬件架构上,却面临着严峻的挑战。其中,一个核心的“拦路虎”就是全局时间步同步。
想象一下,一个由成百上千个计算核心组成的SNN芯片,每个核心都在独立地处理神经元状态更新。为了保证整个网络计算的正确性,所有核心必须在同一个“节拍”上工作:即所有核心完成当前时间步的计算后,才能一起进入下一个时间步。在基于片上网络(NoC)的分布式架构中,如何高效、低开销地实现这个“齐步走”的同步信号,直接决定了系统的整体性能和能效。传统的事件驱动同步方案虽然避免了固定时钟周期带来的空闲等待,但其产生的海量同步数据包(Time-step Update Packets, TUPs)却会淹没网络,成为新的性能瓶颈。
本文要探讨的,正是我们团队在解决这一难题上的一次实践:设计一个集成了时间步更新包(TUP)聚合机制和可重构LIF/ALIF神经元的低功耗SNN加速器。我们的目标很明确:在保持SNN事件驱动、低功耗本色的同时,通过架构创新,大幅削减同步开销,并赋予硬件适应不同计算任务(从静态图像识别到动态语音识别)的灵活性。最终,我们在SMIC 55nm工艺下实现了一个8x8的网格状加速器,达成了3.58 pJ/SOP(每次突触操作皮焦耳)的能效,在图像和语音任务上均取得了优异的精度-能效平衡。如果你正在涉足神经形态计算芯片设计,或对如何优化分布式AI硬件的通信瓶颈感兴趣,那么这次从架构思路到电路细节的完整复盘,或许能给你带来一些启发。
2. 核心挑战与设计思路拆解:从通信风暴到神经元模型抉择
在深入电路细节之前,我们必须先厘清要解决的核心问题是什么,以及为什么选择这样的技术路径。这决定了整个芯片架构的走向。
2.1 时间步同步:效率与开销的永恒博弈
SNN的硬件执行模型主要分为事件驱动和时间步驱动。前者极度稀疏,但硬件控制逻辑复杂;后者将时间离散化,逻辑规整,易于实现,成为主流。在时间步模型中,每个核心在每个时间步内累积输入脉冲,更新膜电位,并在时间步结束时判断是否发放脉冲。这就要求所有核心在进入下一个时间步前必须完成当前步的所有操作。
传统方案及其瓶颈:
- 定时器同步:每个核心内置一个计数器,时间步长度固定。这是最简单的方案,但问题显而易见:即使某个核心早早处理完脉冲,也必须空等到时间步结束,造成了严重的计算资源闲置。在脉冲稀疏的应用中,这种浪费被放大,利用率极低。
- 事件驱动同步(传统TUP方案):为了消除空闲等待,学术界提出了基于TUP的事件驱动同步。核心在完成本时间步所有计算后,立即生成一个TUP包,发送给所有下游核心。下游核心必须收集到所有上游核心发来的TUP后,才能开始下一时间步的计算。这虽然实现了“忙完就歇,来活就干”的高效性,却引入了新的问题:通信风暴。
注意:这里的“下游”和“上游”指的是SNN模型中神经网络层的前后关系在硬件映射上的体现。例如,第一层的所有核心是第二层所有核心的上游。
在一个M x M的网格网络中,如果每层有M²个核心,那么传统TUP方案需要每个上游核心向每个下游核心发送一个TUP。即使利用NoC的组播(Multicast)能力,一个核心的TUP可以复制给多个目标,通信量也高达O(M⁴)(核心数×组播路径长度)。在大型网络中,TUP流量甚至会超过真正的脉冲数据流量,导致网络拥塞,同步本身成了最大的延迟来源。
我们的思路:聚合与分发分离我们的核心洞察是:下游核心其实并不关心具体是哪个上游核心发来了TUP,它只关心“所有上游核心是否都已完成”这一状态。因此,没必要让每个TUP都独立地走完漫长的组播路径。我们提出了“TUP聚合”机制:让TUPs在向前传播的路径上就地进行智能合并。多个TUPs在中间路由器被合并成一个“代表”TUP,只有这个聚合后的TUP才需要进行远距离的组播分发。这样,需要经历长距离传输的TUP数量从O(M²)锐减到O(M),整体通信复杂度从O(M⁴)降到了O(M³)。如图1所示,这相当于把“各自为战”的散兵游勇,整合成了一支支有组织的队伍,再统一行动,极大减轻了交通压力。
2.2 神经元模型:在效率与功能间寻求平衡
SNN的性能和能效高度依赖于所使用的神经元模型。Leaky Integrate-and-Fire (LIF)模型因其公式简洁、硬件实现成本低而被广泛采用。它模拟了神经元的膜电位泄露、积分和发放,但对于需要捕捉时间依赖关系的任务(如语音识别),其能力有限,因为它缺乏对历史发放频率的记忆。
Adaptive LIF (ALIF)模型在LIF的基础上引入了自适应阈值机制。每次神经元发放脉冲后,其发放阈值会暂时性升高,这使得神经元表现出“脉冲频率适应”特性——在持续刺激下,发放频率会逐渐降低。这种行为更接近生物神经元,并赋予了网络处理时间序列的内在能力。然而,ALIF需要额外存储和更新一个“适应性变量”,带来了更多的计算和存储开销。
设计抉择:可重构而非二选一面对静态图像分类(适合LIF)和动态语音关键词检测(适合ALIF)等不同任务,是设计两套独立的硬件,还是设计一个可切换的灵活架构?我们选择了后者。我们的目标是设计一个可重构的神经处理单元(NPE),使其既能以低功耗的LIF模式运行,也能切换到功能更强的ALIF模式。关键在于,这种灵活性不能以巨大的面积和功耗开销为代价。我们的策略是硬件复用与智能门控:让LIF和ALIF的计算单元最大程度地共享硬件逻辑(如加法器、乘法器、比较器),并通过模式选择信号和时钟门控,在LIF模式下彻底关闭ALIF独有的计算模块,从而在获得灵活性的同时,将额外开销控制在最低水平。
3. 系统架构全景:一个可扩展的神经形态计算网格
基于以上思路,我们构建了一个基于NoC的、可扩展的SNN加速器整体架构。它不是一个单一的大模块,而是一个由许多小型、智能的“细胞”规则排列而成的计算网格。
3.1 整体拓扑与核心组成
我们采用了经典的2D Mesh网格拓扑。选择Mesh的原因在于其规则性、布局简单以及出色的可扩展性——只需增加行和列就能扩大网络规模。整个芯片包含64个(8x8)完全相同的核心(Core),它们通过路由网络互联,构成一个统一的计算平面。
每个核心是两个功能单元的紧密耦合:
- 路由器(Router):负责核心与外界的所有通信。它不仅是脉冲数据包的高速公路,更是我们TUP聚合机制的执行者。它需要处理组播、配置包转发以及最关键的——TUP的接收、合并与转发。
- 神经处理单元(NPE):这是计算的“大脑”。每个NPE内部集成了多个(例如8个)可重构的LIF/ALIF神经元。它负责维护神经元的膜电位、阈值等状态,执行脉冲积分、泄漏、发放判断等计算,并生成输出的脉冲包。同时,它也是TUP的“生产者”,在完成一个时间步的计算后,会向路由器发出本地TUP。
数据流与协议所有通信都通过统一的、轻量级的数据包进行。我们定义了三种包类型,用3比特的包头区分:
- 配置包:用于在系统启动或运行时,向特定核心的NPE或路由表写入配置信息(如权重、神经元参数、路由掩码)。
- 脉冲包:这是计算的主体。当一个神经元发放脉冲时,NPE会生成一个包含目标神经元地址的脉冲包。路由器根据其内部的路由表,以组播方式将其复制并转发到所有需要该脉冲的后继核心。
- 时间步更新包(TUP):这是同步的“信号弹”。其格式与脉冲包类似,但处理逻辑完全不同。它不会被立即转发,而是进入路由器的TUP聚合模块进行“合并”处理。
这种基于包的通信协议,使得整个系统非常规整和可配置,便于映射各种不同拓扑的SNN模型。
3.2 路由器:不仅是交换机,更是交通指挥官
路由器的设计是整个架构的通信枢纽。我们采用了确定性的X-Y维度序路由算法,即数据包先沿X轴(水平)方向传输,到达目标列后再沿Y轴(垂直)方向传输。这种策略简单、无死锁,且易于实现。
路由器的关键创新在于其内部的TUP聚合模块。该模块为每个输入方向(东、南、西、北、本地)都设置了一个状态寄存器和一个掩码寄存器。
- 掩码寄存器:在系统配置阶段根据网络映射关系设定。它标识了本路由器需要等待哪些方向的TUP。例如,如果本核心只依赖来自北方和西方的上游核心,那么南、东、本地方向的掩码位会被置位,表示忽略这些方向的TUP。
- 状态寄存器:记录实际TUP的到达情况。当从一个方向收到有效的TUP时,对应状态位置1。
TUP聚合模块持续监控所有方向的状态。只有当所有未被掩码的方向的状态位都变为1(即所有需要等待的TUP都已到达)时,模块才会产生一个聚合完成信号。此时,路由器会生成一个新的、聚合后的TUP,并将其注入到组播路径,发送给所有下游核心。随后,所有状态寄存器被清零,准备下一个时间步的聚合。
这个过程实现了“N-to-1-to-M”的通信模式:N个上游TUP在路径上被合并成1个,再由这1个TUP通过组播分发给M个下游核心。通信量得到了根本性的抑制。
4. 核心微架构实现:可重构神经元与智能聚合的电路奥秘
架构蓝图需要坚实的电路设计来落地。下面我们深入到NPE和TUP聚合模块的内部,看看关键功能是如何用硬件语言描述的。
4.1 可重构LIF/ALIF神经元电路设计
神经元是计算的原子单元。我们的目标是设计一个面积高效、功耗可控的双模计算单元。图10展示了其核心结构,它主要由两个计算单元构成:
膜电位计算单元(绿色区域):这是LIF和ALIF共享的核心。它包含:
- 积分器:将输入脉冲乘以对应的突触权重,并累加到当前的膜电位
v[t]上。我们采用定点数运算来平衡精度和硬件成本。 - 泄漏模块:每个时间步,膜电位会乘以一个小于1的泄漏系数
α,模拟生物神经元的电位衰减。 - 阈值比较与复位:将更新后的膜电位与当前阈值进行比较。这个阈值在LIF模式下是固定的
V_th_static;在ALIF模式下是动态的V_th_static + b[t]。如果膜电位超过阈值,则产生一个输出脉冲(spike=1),并将膜电位复位(通常置零或减去阈值);否则,spike=0。
- 积分器:将输入脉冲乘以对应的突触权重,并累加到当前的膜电位
自适应变量计算单元(橙色区域):这是ALIF模式独有的部分,用于实现自适应阈值。
- 它维护一个自适应变量
b[t]。当神经元发放脉冲时,b[t]会增加一个值γ;否则,b[t]会以系数ρ衰减。 - 动态阈值即为静态阈值加上当前的
b[t]值。这使得神经元在连续发放后阈值升高,更难再次发放,从而表现出脉冲频率适应。
- 它维护一个自适应变量
可重构性的实现技巧:
- 硬件复用:膜电位计算单元(尤其是积分、泄漏、比较电路)在两种模式下完全共用。ALIF独有的自适应变量
b[t]的更新路径(加法和乘法)与膜电位的泄漏路径结构相似,可以部分共享算术逻辑单元(ALU)。 - 时钟门控:这是降低LIF模式功耗的关键。当配置信号
model_sel=0(LIF模式)时,一个时钟门控单元会切断通往自适应变量计算单元的时钟信号。这意味着该单元内部的所有寄存器都不会翻转,其组合逻辑的毛刺也被抑制,从而几乎消除了该模块的动态功耗。同时,多路选择器会将阈值输入固定为V_th_static。 - 面积优化:通过精细的逻辑综合和共享,与分别独立实现LIF和ALIF两个神经元相比,我们的可重构设计节省了约20.64%的面积。而与一个纯ALIF的实现相比,增加的可重构逻辑(主要是多路选择器和控制逻辑)带来的面积开销仅为4.83%,几乎可以忽略不计。
4.2 TUP聚合模块的硬件实现
TUP聚合模块是一个纯粹的硬件状态机,其目标是可靠且高效地完成“收集-判断-转发”的操作。图8展示了其微架构。
工作流程如下:
- 包解码与分类:进入路由器的数据包经过仲裁后,被送到类型解码器。解码器检查包头的类型字段。如果识别为TUP(
type_flag=0, spike_flag=1),则根据其到达的物理方向(如North),产生一个单周期脉冲信号TUP_n_valid。 - 状态记录:
TUP_n_valid脉冲会置位对应方向(如North)的状态寄存器state_n。同时,模块会结合该方向的掩码位mask_n,生成一个“已接收”信号TUP_n_received。关键点在于:如果该方向的掩码位为1(表示不需要等待此方向),则TUP_n_received会直接置为1,相当于“默认已收到”。 - 聚合判断:所有五个方向(东、南、西、北、本地)的
TUP_*_received信号会输入到一个与门(或一个多输入比较器)。当所有信号都为1时,意味着所有需要等待的TUP均已到达。此时,模块输出TUP_all_received脉冲。 - 聚合包生成与转发:
TUP_all_received脉冲触发两个动作:一是生成一个新的TUP包(内容可以是本核心的地址或一个约定的聚合标识),并将其送入路由器的输出队列,准备进行组播分发;二是反馈一个复位信号,将所有方向的状态寄存器清零,为下一次聚合做准备。
实操心得:掩码配置的重要性TUP聚合模块的灵活性完全依赖于掩码寄存器的正确配置。这个配置必须在SNN网络模型映射到硬件网格之后,由主控制器通过发送配置包来完成。掩码定义了每个核心在时间步同步中的“依赖关系图”。如果配置错误,比如该等待的方向被掩码,会导致下游核心提前进入下一时间步,造成计算错误;反之,如果多等了不该等的方向(如一个���关的核心),则可能引入不必要的同步延迟,甚至死锁。因此,开发一个可靠的、与网络映射工具链联动的掩码自动生成器,是保证系统正确运行的必要软件支持。
5. 性能评估与结果分析:数据背后的设计权衡
设计完成后,我们基于SMIC 55nm CMOS工艺完成了整个芯片的物理设计与流片(本文主要基于仿真和综合结果分析)。我们使用Synopsys的设计套件进行逻辑综合、布局布线和时序功耗分析,并利用N-MNIST(动态视觉数据集)和SHD(Spiking Heidelberg Digits,语音关键词数据集)来评估系统性能。
5.1 面积与功耗分解
芯片总面积为9.95 mm²,包含64个核心。每个核心的面积约为0.145 mm²。
- 核心内部分布:如图12所示,神经处理单元(NPE)占据了核心面积的71.83%,而路由器占28.62%。这符合预期,因为NPE内部包含了存储突触权重的大容量SRAM(占NPE面积的84.58%),这是面积消耗的主力。神经元和突触操作逻辑本身只占NPE面积的13.59%。
- 路由器内部分布:在路由器内部,用于存储组播路由表的小型SRAM占了近一半的面积(47.54%)。而我们提出的TUP聚合模块,其面积开销仅占路由器总面积的1.29%。这是一个非常积极的结果,意味着我们用极小的硬件代价,换来了通信性能的巨大提升。
- 功耗分析(ALIF模式):在ALIF模式下,NPE消耗了核心总功耗的59.09%,路由器消耗40.91%。NPE的功耗主要来自权重SRAM的频繁读取(58.84%),其次是神经元计算(26.92%)。路由器的功耗则主要分布在路由表查询和输入通道的缓冲器上。值得强调的是,TUP聚合模块的功耗仅占路由器总功耗的1.09%,再次证明了其高效性。
- 模式切换的功耗收益:如图15所示,当从ALIF模式切换到LIF模式时,神经元核心的功耗降低了约4.65%。这完全得益于时钟门控技术关闭了自适应变量计算单元。虽然百分比看起来不大,但在整个芯片尺度上,这能带来可观的整体功耗节省,特别是在运行只需LIF模型的任务时。
5.2 TUP聚合机制的性能收益
这是本文工作的重中之重。我们定义了总通信量V_total作为衡量指标,它等于所有TUP包的跳数(传输距离)之和。我们对比了三种策略在网格规模(M)增大时的V_total增长趋势:
- 单播 + 传统TUP:每个上游核心向每个下游核心单独发送TUP。通信复杂度为O(M⁵),随着规模扩大,流量爆炸式增长,完全不可行。
- 组播 + 传统TUP:每个上游核心发送一个TUP,由网络组播到所有下游核心。复杂度为O(M⁴)。虽然比单播好,但在大规模网络中,TUP流量依然会成为主导。
- 组播 + TUP聚合(本方案):TUPs在路径上聚合,只有聚合后的包进行组播。复杂度降至O(M³)。
在8x8(M=8)的网格上,我们的方案相比“组播+传统TUP”,将TUP产生的通信量降低了73.91%;相比“单播+传统TUP”,降低了96.69%。更重要的是,随着网络规模扩大,这种优势会越来越明显。
对实际延迟的影响:通信量的降低直接转化为传输时间的减少。实验结果表明,采用TUP聚合机制后,TUP传输时间占总延迟的比例从20.51%下降到了6.06%,降低了约75%。这意味着同步不再是瓶颈,计算单元可以更高效地工作。
注意事项:聚合带来的潜在延迟TUP聚合机制在减少总流量的同时,引入了一个新的因素:聚合等待延迟。一个聚合点必须等待所有需要的TUPs都到达后才能向下转发。在最坏情况下,如果某个上游核心计算延迟很大,它的TUP会拖慢整个聚合链。然而,在事件驱动同步中,一个核心发出TUP的时刻,就是它完成本时间步最后一个脉冲处理的时刻。因此,TUP的到达顺序自然遵循着计算关键路径。这种等待实际上是保证计算正确性所必需的,它并没有引入额外的、不必要的空闲时间,而是将原本分散的、冗长的通信等待,转化为了更集中的、路径上的逻辑等待。在实际映射SNN时,通过合理的任务划分与核心映射,可以尽量平衡各核心的计算负载,从而最小化这种聚合等待时间。
5.3 整体能效与任务性能
最终,该加速器在1V电压、100MHz时钟频率下的能效为3.58 pJ/SOP(每突触操作皮焦耳),这是一个在55nm工艺下非常有竞争力的指标。
- 图像识别(N-MNIST):使用LIF神经元模型,在10分类任务上达到了97.80%的识别准确率,每样本能耗仅为1.19 µJ。这展示了其在低功耗静态模式下的高效性。
- 关键词检测(SHD):切换到ALIF神经元模型后,在更复杂的语音时序任务上达到了93.53%的准确率,每样本能耗为8.23 µJ。虽然能耗高于LIF模式,但这正是为获得更强时间建模能力所支付的合理代价,其能效依然远超传统ANN方案。
这些结果验证了我们架构的有效性:通过TUP聚合机制高效解决了同步通信瓶颈,并通过可重构神经元设计,在单一硬件平台上灵活兼顾了高能效(LIF)与高功能(ALIF)两种需求。
6. 设计延伸与潜在优化方向
虽然当前设计取得了不错的效果,但在实际工程化和面向更复杂应用时,仍有诸多可以深入探索和优化的方向。
6.1 针对不平衡负载的优化
TUP聚合机制的性能优势在计算负载均衡时最为明显。但在实际SNN中,脉冲活动可能是高度不均匀的,导致不同核心的计算完成时间差异很大(负载不平衡)。这会使聚合点长时间等待那个“最慢”的TUP。为了缓解这个问题,可以考虑以下策略:
- 动态时间步划分:不一定所有层都严格使用相同长度的时间步。对于脉冲稀疏、计算快的层,可以采用更细粒度的时间步,让其更快地产生TUP,而不必等待后面计算复杂的层。但这需要更复杂的全局调度协议。
- 层次化聚合与推测执行:在确保数据依赖正确的前提下,可以让某些层在收到大部分(而非全部)上游TUP后,就“推测性”地开始下一时间步的计算。这需要硬件支持状态回滚机制,复杂度较高。
- 智能任务映射:在将SNN模型映射到硬件网格时,负载均衡应作为一个关键优化目标。通过算法将计算量大的神经元更均匀地分布到各个核心上,可以从根本上减轻不平衡问题。
6.2 可重构神经元的进一步优化
当前的可重构设计主要共享了计算逻辑,但膜电位和自适应变量b[t]是存储在独立的寄存器中的。为了进一步压缩面积,可以考虑:
- 状态存储复用:探索使用小型多端口SRAM或寄存器文件来统一存储所有神经元的各种状态变量(
v,b等),通过时分复用的方式访问。这尤其适用于核心内集成大量神经元的情况,能显著减少寄存器面积,但会引入访问仲裁和潜在的功耗增加。 - 近似计算与精度可调:在LIF/ALIF的计算中,泄漏系数
α、ρ和自适应增益γ等参数通常用量化后的定点数表示。可以引入运行时可配置的算术精度(如可在8位、12位、16位定点之间切换),让用户在精度和功耗/面积之间进行动态权衡。对于某些对噪声不敏感的网络层,使用更低精度可以大幅降低计算能耗。 - 支持更多神经元模型:当前设计支持LIF和ALIF。未来可以扩展硬件数据通路,以支持更复杂的模型,如Izhikevich模型或具有更复杂动力学的神经元,进一步提升网络的表现能力。这需要更通用的算术单元和更复杂的控制逻辑。
6.3 系统级扩展与软件生态
一个成功的硬件加速器离不开强大的软件工具链支持。
- 编译器与映射工具:需要开发一个完整的编译器,能够将高级SNN描述(如PyTorch或Brian2训练的模型)编译成适合本硬件架构的配置流。这包括:将神经元和突触分配到具体的硬件核心;计算并配置每个路由器的组播路由表和TUP聚合掩码;生成权重和参数的配置数据。这个工具链的优化程度直接决定了硬件性能的发挥上限。
- 网络拓扑灵活性:当前的TUP聚合机制是针对前馈网络(Feed-forward)的层次化结构设计的。对于具有循环连接(Recurrent Connection)的SNN,其依赖关系图可能包含环,这会给TUP聚合带来死锁风险。未来的路由器可能需要更复杂的逻辑来处理循环依赖,例如为循环连接引入独立的时间步同步机制。
- 多芯片扩展:单个芯片的规模和算力总是有限的。如何将TUP聚合和同步机制扩展到多芯片系统,是一个更大的挑战。这可能需要引入片间互联协议和层次化的全局同步控制器。
7. 总结与个人实践体会
回顾这个基于TUP聚合与可重构神经元的SNN加速器设计,其核心思想在于通过通信协议的创新来解放计算效率,以及通过硬件资源的智能复用来实现灵活性与效率的兼得。TUP聚合机制跳出了“为同步而通信”的惯性思维,转而采用“为通信而聚合”的策略,用很小的硬件代价换来了通信复杂度的降维打击。可重构神经元设计则避免了“一刀切”的妥协,让硬件能主动适应不同的算法需求。
在实际的芯片设计过程中,有几点体会尤为深刻:首先,跨层次协同优化至关重要。SNN加速器设计绝不仅仅是电路或架构单方面的事情。我们需要在算法模型(脉冲稀疏性、时间步长)、硬件架构(NoC拓扑、同步策略)、电路实现(精度、功耗)甚至工具链(映射算法)等多个层次上进行联合权衡与优化。例如,TUP聚合掩码的生成,就强烈依赖于网络映射算法对数据依赖关系的分析。其次,“简单即有效”在硬件设计中往往是真理。最初我们考虑过更复杂的动态聚合路径或自适应掩码方案,但最终发现,基于前馈层次的、静态配置的聚合掩码方案,在保证功能正确的前提下,硬件实现最简单,可靠性最高。额外的复杂性带来的边际收益很小,却会显著增加验证难度和时序风险。最后,验证是保证复杂交互系统正确的生命线。在这个包含64个核心、每个核心都有复杂状态机(神经元、TUP聚合)的系统中,验证其在不同网络映射、不同脉冲输入模式下的功能正确性,是一个巨大的挑战。我们建立了从单元测试、核心级测试到全系统仿真,再到FPGA原型验证的完整流程。特别是对于TUP聚合机制,我们编写了大量的定向测试用例和随机压力测试,模拟各种可能的TUP到达顺序和网络拥塞情况,才最终对其正确性建立了信心。
这项工作为高效、可扩展的神经形态计算硬件提供了一个具体的设计实例。它所解决的问题——同步开销和模型灵活性——是任何大规模并行脉冲神经网络硬件都无法回避的。希望其中的设计思路、折中考虑和实践经验,能为同行在探索更低功耗、更智能的边缘计算芯片时,提供一些有价值的参考。未来的道路,或许在于将这种事件驱动的、稀疏计算的范式,与更先进的计算器件(如存算一体)和封装技术(如芯粒)相结合,继续向着模拟生物大脑能效的终极目标迈进。
