(Nature)面向混合天机芯片架构的人工通用智能(AGI,强人工智能)
Towards artificial general intelligence with hybrid Tianjic chip architecture1.摘要开发AGI(人工通用智能,也叫强人工智能)有两个通用的方法为导向:①计算机科学②神经科学。然而由于它们的公式和编码不一样,这是两个完全不兼容的平台,这也阻碍了AGI的发展。所以一个可以支持流行的基于计算机科学的人工神经网络以及受神经科学启
Towards artificial general intelligence with hybrid Tianjic chip architecture
1.摘要
开发AGI(人工通用智能,也叫强人工智能)有两个通用的方法为导向:①计算机科学②神经科学。然而由于它们的公式和编码不一样,这是两个完全不兼容的平台,这也阻碍了AGI的发展。所以一个可以支持流行的基于计算机科学的人工神经网络以及受神经科学启发的模型和算法的通用平台存在是很有必要的。
本文提出了一个天机芯片,它集合了两种方法。它的实现采用了多核架构、可重构的构建块和流线型数据流。不仅可以适应用于计算机科学的机器学习算法,而且可以实现智能电路和几种编码方式。
本文展示了,仅使用一个芯片,实现无人自行车系统中通用算法和模型的同时处理,实现实时目标检测、跟踪、语音控制、避障和平衡控制。本文的研究有望通过为更通用的硬件平台铺平道路,来刺激AGI的发展。
2.引言
以神经科学为导向的AGI方法试图密切模拟大脑皮层,基于对记忆和计算之间紧密互动的观察、丰富的时空动态、基于尖峰的编码方案和各种学习规则,这些规则通常表示为尖峰神经网络(spiking neural networks,SNNs,文献9-12)。相比之下,以计算机科学为导向的方法主要涉及在计算机上执行的显式算法(文献13)。在这些算法中,流行的非尖峰人工神经网络(ANNs)部分受空间复杂度(文献14)的启发,在处理特定任务(文献15、16)方面取得了重大进展,如图像分类(文献17)、语音识别(文献18)、语言处理(文献19)和游戏玩法(文献20)。
上诉方法可以解决数据丰富的专门领域的子问题,但仍然很难解决很多系统相关(文献21)的不确定性或不完整信息的复杂动态问题。为了进一步提高实现AGI所需的情报能力,有越来越多的趋势是将更受生物启发的模型或算法纳入流行的神经网络,从而导致两种方法(文献22-29)之间进行更明确的对话。
考虑到目前在机器学习和神经科学方面的进展,AGI系统至少应具有以下特征:①支持庞大而复杂的神经网络,它可以代表丰富的空间、时间和时空关系②支持层次结构、多粒度和多域网络拓扑,且不局限于专门的网络结构③支持广泛的模型、算法和编码方案④支持为并行处理中为不同任务设计的多个专门神经网络的交织合作
这需要一个通用的平台来在一个统一的架构中有效地支持这些特性,以实现流行的神经网络以及受神经科学启发的模型和算法。
为了支持这些特性,我们开发了一个跨范式计算芯片,它可以兼容面向计算机科学和面向神经科学的神经网络,如下图所示。
3.具体设计
设计一个与不同的神经模型和算法兼容的通用平台是一个基本的挑战,特别是对于不同的神经网络和生物启发的平台(例如,SNN)原语。通常,ANNs和SNNs在信息表示、计算哲学和记忆组织等方面都有不同的建模范式,如下图。
在这些差异中,最大的是ANN以精确的多位值处理信息,而SNN使用二进制尖峰序列。要在一个平台上实现两个模型,峰值需要表示为数字序列(1或0),以便它们与数字数字的ANN编码格式兼容。
其他也需要仔细考虑一些关键点。
- SNN在时空领域工作,这需要在一定的持续时间内记忆历史膜电位和尖峰模式,而神经网络在中间积累加权激活并在每个周期刷新信息。
- SNN的计算包括膜-电位积分、阈值交叉和电位重置,相反,ANN主要与密集的乘和累积(MAC)操作和激活转换有关。
- SNNs中的尖峰模式的处理需要一个比特可编程的存储器和超高精度的存储器来存储膜电位、发射阈值和耐火期,而ANN只需要字节级的存储器来进行激活存储和转换。
下图展示了ANN神经元和SNN神经元之间的区别。
另一方面,ANN和SNN神经元之间有一些相似之处,这为融合模型实现留下了空间。
在这个统一抽象的基础上,我们建立了一个跨范式的神经元方案,如下图。总的来说,我们设计了突触和树突,而轴突和肌瘤可以独立重新配置。
在轴突块中,我们部署了一个小的缓冲记忆来记忆SNN模式下的历史尖峰模式。此缓冲区内存支持可重构的峰值采集持续时间和通过移位操作进行的逐位访问。在ANN模式下,相同的内存可以重组为乒乓球块来缓冲输入和输出数据;这解耦了计算和数据传输的并行处理。在这里,突触权重和神经元参数被固定在芯片上的存储器中,从而通过最小化处理单元和存储器之间的数据移动来实现局部的高通量计算。
在树突块中,SNN模式下的膜电位集成和ANN模式下的MACs共享相同的计算器,重新统一了处理过程中SNN和ANN的高水平抽象。具体地说,在ANN模式下,MAC单元用于执行乘法和积累;在SNN模式下,提供了一种绕过机制来跳过乘法,以便允许在长度为1的时间窗口下减少能量。soma可以被重新配置为具有电位存储器、阈值比较、确定性或概率火灾以及在SNN模式下的潜在重置;或者在ANN模式下的一个简单的激活功能块。膜电位的漏函数可以通过固定或自适应漏作用来降低电位值。ANN模式下的激活功能依赖于提供任意函数的可重构查找表(LUT)。
通过结合轴突、突触、树突和肌瘤块,我们设计了一个统一的功能核心(FCore)(见下图).为了实现深度融合,几乎整个FCore都可重构,在不同模式下高利用。在运转时,将树突和肌瘤分为多组。每个组内的计算被并行化(每个时钟周期的每个树突有16个MACs),而组间的执行被序列化。
FCore能够覆盖大多数ANNs和SNNs所使用的线性积分和非线性变换操作。此外,为了在神经元之间传递信息,我们构建了一个路由器来接收和发送消息。由于消息可以根据配置以ANN或SNN格式编码,因此我们为路由包设计了统一格式和共享路由基础设施来传输两种消息类型。路由数据包通常包含控制、地址和数据段,其中数据段可以是ANN模式下的多位激活值,或者在SNN模式中没有任何值,因为路由数据包本身充当尖峰事件。根据需要,前soma可以根据soma配置将输出打包为SNN或ANN包,后轴突可以根据其轴突配置将路由包解析为SNN或ANN格式。
由于轴突(输入)和soma(输出)具有完全独立的可配置性,以及共享的树突(计算),FCore通过适当地连接许多核心,为构建同构或异构网络提供了很大的灵活性。如果我们在相同的模式下配置所有单元,就可以实现SNN或ANN网络原语的均匀范式,它支持许多单范式模型,包括SNN和ANNs(例如,多层感知器(MLPs)、卷积神经网络(CNNs)、递归神经网络(RNNs)和基于速率的生物启发神经网络)。此外,FCore允许构建一个用于探索混合建模的异构网络。通过以不同模式独立配置轴突和soma,我们可以轻松实现具有ANN输入和SNN输出”或SNN输入和SNN输出的混合网络原语(下图)。换句话说,FCore可以充当ANN/SNN转换器(详情请参阅方法)。这种跨范式方案开辟了设计创新混合模型的可能性,为跨建模探索提供了一个有效的平台。
为了支持大型网络或多网络的并行处理,我们的天机芯片采用分散本地内存的多核结构,实现及时无缝的通信。
该芯片上的晶芯以二维(2D)网格方式排列,如图所示。每个FCore路由器中的可重构路由表允许任意连接拓扑。通过配置路由表,我们可以将一个神经元连接到FCore内部或芯片外部的任何其他神经元,这有助于构建多粒度网络拓扑(例如,前馈或递归)。
此外,除了正常的点对点(P2P)路由外,Tianjic还包括一些特殊的策略来增强其风扇输入功能(神经元可以处理的输入数量)和风扇输出功能(神经元可以驱动的输出数量)。对于一个典型的神经形态核心,风扇输入和扇出的数量通常受到记忆和界面的限制,这限制了模型的规模。在Tianjic中,通过设计FCore间横向协作、核心间分层积累、FCore内/FCore间神经元复制或核心间多播路由,可以很容易地扩展每个FCore的风扇输入和风扇输出(详情请参见方法)。与芯片级的二维网格堆积一起,Tianjic在超边缘神经网络方面具有很强的可伸扩展性,同时在并发处理过程中仍然保持着紧密交织的神经网络之间的无缝通信。
Tianjic芯片和测试板的布局和物理视图如下所示。
芯片由156个FCores组成,包含大约4万个神经元和1000万个突触。
Tianjic采用28nm加工工艺,模具面积3.8×3.8mm^2。
每个单独块占用的芯片面积,包括轴突、树突、细胞、路由器、控制器和其他芯片开销,如图所示。
由于资源重用,一个仅比单一模式(约3%)稍大的面积被用于融合SNN和ANN模式。
功率分解如图。
在运行过程中,树突模块(这里包括相关的轴突和突触块)消耗了最大的功率(63%)。
凭借其分布式的芯片上内存和分散的多核架构,Tianjic提供了每秒超过610千兆字节(GB)的内部内存带宽,和在300MHz运行时,在ANN模式下的有效峰值性能为1.28万亿操作每瓦(TOPS)。在SNN模式下,突触操作通常用于启动芯片,Tianjic实现了约650千兆每瓦(GSOPS突触操作)的有效峰值性能。
Tianjic能够支持各种神经网络模型,包括受神经科学启发的网络(例如,SNNs和基于速率的生物启发的神经网络)和面向计算机科学的网络(例如,MLP、CNNs和RNNs)。Tianjic能够支持各种神经网络模型,包括受神经科学启发的网络(例如,SNNs和基于速率的生物启发的神经网络)和面向计算机科学的网络(例如,MLP、CNNs和RNNs)。
下图显示了Tianjic芯片与通用处理单元上不同网络模型的测试结果
此外,Tianjic能够在一个芯片内并发部署多个网络,包括大多数类型的SNN和ANN。
Tianjic的使用也使得探索生物学上更可信的认知模型,如下图。
4.实验
为了测试芯片,本文设计了一个无人驾驶的自行车实验,通过在一个Tianic芯片内并行部署多个专用网络。配备了通用的算法和模型,自行车能够执行实时的目标检测,跟踪,语音命令识别,骑过减速撞,避障,平衡控制和决策。如下图所示。
实现这些功能涉及到三个主要挑战:
- 在户外自然环境中检测和平稳地跟踪移动的人,骑过减速带,并在必要时自动避开障碍物
- 响应平衡控制、声音指令和视觉感知,产生实时电机控制信号,使自行车沿正确的方向行驶
- 认识多模态信息集成和快速决策
为了完成这项任务,我们开发了几个神经网络,包括用于图像处理和目标检测的CNN、用于人类目标跟踪的CANN、用于语音命令识别的SNN和用于姿态平衡和方向控制的MLP,如下图
为了集成这些网络并实现高层决策,我们开发了一种基于SNN的神经状态机(NSM),如上图。NSM接收来自其他网络(CNN、SNN)的输入,并输出启用信号(CNN、CANN)和动作信号(例如,强制转向、避开障碍物)至下游FCores用于自行车电机控制。
5.总结
总之,我们开发了天机芯片,该芯片同时支持基于计算机科学的机器学习算法和基于神经科学的生物启发模型。各种神经网络和混合编码方案可以自由集成,允许多个网络之间的无缝通信,包括单神经网络和非神经网络。我们的研究研究了一种新的神经形态结构,该架构通过将跨范式模型和算法集成到单一平台上提供了灵活性;我们希望我们的发现将加速AGI的发展,以及许多现实世界可能的应用。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)