为了账号安全,请及时绑定邮箱和手机立即绑定

神经形态计算:更节能、更高效的AI边缘技术

为什么计算机硬件和AI算法正在从大脑获得灵感而重新设计

Server towers connected to floating brains with windmills and solar panels in the background.

欧摩计算不仅能将人工智能推向边缘计算,还能帮助降低数据中心的碳排放。由作者通过ImageGen 3生成。

关于神经形态计算革命的定期宣告层出不穷,这种革命利用大脑的灵感来重新设计神经网络及其运行的硬件。尽管该领域仍存在一些挑战,脉冲神经网络算法和神经形态硬件方面已经取得了实质性的成功,并且在持续取得稳步进展中。这种进展为至少某些人工智能领域带来了颠覆性变化,并将降低每单位计算的能量消耗,从而使人工智能能够进一步推向边缘。在这篇文章中,我将介绍一些神经形态计算和工程的基础知识、训练方法、神经形态系统的优点以及仍存在的挑战。

神经形态系统的传统应用案例是用于需要本地计算且受能量限制的边缘计算设备,例如电池驱动的设备。然而,最近人们对使用神经形态系统产生了浓厚兴趣,旨在减少数据中心的能量消耗,例如大型语言模型(LLMs)所需的能耗。例如,OpenAI在2023年12月签署了一份价值5100万美元的意向书,以购买神经形态芯片,供应商为Rain AI。这合乎情理,因为OpenAI在推理上的投入巨大,据估计,到2024年OpenAI用于推理的费用可能高达约$40亿美元。似乎英特尔的Loihi 2和IBM的NorthPole(TrueNorth的继任者)神经形态系统均被设计用于服务器。

神经形态计算的承诺大致可以分为两个方面:1)一些实际的近期成功,以及2)更为激进的、神经科学家天马行空的想法,即脉冲动力学如何使神经网络更接近真实的智能。当然,真正让我兴奋的是第二类,但今天在这里,我将重点关注第一类。没有什么比直接进入术语更令人兴奋的了。

术语表

神经形态计算通常被定义为模仿大脑的计算,但这个定义留有很多想象空间。神经网络比经典计算更接近神经形态,但如今神经形态计算特别关注使用脉冲神经网络(SNNs,spiking neural networks的简称)来提高能效的用途。尽管SNNs是一种人工神经网络,但在神经形态计算的文献中,“人工神经网络”(ANNs)一词仅用于指代更标准的非脉冲人工神经网络。Schuman及其同事(2022年)将神经形态计算机定义为非冯·诺依曼计算机,其中处理和存储都集成在人工神经元和突触中,而与之不同的是,冯·诺依曼计算机将处理和存储分开。

Diagram comparing von Neumann computers with Neuromorphic computers

冯·诺伊曼计算机处理数字信息,配备独立的处理器和内存,并通过时钟进行同步,而神经形态计算机则通过事件驱动的脉冲进行操作,将计算和内存集成在一起,并且是异步运行的。由作者受Schuman等人2022年研究的启发而创作。

神经形态工程是指设计硬件,而“神经形态计算”更关注的是被模拟的对象,而不是模拟所使用的硬件。两者紧密相连,因为计算结果受硬件特性影响,而硬件实现的内容则取决于实践中发现的最佳方案。

另一个相关术语是NeuroAI,其目标是利用AI来获得对大脑机制的理解,并且更关注生物现实主义。Neuromorphic computation将神经科学视为实现目标的一种手段,例如在神经架构中实现能源效率和低延迟。NeuroAI研究中相当一部分依赖于脉冲平均值而非脉冲神经网络,这使得它们能更直接地与大多数应用于特定任务的现代ANNs(人工神经网络)进行比较。

事件驱动系统

由作者使用ImageGen 3创建的。

神经形态系统采用了基于事件的模式,这与现代人工神经网络的范式的转变形成了对比。即使是实时的人工神经网络,通常也是逐帧处理,活动从一层同步传递到下一层。这意味着在人工神经网络中,无论是否携带信息,所有神经元都需要进行相同的处理。事件驱动模式通常从传感器开始,并在信息需要处理的地方最大化工作量。人工神经网络依赖于矩阵运算,这些运算无论矩阵中的值如何,所需的处理时间和能量都是一样的。神经形态系统使用SNN(脉冲神经网络),其中工作的量取决于脉冲的数量,即活动的频率。

