章节 01
导读 / 主楼:SpikingLLM:通过分布感知多粒度相位编码降低脉冲驱动大语言模型的转换误差
ICLR 2026接收论文开源实现,提出分布感知多粒度相位编码方法,有效降低ANN到SNN转换误差,在LLaMA-2和LLaMA-3模型上实现高效脉冲神经网络推理。
正文
ICLR 2026接收论文开源实现,提出分布感知多粒度相位编码方法,有效降低ANN到SNN转换误差,在LLaMA-2和LLaMA-3模型上实现高效脉冲神经网络推理。
章节 01
ICLR 2026接收论文开源实现,提出分布感知多粒度相位编码方法,有效降低ANN到SNN转换误差,在LLaMA-2和LLaMA-3模型上实现高效脉冲神经网络推理。
章节 02
章节 03
脉冲神经网络(Spiking Neural Network, SNN)被誉为第三代神经网络,以其事件驱动的计算特性和生物可解释性而备受关注。与传统的ANN(人工神经网络)相比,SNN仅在神经元发放脉冲时消耗能量,这种稀疏激活特性使其在能效方面具有巨大优势,特别适合边缘计算和神经形态芯片部署。
然而,将SNN应用于大语言模型(LLM)领域面临着严峻挑战。由于SNN的离散脉冲机制与LLM的连续激活函数存在本质差异,直接将预训练的LLM转换为SNN会产生显著的精度损失,这一问题被称为「ANN-to-SNN转换误差」。现有的转换方法往往难以在保持模型性能的同时实现高效的脉冲推理。
来自NJ Zheng等人的研究团队针对这一难题,提出了「分布感知多粒度相位编码」(Distribution-Aware Multi-Granularity Phase Coding)方法,成功实现了LLaMA系列模型的高效脉冲驱动推理,相关成果已被ICLR 2026接收。
章节 04
相位编码(Phase Coding)是SNN中一种重要的时间编码方式,它利用脉冲发放的时间点来编码信息。与传统的速率编码(Rate Coding)相比,相位编码能够在更短的时间步内传递更多信息,从而提高SNN的推理效率。
在相位编码中,神经元的激活值被编码为脉冲在特定时间窗口内的发放时间。例如,较高的激活值对应较早的脉冲发放时间,较低的激活值对应较晚的发放时间。这种编码方式使得SNN可以在单个时间步内传递模拟值信息,大大提高了信息传递效率。
章节 05
研究团队发现,单一粒度的相位编码难以适应LLM中不同层、不同神经元的激活分布差异。为此,他们提出了「多粒度相位编码」策略,允许模型根据激活值的分布特性自适应地选择编码粒度。
具体而言,该方法将神经元分组,每组使用不同的编码粒度(grain)。例如,某些组可能使用2级粒度(将激活范围分为2个区间),而其他组可能使用3级粒度(将激活范围分为3个区间)。这种灵活的分组策略使得编码能够更好地匹配各组神经元的实际激活分布。
章节 06
「分布感知」是该方法的核心创新之一。研究团队通过分析LLM各层激活值的统计分布,识别出不同层、不同位置的神经元具有不同的激活分布特性。基于这些分布信息,他们设计了一套优化算法,自动为每个神经元组选择最合适的编码粒度。
这种分布感知的方法确保了编码资源被合理分配:对于激活分布较为集中的神经元组,使用较粗的粒度即可保证精度;而对于激活分布较为分散的神经元组,则需要使用较细的粒度来充分表达信息。
章节 07
该项目提供了完整的训练和转换代码,支持LLaMA-2-7B和LLaMA-3-8B模型的ANN-to-SNN转换。实验结果表明,该方法在多个基准测试上取得了优异的性能:
LLaMA-2-7B实验结果(使用8个时间步,T=8):
LLaMA-3-8B实验结果(使用8个时间步,T=8):
这些结果表明,即使在较少的时间步(如6-10步)下,该方法仍能保持较高的模型性能,显著优于传统的ANN-to-SNN转换方法。
章节 08
快速Hadamard变换:项目使用了Dao-AILab开发的fast-hadamard-transform库,用于高效计算Hadamard变换,这是实现相位编码的关键数学工具。
Grain分析优化:研究团队通过Grain Analysis模块分析神经元激活分布,为每个神经元组选择最优的编码粒度。优化后的参数配置相比原始论文报告的结果有进一步提升。
训练框架:项目基于PyTorch 2.4.1构建,支持CUDA 12.4,并集成了Flash Attention等高效注意力机制实现。