摘要:神经形态计算(Neuromorphic Computing)指脑启发的硬件与算法设计方法,研究者们借鉴神经科学中的生物智能原理来设计高效的计算系统,尤其适用于对体积、重量和功耗有严格要求的应用场景。当前,该研究领域正处于发展的关键阶段,因此明确未来大规模神经形
摘要
神经形态计算(Neuromorphic Computing)指脑启发的硬件与算法设计方法,研究者们借鉴神经科学中的生物智能原理来设计高效的计算系统,尤其适用于对体积、重量和功耗有严格要求的应用场景。当前,该研究领域正处于发展的关键阶段,因此明确未来大规模神经形态计算系统的发展方向至关重要。本文探讨了构建规模可扩展的神经形态计算架构的方法,并总结了其中的关键特征。此外,我们分析了可以从规模扩展中获益的潜在应用场景,以及需要解决的主要挑战。进一步地,我们审视了支持该领域持续发展的完整技术生态系统,并探讨了规模扩展所带来的新机遇。我们的研究汇总了多个计算子领域的观点,为神经形态计算研究人员和从业者提供指导,以推动该领域的进一步发展。研究领域:神经形态计算,脑启发,生物智能
作者:Dhireesha Kudithipudi, Catherine Schuman, Craig M. Vineyard等
译者:Shenky20
论文题目:Neuromorphic computing at scale
论文地址:https://www.nature.com/articles/s41586-024-08253-8
随着神经网络在越来越多的应用领域产生广泛影响,人类大脑仍然是研究者们进一步模拟复杂计算能力并实现突破的重要灵感来源。然而,要实现受大脑启发的机器智能需要在计算平台的设计与构建方式上进行根本性的变革。在这一方向上,最具前景的研究之一是神经形态计算(Neuromorphic Computing),即受大脑启发的硬件与算法设计方法,能够高效实现人工神经网络[1]。神经形态计算领域研究者借鉴神经科学提出的生物智能(Biointelligence)原理来设计高效的计算系统,尤其适用于对体积、重量和功耗有严格限制的应用场景。
根据近年来神经形态计算原型(prototype)系统的发展速度进行推测,该领域在未来人工智能(artificial intelligence)应用中具有巨大的潜力。预计到2026年,神经形态计算芯片的市场规模将达到5.566亿美元[2]。一些神经形态计算芯片正快速进入早期商业市场,并已展现出在不同规模的计算任务中实现极低功耗和低延迟性能的潜力[3,4]。这一领域迅速发展的原因之一在于其系统的多功能性。例如,传统计算的进步通常专注于特定类型的计算架构——超算领域聚焦于百亿亿次(Exascale)计算,而嵌入式系统则强调小型化,这两种架构通常不会相互借鉴,而神经形态计算则能够通过统一的计算技术在这两类计算架构中同时带来变革,具备颠覆性的潜力。当前该领域面临的关键问题在于神经形态计算是否已经准备好实现真正的计算突破,类似于“AlexNet时刻”(见框1)。此外,评估某种方法的成熟度远比计算单一的性能指标更加复杂,规模化是衡量该领域进展的重要维度之一。如今神经形态计算正处于关键发展阶段,我们的目标是识别并解决关键需求,从而推动变革性影响的产生。
与传统深度学习加速器相比,神经形态计算系统(Neuromorphic Computing Systems)具备以下几个显著的计算优势:
计算与存储紧密耦合,避免了计算单元与存储设备之间高成本的数据传输。
基于脉冲或事件的稀疏分布式信息编码,能够携带时间信息。
动态且局部的学习机制,无需通过反向传播在多个层级上传播误差,从而降低能耗。
通过学习实现稳定的感知,并能够对感官信号进行预测。
跨多个时间尺度进行动态计算,支持实时学习与处理。
然而,这些特性并非“万能解”。以上优化也可以通过完全自上而下的工程方法来实现,但我们认为,借鉴进化过程中形成的解决方案可能会带来更快速的发展路径。神经形态计算正是这一方向上的探索之一,其独特优势在于紧密联系神经科学与生物学,而后者已经通过自组织、动态重连、三维生长、模块化、高效信号编码、稀疏计算、基于事件的计算等机制,成功解决了类似的挑战。因此,神经科学与生物学原理有望为大规模神经形态计算系统的设计提供灵感。
在图1中,我们展示了神经形态计算系统的发展时间线,涵盖了该领域至今所取得的关键技术进展。这些系统的底层架构标志着计算在复杂性、通用性和异构性方面的重要里程碑。然而,在计算堆栈的每个层级仍然存在诸多挑战,必须加以解决,才能使大规模神经形态计算机真正走向实用化并被广泛应用。
图1展示了神经元数量(y轴)、芯片与计算板的规模随时间(x轴)增长的趋势。尽管这仅代表规模扩展的一个维度,但在这一过程中,计算架构和通信模型也在不断演进以支持系统的扩展。随着神经形态计算的发展,对规模化能力的提升需要综合考虑架构设计、部署策略和工具链等多个方面。为简洁起见,图中仅展示了部分公开记录的神经形态加速器[3,37,39,40,41,49,102,109,110,111,112,113,114,115,116,117,118,119,120,121]。目前,部分系统(如DeepSouth)采用现成芯片(例如现场可编程门阵列(FPGA, Field-Programmable Gate Array))以实现规模化扩展。而其他架构(如IBM NorthPole122)则探索通过类神经功能加速神经网络计算,其中神经元并非核心计算单元,因此这些架构的进展未纳入图中。神经形态计算领域正快速发展,预计2026年将出现拥有超过100亿个神经元的神经形态计算系统。
在本文中,我们探讨了可扩展且实用的神经形态计算基础设施[5]的本质、需求、重要性及面临的挑战。具体而言,我们分析了规模化计算的关键特征,并讨论如何使大规模神经形态计算基础设施更广泛地服务于不同领域的研究人员和从业者。此外,我们深入研究了神经形态计算的计算堆栈及工具链,识别了其中的关键挑战与潜在机遇。我们期待这些观点能够激发新的思考和跨学科合作,从而加速大规模神经形态计算系统的发展。
框1:神经形态计算的“AlexNet时刻”
在探索大规模神经形态计算的潜力时,我们可以从深度学习革命的演进历程中获得启发。两者都建立在不同层次的神经网络理解之上,并经历了长期的技术瓶颈期。类似于卷积神经网络(CNN, Convolutional Neural Network)在手写数字识别[140]方面的成熟,神经形态计算正处于即将迎来“AlexNet时刻”的阶段——一个能够突破现有局限、充分展现其潜力的关键转折点[141]。本文总结了当前亟待解决的问题,这些问题的突破将加速神经形态计算的发展,使其影响力可与深度学习相媲美。
神经形态计算的进展可能取决于专用硬件,正如AlexNet(一种经典的卷积神经网络,由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在 2012 年 ImageNet 图像分类竞赛中提出,将图像分类的正确率提升到前所未有的高度)的成功依赖于通用图形处理单元(GPU)的性能提升。AlexNet的出现引发了深度学习模型的规模化浪潮,带来了更强的计算设备[142]、更大规模的神经网络[143]以及显著提升的芯片性能[144]。类比而言,为了释放其潜力,神经形态计算需要确定其关键的硬件需求。虽然当前大规模深度学习系统依赖数千颗加速芯片,但神经形态计算的突破可能来自一个小规模硬件配置——毕竟,AlexNet最初仅使用了两块GPU。如果神经形态计算能够在小规模系统上实现突破,则将激发更大规模系统的研发,进而重复深度学习的成功路径。因此,在小规模神经形态计算中涌现的“AlexNet时刻”,有望为未来大规模神经形态计算的落地应用奠定基础。
我们将大规模神经形态计算定义为一个包括算法、硬件、架构和基础设施的计算系统,其具备在规模、速度和能耗等方面满足复杂现实任务需求的能力。这一目标可以通过在数据中心中利用多个大规模系统进行虚拟化访问,通过边缘设备构成的大型网络实现分布式智能,或两者相结合。要推动神经形态计算的规模化发展,必须超越实验室中的概念验证,实现面向现实任务的规模化部署。一旦规模化落地,神经形态计算可能会被数百万用户所采用,无论他们是否意识到其存在。因此规模化落地能够标志神经形态计算从传统研究范式向实际应用的重大转变。高性能计算(HPC)领域中近期神经形态应用的增长可以提供初步示范。大多数科学计算的高性能计算系统是基于计算资源,可以根据不同科学任务的需求进行资源扩展。尽管神经形态计算在本质上不同于冯·诺依曼(Von Neumann)架构,但其通用计算架构或许非常适合HPC场景中的按需计算资源:同一套神经形态系统既可以用于大规模科学计算模拟,也可以支持小型化的边缘计算和分布式智能应用。
随着神经形态计算系统的发展,规模化能力的提升需要综合考虑开发、部署和工具链等多个方面。目前,虽然大规模神经形态计算系统的研究正以极快的速度推进,但直到最近才开始产生较大影响。尽管未来的具体发展难以预测,但我们预计其带来的变革性影响不会亚于人工智能革命。
长期以来,微电子产业一直以“规模”作为创新进展的核心度量标准。例如:摩尔定律(Moore’s Law)描述了硬件密度的提升趋势;超级计算机的计算能力以每秒浮点运算次数(FLOPS, Floating-Point Operations Per Second)来衡量。这一统一度量方式,为从资源受限的微控制器到满足HPC需求的服务器级处理器提供了性能评估依据。因此,以类似的扩展度量体系衡量神经形态计算的规模化发展是合理的。这种方法既能量化计算性能(计算操作数量),也能直观地类比神经形态系统的神经元规模,例如将其与不同动物大脑的神经元数量进行对应[6]。然而,尽管这些度量方式能够反映计算能力的提升,但它们低估了神经形态计算的独特特性。规模化发展带来了制造、测试和可靠性等方面的挑战,尤其是在非受控环境下的性能表现、基础设施适配和用户可用性等方面。
目前,该领域的科研与初创投资正在空前增长,同时器件与架构也在不断趋于成熟[2]。神经科学正在加深对大脑机制的理解[7],进而启发神经形态计算工程师,推动感知计算系统的创新,并拓展至新的应用领域[8]。已有多个领域的概念验证案例展示了神经形态计算的潜力,例如科学计算,人工视觉[9,10],机器人技术[11],生物信号处理[12],太空计算,计算神经科学[13,14]。这些案例(见图2)证明了神经形态计算的可行性,但与真正的规模化发展之间仍然存在较大鸿沟。推动神经形态计算规模化的关键在于明确规模化系统所需的核心特性,以及确定最有利于其广泛应用的条件。在本文中,我们将重点探讨对神经形态计算的研究、工程设计和应用起到关键作用的各个方面。
本文所描述的神经形态计算生态系统由以下几个层次构成:
硬件与软件技术:硬件包括神经形态芯片与计算板[123,124,125],软件涵盖则神经形态计算框架与工具链⁶⁶ [66,67,72,77,126,127]。
硬件/软件协同设计(Co-Design):通过软硬件联合优化,提高系统的计算效率和灵活性。
工作流(Workflow):形成完整的神经形态计算生态[4,128,129],支持不同任务的适配。
原型系统及应用领域:基于嵌入式传感与执行系统(Sensors[55] & Actuators[130,132])的神经形态计算板(Prototype Boards)在具体领域[9,10,14,128,130,131]的应用。
外部工具及框架集成:通过一系列外部工具[133,134,135,136,137],与神经形态计算框架进行集成。
社区反馈与研发推动:研究社区的反馈机制起到研发加速器的作用。
在数据中心中利用多个大规模神经形态系统进行远程访问,通过边缘设备构成的大规模智能网络,实现分布式计算,或者结合数据中心计算与边缘智能,从而形成完整生态,为神经形态计算的广泛应用提供了基础架构支持。
如何确定神经形态计算系统相比于深度学习加速器或传统冯·诺依曼(Von Neumann)处理器,具有更高效率和更强扩展性的特性,这仍然是一个挑战。因此,我们识别出一系列对于实现神经形态计算优势的关键特性(见图3)。需要强调的是,这些特性并不会取代神经形态计算的核心特性[2],而是为了实现规模化部署需要进一步优化。
分布式与层次化(Distributed and Hierarchical)
神经形态计算系统应当具备分布式计算能力,并采用层次化结构,类似于大脑视觉皮层(Visual Cortex)等区域的层级组织方式[15,16]。这种架构能够解耦复杂输入[17,18],在不同层次处理不同尺度的信息[18],增强大规模模型的控制能力从而提高模型的可解释性,通过信息解耦(Disentangling)简化数据并减少计算冗余,避免线性或非层次化网络[19]的低效计算,不需要特殊机制[20]或监督。因此,支持分布式与层次化计算是神经形态计算实现规模化的关键因素之一。
稀疏性(Sparsity)人脑在活动与连接模式上表现出高度的稀疏性,这是其可扩展性的关键因素。研究表明,大脑的突触在发育过程中经历稀疏连接、密度增强、大规模剪枝和稳定稀疏性维持的过程[21]。其中稀疏性可以降低表示复杂度,仅使用必要的神经元和连接,提升计算、存储和能耗效率,而不损失精度。稀疏化可以分为结构性稀疏(Structural Sparsity),如神经元、突触权重、注意力头的剪枝,以及瞬时稀疏(Ephemeral Sparsity),如激活值、梯度、误差的稀疏化[22]。尽管神经形态计算天然支持事件驱动(Event-Driven)计算[23,24,25,26],但仍需进一步探索稀疏机制以实现更大规模计算和泛化能力。此外,稀疏性还可能通过采用非传统的空间布局[27]来加快模型扩展速度。
神经元可扩展性(Neuronal Scalability)神经元可拓展性指能够支持大规模神经元的单芯片或多芯片系统,使深度脉冲神经网络(Spiking Neural Network, SNN)或基于脉冲频率的算法能够在各类机器学习应用中解决复杂现实问题[23,28,29]。这种可扩展性还使我们能够实时模拟完整的人脑,从而推动认知计算和神经科学研究的发展。目前规模化计算可以通过堆叠多个神经形态芯片来实现(见图1),支持数亿个神经元的计算能力,极大地拓展了应用范围,例如求解非确定性多项式时间(NP)完全问题、运行大规模神经模拟或执行复杂图算法[30,31]。
要推动神经形态计算的更广泛应用,必须引入可集成不同计算资源和神经形态元件[32,33]的特性,并支持外部工具和传感器的融合,这种能力被称为异构集成(Heterogeneous Integration)[34,35],即能够在单个神经形态系统内整合多种设备技术,进行多传感器数据融合,并支持大规模混合人工神经网络(ANN)和脉冲神经网络框架的部署。
异步通信(Asynchronous communication)许多神经形态芯片采用基于事件的异步通信协议来支持地址事件表示(AER, Address Event Representation)架构下的数据收发。地址事件(Address Events)作为芯片的输入,代表接收输入事件或脉冲的神经元[36]。这些协议已有多个变体,并能够在不同芯片架构中实现,如第一代芯片(如硅视网膜感知系统)、皮层认知处理系统[3,37,38]、复杂片上网络(NoC, Network on Chip)架构[32,39,40,41]等。这些进展使得异步通信技术更加成熟,并促进了大规模系统的集成。
动态可重构性(Dynamic reconfigurability)大脑本质上是一个动态系统。研究表明,执行认知任务需要大脑区域之间的动态网络重组,并形成复杂且瞬时的通信模式[42]。为了实现类似功能,多个神经形态系统需要支持不同形式的动态可重构性[23,43,44,45,46]。这种能力可以作用于基础计算单元(如突触、神经元、轴突、树突)或整体系统。在某些芯片中,突触连接的可重构性和一对多通信能力可以用于线性滤波,包括边缘检测和平滑运算。
冗余性与相关性(Redundancy and correlation)神经元执行多种任务的能力部分归因于神经冗余性。神经元之间的相关性影响着数据在神经元群体中的编码方式和群体神经计算的解码方法[47]。研究表明,冗余的活动模式可能对神经计算有利[48],使计算在神经动态不稳定的情况下仍能保持稳定并有效滤除噪声。尽管已有多个神经形态系统[3,32,39,49]支持类似机制(如跳零(Skip-Zero)与零权重(Zero-Weight)方法),但仍然有扩展空间。
传感器与计算端的接口(Sensor and compute interfaces)
除核心计算系统外,应用的端到端开发还需要将外部传感器和执行器高效集成至神经形态计算工具链。目前,大多数商用传感器采用非脉冲式协议,需要内核级接口将数据转换为脉冲编码格式。优化的神经形态驱动可以极大提升低延迟任务(如音频和视觉处理)的性能[50,51]。通用神经信息格式(Neural Information Format)的采用[52,53,54]能够使神经形态驱动更加通用化,避免硬件依赖。神经形态传感器(如事件驱动相机[55])可进一步减少响应时间,适用于高速运动捕捉任务。医疗设备(如硅电子耳蜗[56]、电子皮肤假肢[57])则可提升感知的精度与灵敏度。
资源感知(Resource awareness)为了提升效率与多功能性,加速器的设计必须具备资源感知能力。资源感知指系统在运行过程中追踪自身的能耗、计算与存储资源,并根据任务需求动态调整资源分配的能力。自适应(Self-Aware)架构和持续学习(Continual Learning)[58 ]加速器提供了现这一特性的可借鉴思路。
这些特性增强了神经形态计算系统的核心特征,并在多个方面直接借鉴了大脑及神经处理机制[138,139]。不同特性的成熟度发展具有不同的时间尺度:部分特性将在短期内达到较高的成熟水平,另一些特性可能需要更复杂的技术手段才能实现相同水平的成熟度。
每种关键特性都可以从以下几个方面进一步探讨其影响,例如功耗(Power),性能(Performance),可扩展性(Scalability),自适应能力(Adaptability)和集成的多样性(Versatility of Integration)。此外我们还注意到,一些本质上属于神经形态计算的特性同样适用于大规模传统计算系统的设计。例如极端并行计算(Extreme Parallelism)是大规模超级计算机架构的基础,并不局限于神经形态计算。而在模型扩展性方面,调整扩展曲线的斜率可以训练比当前更大规模的模型,为突破现有计算能力限制带来一种可能性,或者在相同算力下使用较小模型但进行更长时间的训练、使用更大规模的数据集。这使得未来趋势可能是训练大量小型模型,每个模型针对特定任务的数据集优化,从而避免了单一大模型在小众任务上的性能下降,尤其是在长尾任务和小样本应用中表现更优。因此,尽管某些计算设计概念并非神经形态计算独有,在统一计算模型中的协同作用才是其真正的价值所在。
在总结一些关键挑战与机遇时,我们需要注意的是目前对大脑的理解仍然有限,而神经形态计算则有望为加深对大脑认知提供机会。
尽管神经形态计算已取得了重大进展,并展现出在多个社会应用领域构建可持续且稳健技术的颠覆性潜力,但在其广泛落地并产生实际影响之前仍需克服诸多挑战。这些挑战涉及神经形态硬件设计者、用户及算法开发者,涵盖从软硬件协同设计(Co-Design)(见框2)到技术采纳与商业化等多个层面。
从开发者的角度来看,神经形态计算面临多个方面的挑战:
硬件易用性:需要提供更高级的编程抽象(类似于从汇编语言向面向对象编程的过渡),使开发者无需深入理解底层硬件即可使用。由于神经形态硬件的多样性,模型在不同平台上的复用性较差,从而使得算法与特定硬件紧密绑定。计算原语(Computational Primitives)和硬件约束在不同平台间差异显著,因此需要制定通用的硬件与软件标准以减少跨平台算法的适配成本。
跨平台兼容性:硬件抽象层(HAL, Hardware Abstraction Layer)的引入对于神经形态计算平台至关重要,这有助于构建通用编译方案(Compilation Scheme),使任意脉冲神经网络(SNN, Spiking Neural Network)模型能够移植到不同的硬件架构上。目前的神经形态计算生态系统仍然缺少一些关键组件(详见图4)。在现有的脉冲神经网络框架中,互操作性仍然有限,与传统人工神经网络框架的高互联性存在显著差距。
开发体验优化:缺乏推理优化器、拖拽式编辑器和跨平台兼容性工具,影响开发的便捷性,并增加了新用户的学习成本。对于资深开发者和大型企业而言,缺乏集成的云端扩展、部署和生命周期管理资源不利于大规模开发和应用。综上,领域迫切需要跨框架与跨硬件的交叉编译(CROSs-Compilation)工具以减少重复开发,并促进生态系统之间的迁移。近年来在弥合这些差距方面已经取得重大进展,部分关键技术空白正逐步被填补,例如AI 视觉工具包、模拟器/分析工具和自动超参数搜索框架已集成到现有工具链中[40,50,52,53,59,60,61,62,63,64,65,66,67,68,69,70,71,72],对动态架构和低级计算原语模拟的支持已可与主流 AI 工具相媲美。但虽然低级神经元计算原语的交换格式已被广泛采用,高层神经元拓扑结构的交换格式在不同框架间仍然缺乏统一标准。主流AI/ML 工具链曾面临类似的挑战,最终通过ONNX 格式的联合开发和广泛采用得以缓解[73,74]。因此,神经形态计算领域同样需要推动类似标准的建立或采用,以规范脉冲神经网络模型的描述与交换。
提高工具与平台的可访问性:提供全面的文档支持和健全的社区反馈机制,将有助于吸引更多新用户,促进神经形态计算的发展。这一进展将推动集成系统组件的开发,形成可复用的生态系统(例如 ROS、Linux),而不是专注于特定硬件任务的孤立功能模块。
主流人工智能/机器学习生态系统(图中上半部分,每个案例研究对应一列)已经建立了完善的开发管道(Pipeline),并且在框架、编译器和硬件之间实现了广泛的互操作性。而相比之下,神经形态计算生态系统(图中下半部分,每个案例研究对应一列)仍然存在较多关键缺失组件,需要进一步完善。识别并填补这些空白对于构建更全面、协作性更强的神经形态计算生态系统至关重要。我们提供了三个案例研究进行对比分析:案例A,大规模部署与推理优化;案例B,图神经网络(Graph Neural Networks, GNN)的开发与分析;案例C,AI模型到通用或特定硬件的编译。图中心标注了AI/ML 生态系统和神经形态计算系统中共有的软件组件,而神经形态计算系统缺失的软件组件则以空白块表示。当前神经形态计算生态系统尚未完善的部分,需要进一步的工具和框架开发,以实现与人工智能/机器学习领域相类似的互操作性和生态成熟度。
科学研究社区偏好工具的灵活性,而终端用户和产品设计师更注重工具的效率。因此,提高神经形态计算系统采用率的一种策略是借鉴早期AI工具链(如Torch和Theano[75,76])的发展模式,即在早期开发阶段优先考虑灵活性而非效率,从而吸引更广泛的科学研究社区参与开发。这种社区驱动的发展模式促使更高效的后端(Back-End)计算框架的诞生,例如PyTorch[77]。
与此同时,应用开发者面临的一大障碍在于神经形态计算系统需要一种根本上不同的编程范式,即结合神经计算原语(Primitives)来编写“程序”。这对没有神经形态计算或计算神经科学经验的研究人员和工程师构成了进入门槛。因此,需要建立坚实的理论基础来指导如何使用神经计算模块(Building Blocks)来实现计算。例如,常微分方程(ODE, Ordinary Differential Equation)求解器可用于建模神经动力学。目前已有一些初步工作采用了数学建模方法来研究这一问题,例如神经工程框架(NEF, Neural Engineering Framework)[78]和动态神经场(Dynamic Neural Fields)[79]。
从设计者的角度来看,神经形态计算系统的开发需要贯穿整个计算栈(Stack)的各个层级:器件、电子电路、计算架构、算法和应用的发展应在神经形态系统中无缝集成,高度同步各个层级的进展以确保系统设计的整体性。值得注意的是,为了使这些系统能够扩展至复杂任务,系统组件必须具有模块化(Modularity)特性。这引出了一个核心问题:神经形态计算系统当前使用的神经元和突触是否是正确的抽象级别?目前领域的主流实现基本都基于神经元-突触模型,但这一抽象是否适用于未来的规模化发展仍有待讨论。此外,神经形态算法通常强调生物可解释性(Biological Plausibility),但这未必是实现最佳任务性能、可扩展性和高能效的最优选择。部分原因在于,神经形态计算的基础架构与生物神经系统存在根本性差异,并且生物系统的复杂性远超当前简化的生物计算模型,许多层级的复杂性未能在现有模型中体现。挑战在于如何开发合适的算法抽象层级,使我们能够在清晰而聚焦的框架下讨论算法的效率与可扩展性,同时忽略对不重要生物学细节的计算。要实现神经形态算法的规模化还需要特别关注异步和分布式算法,但这一方向的研究主要由不同于深度学习与神经形态计算主流社区的研究群体推动,尚未形成紧密的协作。确定关键接口需求(如高速传感器集成、多种传感器兼容性)同样是系统设计阶段必须解决的重要挑战。最后,如何持续吸引神经科学家参与跨学科合作,特别是在神经形态研究人员主导部分神经科学实验的情况下,也将是未来需要重点解决的问题之一。
从用户的角度来看,重大挑战则在于如何确定适合的应用领域以充分发挥神经形态计算的优势。一个有用的类比是量子计算(Quantum Computing)的发展。量子计算之所以能够获得数十亿美元的投资,部分原因在于其存在形式化的复杂度优势,例如Shor 算法在整数因子分解问题上的优势使得其在密码学领域具有实际影响,即量子计算的理论复杂度证明能够为其提供明确的价值支撑。相比之下,尽管已有研究表明在某些特定任务上神经形态硬件在性能或能耗方面具有优势,但仍缺乏类似的形式化复杂度证明,这几乎肯定影响了对神经形态计算硬件的投资。换句话说,量子计算的理论证明比神经形态计算的“存在性证明”(即人脑的计算能力)更具吸引力。
许多神经形态计算展现出潜力的任务,例如终生学习(Lifelong Learning)或持续学习(Continual Learning)[58,80]、在稀疏数据环境中的学习、在噪声和变化条件下的鲁棒性、基于实时传感器数据的超低功耗机器学习等,都难以通过数学上可证明的方式来拆解为一系列难度递增的基准(Benchmark)测试任务。此外要实现闭环基准测试,神经形态芯片需要能够与传感器和执行器无缝连接,因而迫切需要建立标准化的通信协议。通信协议需要涵盖从低级电子电路实现到更高层,确保不同类型的芯片(包括传感器、分布式自适应处理器、多核百万神经元系统等)能够无缝交互,且能够兼容非神经形态计算系统,形成统一的计算生态。
框2:硬件/软件协同设计(Hardware/Software Co-Design)
从本质而言神经形态计算是一个跨学科领域,它融合了神经科学、计算机科学、工程学和人工智能。由于这些学科的研究方法和最佳实践各不相同,神经形态系统的设计也可以采用多种方法。一种设计神经形态系统的方法是从大脑的可塑性和多层级学习机制中汲取灵感,将其转化为计算模型,然后在硬件和软件层面协同开发,最终部署成系统。
自顶向下(Top-Down)方法:研究人员在不涉及详细的神经元或突触模型[15,16]的前提下,抽象出大脑皮层的层次结构,并利用这些模型来指导硬件和算法的设计。在此过程中需要识别大脑中的关键计算架构和连接模式,以便构建可扩展的神经形态计算系统。
自底向上(Bottom-Up)方法:设计者利用底层器件的固有特性来推动新的算法进展,从而优化计算架构和系统[145,146]。该方法依赖于新兴技术的突破,例如存内计算(In-Memory Computing)[147,148,149],新型器件技术(Emerging Device Technologies)[150,151],低精度算术计算(Low-Precision Arithmetic)[123,152]等。
然而,无论采用自顶向下还是自底向上的方法,都会因算法设计者和硬件架构师对彼此的技术细节缺乏了解而引入低效问题。潜在的解决方案是采用硬件/软件协同设计(Co-Design)
来源:人工智能学家