一个传统的ANN通常已经部署好,并连接到一个摄像头,该摄像头会同步记录一帧画面(通常是单次曝光)。ANN接着处理这帧画面。处理结果可能会被输入到追踪算法中,进行进一步处理。

事件驱动系统可能从装有事件相机的传感器开始。每个像素在检测到变化超过阈值时异步发送更新。因此,当在一个静止场景中有运动发生时,与运动相关的像素会立即发送事件或尖峰,而不必等待同步信号的指示。事件信号可以在数十微秒内发出,而传统相机可能每秒只能收集24帧的数据,并可能造成数十毫秒的延迟。除了能更快接收到信息外,事件系统的数据会更稀疏,更专注于运动。传统系统则需要依次通过每个网络层来处理整个场景。

脉冲神经网络学习:

An image of a teacher teaching a class of neurons the difference between cats and dogs.

训练脉冲神经网络(SNN)的一种方法是使用ANN作为教师模型来训练SNN。该图由作者使用ImageGen 3生成。

训练SNN的主要挑战之一是...对于ANN来说,反向传播算法和随机梯度下降是训练ANN时常用的两种方法。然而,这些方法在训练SNN时会遇到一些难题。到目前为止,还没有找到训练SNN的最佳方法。以下是一些常用的方法。

  1. 从ANN到SNN的转换
  2. 类似反向传播算法
  3. 突触可塑性
  4. 进化算法
ANN转SNN

创建SNN的一种方法是绕过直接训练SNN,而是训练ANN。这种方法限制了可以使用的SNN类型和硬件的选择,更符合中文表达习惯。例如,Sengupta等人(2019)将VGG和ResNets转换为ANN,使用的是一个没有泄漏或不应期的集成-发射(IF)神经元。他们引入了一种新的权重归一化技术来进行转换,该技术基于每个神经元的前突触权重来设定其放电阈值。Priyadarshini Panda博士在她的ESWEEK 2021 SNN演讲中对此进行了更详细的解释。

优点:

  1. 支持深度SNN。
  2. 允许重用深度ANN的相关知识,例如训练、结构等。

缺点:

  1. 将架构限制为仅适用于ANN及其转换过程的类型。
  2. 网络不会学会去利用SNN的特性,这可能导致准确率下降和延迟时间延长。
类似反向传播的方法有和替代梯度下降

目前用于训练SNNs(即脉冲神经网络)的最常见方法是类似于反向传播的方法。标准的反向传播不适用于训练SNNs,原因有两点:1)脉冲阈值函数的梯度在阈值以外为零,而仅在阈值点本身未定义;2)需要在时间维度上解决信用分配问题,而不是仅仅在空间维度(如颜色等)解决。

在人工神经网络(ANNs)中,最常用的激活函数是ReLU。对于脉冲神经网络(SNNs),如果膜电位超过某个阈值,神经元就会放电,否则不会。这被称为Heaviside函数。你也可以使用一个Sigmoid函数,但那样就不是脉冲神经网络了。替代梯度解决方案是在前向传播中使用标准的阈值函数,而在反向传播中则使用类似Sigmoid函数的平滑版本的导数(Neftci et al. 2019,Bohte 2011)。

优势:

  1. 与已知的方法相衔接。
  2. 与转换相比,能产生更节能的网络(Li 等,2022 年)

缺点有:

在时间和空间维度上求解可能会非常计算密集型

突触的可塑性

脉冲时间依赖性可塑性(STDP)是突触可塑性中最广为人知的形式。在大多数情况下,当输入脉冲紧接在输出脉冲之前时,STDP会增强突触连接强度。早期的模型在简单的无监督任务中应用STDP时表现出了潜力,然而,在更复杂的模型和任务中使其表现良好则更具挑战性。

其他生物学习机制包括神经元和突触的修剪和创建、稳态可塑性、神经调质、星形胶质细胞和进化。最近还有一些证据显示,某些原始形式的知识可以通过表观遗传传递。

优点

  1. 无需监督
  2. 能够利用时间特性
  3. 模仿生物学

不足

  1. 突触可塑性在不同的时间尺度上理解不足。
  2. 难以使复杂的网络正常工作。
演化优化:

进化优化技术是另一种方法,它有一些很酷的应用,特别适合小型网络。舒曼博士是这一领域的权威专家,她在ICS实验室做了一场精彩的关于神经形态计算的演讲,视频可以在YouTube上观看。

好处

  1. 适用于多种任务、架构和设备,非常灵活。
  2. 可以学习拓扑结构和参数,所需的问题背景知识较少。
  3. 学习小型网络来降低延迟。

不足

对于需要深层架构或大规模架构的问题,这种方法不适用。

神经形态系统的优势
节能效率

神经形态系统有两个主要优势:1)能源效率高和2)低延迟。有很多理由对能源效率感到兴奋。例如,英特尔声称其Loihi 2神经处理单元(NPU)相比传统的人工神经网络(ANN),能源消耗减少了100倍,同时速度可快50倍。Chris Eliasmith在YouTube上的一次演讲中将神经形态硬件上的脉冲神经网络(SNN)与相同架构的ANN在标准NVIDIA GPU上的能效进行了比较,发现与ANN在标准NVIDIA GPU上相比,SNN在Loihi上能源效率高100倍,在NVIDIA Jetson GPU上则能源效率高20倍。其能效比Intel Neural Compute Stick(NCS)和NCS 2高5到7倍。同时,SNN的准确率达到了93.8%,而ANN的准确率为92.7%。

Barplot comparing ANNs running on traditional GPUs and CPUs with an SNN running on an Intel Loihi.

作者根据Chris Eliasmith的幻灯片重新制作了一张图,展示了神经形态处理器在达到相似准确率的同时,效率提升了5到100倍。

神经形态芯片更节能,可以将复杂的深度学习模型部署到低能耗的边缘设备上。2024年10月,BrainChip推出了Akida Pico NPU,其功耗低于1毫瓦,而Intel的Loihi 2 NPU功耗为1瓦。相比之下,NVIDIA Jetson模块通常用于嵌入式ANN,功耗在10到50瓦之间,而服务器GPU的功耗则约为100瓦。

比较人工神经网络(ANNs)与脉冲神经网络(SNNs)之间的能效存在难度,因为:1. 能效依赖于硬件,2. SNNs 和 ANNs 可以采用不同的架构,3. 它们各自适用于不同的问题。此外,SNNs 的能耗会随着脉冲数量和时间步数的增加而上升,因此需要尽量减少脉冲数量和时间步数来实现最佳能效。

理论分析通常用来估计SNNs和ANNs所需能量,但这没有考虑到用于ANNs的CPU和GPU与用于SNNs的类脑芯片之间的所有区别。

看向自然可以让我们了解未来可能是什么样的,而迈克·戴维斯在一段英特尔的YouTube视频里分享了一个很好的故事:他在Interview All Access YouTube视频中讲述了这一点。

仅重两克且耗能约50毫瓦的虎皮鹦鹉大脑的能力令人称奇。这颗大脑能让虎皮鹦鹉飞行速度达到约20英里每小时,它能导航陌生的环境寻找食物,并且甚至能学会使用物体当工具,模仿人类说话。

在当前的神经网络中,存在大量的计算浪费。例如,一个图像编码器花费相同的时间来编码一张空白的页面和一本《那里有瓦尔多?》书中混乱的页面。“Where’s Waldo?”这一部分保留英文。“而在脉冲神经网络(SNNs)中,一张空白页面只会激活很少的单元,因而使用很少的计算,而包含大量特征的页面则会激活更多单元,进行更多计算。”在现实生活中,视觉区域通常包含的特征越多,所需的处理也就越多,比如一片晴朗的天空通常不需要太多处理。无论哪种情况,SNNs(脉冲神经网络)只在真正需要时才进行计算,而ANNs(人工神经网络)则依赖于难以稀疏应用的矩阵乘法运算。

这本身就非常令人兴奋。目前很多深度学习研究都涉及到将大量的音频或视频上传到云端,在那里这些数据会在大型数据中心处理,消耗大量能源进行计算和冷却计算设备,然后将结果返回。通过边缘计算,你可以在本地设备上实现更安全、更及时的语音识别或视频识别,能源消耗会少很多倍。

低延迟性

当事件相机的像素接收器达到某个阈值变化时,它可以立即在微秒内发送事件或脉冲,从而提高了效率,无需等待快门或同步信号。这种优势体现在基于事件的SNN架构中。单元可以在无需等待同步信号的情况下立即发送事件。这使得神经形态计算机在延迟上比ANN更胜一筹。因此,对于需要低延迟的实时应用,神经形态处理比ANN更具优势。然而,如果问题允许批处理,且通过吞吐量衡量速度,这种优势会减弱,因为ANN更容易利用批处理来提高效率。但在如机器人和用户界面的实时处理中,延迟更为关键。

劣势和难题
万物皆在,无处不在

其中一个挑战是,神经形态计算和工程正在多个层次上同时发展。模型的细节取决于硬件的实现,而实际模型的经验结果则指导硬件的设计。英特尔在其Loihi 1芯片的设计过程中发现了这一点,并在Loihi 2芯片的设计中引入了更多灵活性,然而,仍然存在权衡,硬件和软件方面仍有许多进展需要实现。

商用硬件供应有限

希望这种情况很快能改变,但商用硬件目前还不是很普及。BrainChip的Akida是第一款商用的类脑芯片,尽管它好像不支持标准的泄漏积分发放(LIF)神经元。原先SpiNNaker板是作为欧盟人脑计划的一部分销售的,但现已不再出售。英特尔通过Intel类脑研究社区(INRC)项目的资助,向部分学术研究人员提供Loihi 2芯片。

数据集:

神经形态数据集的数量远少于传统数据集,但可能更大。一些常见的较小的计算机视觉数据集,例如 MNIST(NMNIST,Li 等 2017 年)和 CIFAR-10(CIFAR10-DVS,Orchard 等 2015 年),已被转换为事件流,通过显示图像并用基于事件的相机记录下来。为了增加用于处理的脉冲数量,在采集图像时通常会包含移动(或称为“眼跳”)。对于较大的数据集,比如 ES-ImageNet(Lin 等,2021 年),则利用模拟事件相机来生成数据。

从静态图像中提取的数据集可能很有用,有助于比较SNN与传统ANN,并可能作为训练或评估流程的一部分。然而,SNN本质上具有时间特性,如果想要利用SNN的时间特性,将其用于静态输入并不太有意义。一些利用SNN特性的数据集包括:

  • DvsGesture (Amir et al. 2017) — 一个包含11种手势(手部和手臂动作)的数据集
  • Bullying10K (Dong et al. 2024) — 一个用于识别欺凌的隐私保护型数据集

可以生成合成数据,从标准可见光相机的数据中而无需使用昂贵的事件相机数据集。然而这些数据不会表现出事件相机所具备的高动态范围和高帧率。

Tonic 是一个示例 Python 库,它让访问这些基于事件的数据集变得容易。这些数据集本身往往比传统数据集占用更多的空间。比如,MNIST 的训练图像大小约为 10MB,而在 N-MNIST 中,大小则接近 1GB。

另一个需要考虑的问题是,可视化这些数据集可能会很困难。即使是源自静态图像的数据集,也可能难以匹配原始输入图片。此外,使用真实数据的一个好处是避免训练与实际应用之间的差距,这通常是因为使用真实数据可以减少训练和实际应用之间的差距。因此,使用这些数据集的好处可能取决于它们与部署或测试时所用摄像头拍摄的图像的相似程度。

最后:结论

由作者用ImageGen 3和GIMP制作。

我们正处于神经形态计算的激动人心的时刻,既有硬件投资也有脉冲神经网络技术的进步。尽管采用过程中仍面临一些挑战,但已经证明,在能效方面,尤其是在标准服务器GPU方面,它们比传统的ANN更节能,同时具有更低的延迟和相似的准确性。许多公司,包括英特尔、IBM、高通、模拟器件、Rain AI和BrainChip,都在神经形态系统上投入了资金。BrainChip是第一家使其神经形态芯片商业可用的公司,而英特尔和IBM则分别推出了第二代研究芯片(Loihi 2和NorthPole)。最近几年,这些公司成功开发了脉冲变压器和其他深度脉冲神经网络,这些成果紧随Spikformer论文(周等, 2022)和SEW-ResNet论文(方等, 2021)的步伐。

参考文献

资源

YouTube谈话
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消