文章目录

  • 1. 简介
  • 2. 正文
  • 3. 方法

JingPei1,2,13,LeiDeng1,13,SenSong3,4,13Jing Pei^{1,2,13}, Lei Deng^{1,13}, Sen Song^{3,4,13}JingPei1,2,13,LeiDeng1,13,SenSong3,4,13, MingguoZhao5,13,YouhuiZhang6,13,ShuangWu1,2,13Mingguo Zhao^{5,13}, Youhui Zhang^{6,13}, Shuang Wu^{1,2,13}MingguoZhao5,13,YouhuiZhang6,13,ShuangWu1,2,13,
GuanruiWang1,2,13,ZheZou1,2,ZhenzhiWu7Guanrui Wang^{1,2,13}, Zhe Zou^{1,2}, Zhenzhi Wu^7GuanruiWang1,2,13,ZheZou1,2,ZhenzhiWu7,
WeiHe1,2,FengChen5,NingDeng8,SiWu9Wei He^{1,2}, Feng Chen^5, Ning Deng^8, Si Wu^9WeiHe1,2,FengChen5,NingDeng8,SiWu9,
YuWang10,YujieWu1,2,ZheyuYang1,2,ChengMa1,2Yu Wang^10, Yujie Wu^{1,2}, Zheyu Yang^{1,2}, Cheng Ma^{1,2}YuWang10,YujieWu1,2,ZheyuYang1,2,ChengMa1,2,
GuoqiLi1,2,WentaoHan6,HuanglongLi1,2Guoqi Li^{1,2}, Wentao Han^6, Huanglong Li^{1,2}GuoqiLi1,2,WentaoHan6,HuanglongLi1,2,
HuaqiangWu8,RongZhao11,YuanXie12,LupingShi1,2Huaqiang Wu^8, Rong Zhao^11, Yuan Xie^12, Luping Shi^{1,2}HuaqiangWu8,RongZhao11,YuanXie12,LupingShi1,2

1 精密仪器系,Brain-Inspired计算研究中心(CBICR),光学记忆国家工程研究中心,清华大学,北京。
2 北京创新中心未来的芯片,清华大学,北京,中国。
3 实验室的大脑和智力、生物医学工程系,CBICR,清华大学,北京,中国。
4 IDG/McGovern大脑研究所,清华大学,北京,中国。
5 自动化系,CBICR,清华大学,北京,中国。
6 计算机科学与技术学院,CBICR,清华大学,北京,中国。
7 灵汐技术,北京,中国。
8 微电子研究所CBICR,清华大学,北京,中国。
9 认知神经科学与学习国家重点实验室,北京师范大学,北京,中国。
10电子工程系,CBICR,清华大学,北京,中国。
11工程产品开发支柱,新加坡科技大学,新加坡,新加坡。
12美国加州大学圣塔芭芭拉分校电子与计算机工程学系。

1. 简介

有两种发展通用人工智能(AGI)的方法:计算机科学导向神经科学导向。由于两种方法在公式和编码方案上的根本差异,它们依赖于截然不同且不兼容的平台,从而阻碍了AGI的发展。一个通用平台,既可以支持流行的基于计算机科学的人工神经网络,也可以实现受神经科学启发的模型和算法。在这里,我们介绍了天机芯片,它集成了这两种方法以提供一个混合的、协同的平台。该芯片采用多核结构可重构的构建块和混合编码方案的流线型数据流,既能适应基于计算机科学的机器学习算法,又能方便地实现类脑电路和多种编码方案。利用一个芯片,我们演示了无人驾驶自行车系统中多用途算法和模型的同步处理,实现了对目标的实时检测、跟踪、语音控制、避障和平衡控制。我们的研究有望通过为更通用的硬件平台铺平道路来刺激AGI的发展。

2. 正文

以神经科学为导向的AGI方法试图高度模仿大脑皮层,它基于对记忆和计算之间紧密互动的观察、丰富的时空动态、基于spik的编码方案和各种学习规则的研究,这些规则通常被表示为spiking neural networks (SNNs)。相比之下,面向计算机科学的方法主要涉及在计算机上执行的显式算法。在这些算法中,目前流行的非尖峰人工神经网络(ANNs)在处理诸如图像分类、语音识别、语言处理和游戏等特定任务方面取得了长足的进展。

虽然这两种方法都可以在数据丰富的专门领域解决子问题,但是对于与许多系统相关的不确定或不完整的信息,仍然很难解决复杂的动态问题。为了进一步提高实现AGI所需的智能能力,越来越多的趋势是将更多受生物学启发的模型或算法纳入主流的人工神经网络中,从而在这两种方法之间形成更明确的沟通。考虑到当前机器学习和神经科学的进展,AGI系统至少应该具备以下特征

  • 首先,支持能够表示丰富的时空关系的庞大而复杂的神经网络;
  • 第二,支持分层、多粒度和多域网络拓扑,但不限于特定的网络结构;
  • 第三,支持多种模型、算法和编码方案
  • 第四,支持为并行处理中不同任务而设计的多个专用神经网络的相互交织合作。

这需要一个通用平台来有效地支持统一架构中的这些特性,该架构可以实现流行的ANNs以及受神经科学启发的模型和算法。

为了支持这些特性,我们开发了一个跨范式的计算芯片,它可以容纳面向计算机科学和面向神经科学的神经网络(图1)。设计一个通用平台,兼容多种神经模型和算法是一个基本的挑战,特别是对于不同的ANN和受生物学启发(例如SNN)的原语。通常,ANNs和SNNs在信息表示、计算原理和记忆组织方面有不同的建模范式(图2a)。在这些差异中,最大的差异是ANN处理的信息是精确的多位值,而SNN使用的是二进制尖峰序列。为了在一个平台上实现这两种模型,峰值需要表示为数字序列(1或0),以便它们与数字数字的ANN编码格式兼容。其他几个要点也需要仔细考虑。首先,SNN是在时空域上运行的,它需要在一定的时间内记忆历史膜电位和峰值模式,而ANN则是在中间累积加权激活,并在每个周期刷新信息。其次,SNN的计算包括膜电位积分、阈值交叉和电位重置,这些都是由脉冲事件驱动的。与此相反,人工神经网络主要与密集的乘积累加(MAC)操作和激活变换有关。第三,SNNs中脉冲模式的处理需要位可编程存储器和高精度存储器来存储膜电位、触发阈值和不应期,而ANN只需要字节记忆来激活存储和转换。图2b给出了神经网络神经元与SNN神经元的实现比较。另一方面,神经网络和SNN神经元之间也有一些相似之处,这为融合模型的实现留下了空间。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PguqEUUy-1637696172352)(https://upload-images.jianshu.io/upload_images/18405001-b359735e45f017a7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

通过编译这两个领域的各种神经网络模型,我们能够对模型数据流进行详细的比对,使模型数据流与轴突、突触、树突、soma、路由器等相关构件一一对应(扩展数据表1)。在此统一抽象的基础上,我们构建了一个跨范式神经元方案(图2c)。总的来说,我们设计突触synapse和树突dendrite是共享的,而轴突axon和胞体soma可以独立地重新配置

在轴突块中,我们部署了一个小的缓冲区内存来存储SNN模式下的历史峰值模式。这个缓冲区内存支持可重新配置的spiker-collection持续时间和通过移位操作的位访问。在ANN模式下,可以将相同的内存重组为ping-pong chunks,缓冲输入和输出数据;这就为并行处理解耦了计算和数据传输。在这里,突触权重和神经元参数被固定在芯片上的内存中,通过最小化处理单元和内存之间的数据移动来实现本地化的高吞吐量计算。在树突块中,SNN模式下的膜电位集成与ANN模式下的MAC共享相同的计算器,在处理过程中统一了SNN和ANNs的高层抽象。具体来说,在ANN模式下,MAC单元用于执行乘法和累加;在SNN模式下,提供了一种旁路机制bypassing machine来跳过乘法,以便在长度为1的时间窗下降低能量。胞体可以被重新配置为具有电位存储、阈值比较、确定性或概率火灾以及SNN模式下电位重置的脉冲发生器;或在ANN模式下的简单激活函数块。膜电位的泄漏函数可以通过固定泄漏或自适应泄漏降低电位值。ANN模式下的激活函数依赖于提供任意函数的可重构查找表(LUT)。

结合轴突、突触、树突和体细胞块,设计出统一的功能核(FCore)(图2d;为了实现深度融合,几乎整个FCore都是可重构的,可以在不同的模式下获得较高的利用率。在操作过程中将树突和体细胞分成多个组。每个组内的计算是并行的(每个时钟周期每个树突使用16个MAC),而组间执行是串行的。FCore能够涵盖大多数ANNs和SNNs所使用的线性积分和非线性变换操作。此外,为了在神经元之间传递信息,我们建立了一个路由器来接收和发送消息。由于消息可以根据配置以ANN或SNN格式编码,所以我们为路由包设计了统一格式,并设计了共享路由基础设施来传输这两种消息类型。路由包通常包含控制、地址和数据段,其中数据段可以是ANN模式下的多位激活值,也可以是SNN模式下的空值,因为路由包本身充当一个spike事件。根据需要,pre-soma可以根据soma配置将输出打包成SNN或ANN包,post-axon根据其axon配置将路由包解析为SNN或ANN格式。

由于轴突(输入)和soma(输出)完全独立的可配置性,以及共享的树突(计算),FCore通过适当地连接多个核心,为构建同质或异构网络提供了极大的灵活性。如果我们以相同的模式配置所有单元,就可以实现支持许多单一范式模型的SNN或ANN网络原语的同构范式,包括SNNs和ANNs(例如,多层感知器(MLPs)、卷积神经网络(CNN),循环神经网络(RNNs)和rate-based生物激励神经网络)。此外,FCore允许构建异构网络来探索混合建模。通过对轴突和胞体在不同模式下的独立配置,我们可以很容易地实现一个混合网络原语的ANN-input和SNN-outputSNN-input和ANN-output(图2e)。换句话说,FCore可以充当ANN/SNN转换器(有关详细信息,请参见方法)。这种跨范例方案为设计创新的混合模型提供了可能,为跨模型探索提供了一个有效的平台。

为了支持大型网络或多个网络的并行处理,我们的天机电芯片采用了多核架构,分散的本地化内存,实现了及时、无缝的通信。该芯片上的FCore以二维(2D)网格方式排列,如图2e, f所示。每个FCore的路由器中都有一个可重构路由表,允许任意连接拓扑。通过配置路由表,我们可以将一个神经元连接到FCore内部或外部甚至芯片外部的任何其他神经元,这有助于构建多粒度网络拓扑(例如,前馈或递归)。此外,除了正常的点对点(P2P)路由外,天机集成电路还包括几个特殊的策略来提高fan-in能力(神经元能够处理的输入数量)和fan-out能力(神经元能够驱动的输出数量)。对于一个典型的神经形态核,fan-in和fan-out的数量通常受记忆和界面的限制,这限制了模型的尺度。在天机集成电路中,通过设计神经元间横向协作、Fcore间层次累积、Fcore间/Fcore内神经元复制、Fcore间组播路由,可以方便地扩展每个FCore的fan-in和fan-out(详见方法)。在芯片级采用二维网格堆积技术的同时,天机集成电路对超大型神经网络具有较强的可扩展性,同时在并行处理过程中仍能保持深度交织的神经网络之间的无缝通信

天机芯片和测试板的布局和物理视图如图3a所示,扩展数据图2所示。该芯片由156个Fcore组成,包含约40000个神经元和1000万个突触。天机集成电路采用28纳米工艺制作,模具面积为3.8 x 3.8 mm2(扩展数据表2),每个单独块block包括轴突、树突、胞体、路由器、控制器等芯片开销所占芯片面积如图3b所示。由于资源重用,只有比单一范式略大的区域(约3%)被用于融合SNN和ANN模式。FCore的功率击穿如图3c所示。在操作过程中,树突模块(此处包括执行树突集成时所涉及的轴突和突触块)消耗的能量最大(63%)。凭借其分布式芯片内存和分散的多核架构,天机集成电路提供了超过610字节 (GB)每秒的内部内存带宽,并在300 MHz的运行速度下,在ANN模式下产生了每秒每瓦1.28 tera操作(上限)的有效峰值性能。在SNN模式下,通常使用synaptic operations来对芯片进行测试,而天机的有效峰值性能约为每秒每瓦650 giga synaptic operations (GSOPS) 。详细信息可以在扩展数据表2中找到。

天机能够支持多种神经网络模型,包括神经科学启发的网络(例如,SNNs和基于速率的生物启发神经网络)和计算机科学导向的网络(例如,MLP、CNNs和RNNs)。图3d显示了在天机集成电路芯片上与通用处理器(GPU)测试不同网络模型的结果;有关模型细节,请参见方法)。通过形成一个并行的片上内存层次结构,并以流的方式组织数据流,天机芯片可以提供比GPU更高的吞吐量(1.6到10210^2102倍)和功率效率(12到10410^4104倍)。这些网络在芯片上的详细映射如图3所示。

此外,天机支持在一个芯片内同时部署多个expert networks专家网络,包括大多数类型的SNNs和ANNs。通过灵活的可重构编码方案,支持异构神经网络,实现了两种范式的深度融合。例如,天机集成电路可以很容易地部署一个具有许多树枝状分支的大规模SNN。通常,由于严重的损失精度在树突整合面临着超大号的神经fan-ins,所以每个FCore允许的突触输入的数量是相同的(例如,少于256个输入),如果只使用二元尖峰信号进行Fcore间通信,通常会限制模型的精度。通过在ANN模式下配置一些Fcore来积累更高精度的膜电位(作为树突状树的中继),而不仅仅是在SNN模式下通过尖峰进行通信,由于中间膜电位的直接传递,天机能够实现高精度的大规模SNN。如图3e所示,树突状继电器混合神经网络在不需要增加神经元数量的情况下,比单纯SNN配置的精度提高了11.5%。这种混合范式所带来的额外开销可以忽略不计,因为Tianjic可以在FCore中自然地实现异构转换。在这些方法中可以找到更全面的分析。

使用Tianjic还可以探索生物学上更合理的认知模型。例如,Tianjic可以实现连续吸引子神经网络(CANN)、synfire chain和树状多室模型(图3f)。我们还开发了一个软件工具,可以自动转换多模态和混合网络,以满足天机集成电路芯片的硬件约束。总体而言,Tianjic采用了非冯诺依曼范式,具有混合兼容性、多核架构、本地化内存和流线型数据流,能够支持跨范式建模,最大化并行性,提高电能效率。

为了证明建立一个类似大脑的跨范例系统的实用性,我们设计了一个无人驾驶自行车实验,在一个天机集成电路芯片内并行部署多个专用网络。配备了通用的算法和模型,自行车能够进行实时的目标检测、跟踪、语音命令识别、骑过减速带、避障、平衡控制和决策(图4a)。实现这些功能涉及三个主要挑战

  • 第一,在户外自然环境中检测并平稳跟踪移动的人体;
  • 其次,生成实时的电机控制信号,以响应平衡控制、语音命令和视觉感知,使自行车保持在正确的方向上行驶;
  • 三是实现多模式信息集成和快速决策。

为了完成这一任务,我们开发了多个神经网络,包括用于图像处理和目标检测的CNN、用于人类目标跟踪的CANN用于语音命令识别的SNN以及用于姿态平衡和方向控制的MLP(图4b)。这里,CANN利用了通过非线性树突状操作实现的膜电位归一化机制。为了集成这些网络,实现高层决策,我们开发了一个基于SNN的神经状态机(NSM)。NSM接收来自其他网络(CNN, SNN)的输入,并输出使能信号enabling signals (CNN, CANN)和动作信号(例如,强制转弯、避障)到下游Fcore用于自行车电机控制。实验训练了5种离散状态(见方法和扩展数据表3)。

在路演前,对CNN、CANN、SNN和MLP网络进行了预训练,并将其编程到天机电芯片上。由于其分散的架构和任意的路由拓扑结构,Tianjic允许所有的神经网络模型并行运行,实现了模型之间的无缝通信,使自行车能够顺利地完成这些任务(见补充视频)。图4c显示了不同语音命令下的输出峰值信号;图4d为避障时的跟踪性能和s曲线轨迹;图4e显示了在物理测量的基础上学习不同速度下的姿态和转向控制。该演示为研究AGI迭代演化中的关键问题提供了一个很好的实验平台。例如,在环境中实时随机引入新的变量,如不同的路况、噪音、天气因素、多种语言、更多的人等,可以产生时空复杂度高的问题。通过探索能够适应这些环境变化的解决方案,可以检查AGI的关键问题,例如泛化、健壮性和自主学习。

综上所述,我们已经开发了天机芯片,它同时支持基于计算机科学、机器学习算法和基于神经科学的生物启发模型。各种神经网络和混合编码方案可以自由集成,实现包括SNNs和ANNs在内的多个网络之间的无缝通信。我们的研究考察了一种新的神经形态架构,它通过将跨范式模型和算法集成到单一平台上提供灵活性;我们希望我们的发现将加速AGI的开发,并具有许多可能的实际应用。

在线内容

任何方法、补充文献、自然研究报告摘要、源数据、扩展数据、补充信息、致谢、同行评审信息;作者贡献和竞争利益的细节;有关数据和代码可用性的声明,请访问https://doi.org/10.1038/s41586 -019-1424-8。

3. 方法

统一模型的描述。Tianjic是一个专门的平台,支持当今大多数神经网络模型跨神经科学和计算机科学领域,通常使用不同的方式来表示信息。我们重新研究了神经科学领域(如SNN、基于速率的仿生神经网络等)和计算机科学领域(如MLP、CNN和RNN)中应用最广泛的神经网络模型,我们提出了一个统一的描述来将模型实现对齐到轴突、突触、树突、胞体和路由compartments。我们识别了ANN和SNN神经元的异同,并根据它们各自的功能将操作和转换安排到这些区域(详见Extended Data Table 1)。通过调整数据流,天机集成电路可以灵活地在单一或混合范式中实现各种模型。

设计理念。天机集成电路采用多核结构,并行性强。每个FCore包括几个块:轴突、树突(带突触)、胞体和路由器。使我们能够实现混合范式的关键设计是:独立可重构的轴突和胞体。轴突和胞体可以独立配置成不同的模式。轴突根据其模式配置接收和组织SNN输入或ANN输入。类似地,胞体根据其模式配置生成SNN输出或ANN输出。当轴突和胞体配置成相同的操作模式(ANN或SNN)时,FCore分别以纯ANN或SNN模式工作,我们称之为单范式FCore。当轴突和soma配置成不同的工作模式时,FCore处理ANN输入并触发SNN输出,或处理SNN输入并生成ANN输出;我们称之为混合FCore。

树突整合共享。用于处理SNN输入和ANN输入的树突状积分共享相同的计算器(乘数和累加器),尽管它们有不同的处理操作和风格。在每个时间phase,树突在处理ANN输入时执行高强度intense MACs。当处理SNN输入时,当积分时间窗长度大于1时,树突也执行MACs;如果这个时间窗口小于1,则树突只执行加法操作,并绕过乘数;如果没有收到尖峰,树突将跳过所有操作。

统一的路由基础设施。Fcore的互连共享相同的路由基础设施,以统一的格式传输路由包。pre-soma可以根据胞体配置将输出打包成SNN或ANN包,post-axon根据其轴突配置将路由包解析为SNN或ANN格式。

混合配置。在网络层次上,除了构建传统的单范式ANNs或SNNs外,Tianjic还提供了两个粒度层次的混合建模。在粗粒度级,我们可以在ANN模式下配置一些Fcore,在SNN模式下配置另一些Fcore,分别执行ANNs和SNN。这样,我们就可以在相同的硬件平台上实现ANNs和SNNs,同时运行,不需要使用各种芯片构建异构系统。这也简化了电路板上的芯片外通信接口的设计,因为天机集成电路使用统一的包格式和路由基础设施。在细粒度级,我们可以配置混合模式下工作的Fcore (ANN中的轴突和SNN中的胞体,反之亦然)来构建一个混合信号编码的网络。

注意,为了实现特定的目标应用程序,axon和soma的工作模式在初始配置之后是固定的,在随后的执行过程中没有任何模式切换。混合模式下的信号转换不需要额外的开关电路和开销,因为它自然是在FCore的关键数据路径critical data path上执行的。

架构设计。FCore体系结构的示意图如图1所示。通过共享树突(带突触)、独立可重构的轴突和胞体以及统一的互联基础设施,实现了天机集成电路的跨范式计算。

在树突块中,操作神经元被分成多个组(如16组)。这些组是串联运行的,组内的神经元在运行过程中是并行执行的。在树突模组中,有16个8位乘法器和16个24位累加器支持向量矩阵乘法器(VMM)操作,这些操作由ANN和SNN模式共享。在ANN模式下,树突模块在每个时钟周期同时从轴突模块读取一个输入和从突触内存读取16个8位权值,然后并发地为16个共享相同轴突数据的神经元执行16个MAC。每个神经元以8位精度完成256次乘法,以24位精度完成相同数量的累加。在SNN模式下,当控制历史峰积分持续时间的时间窗长度(TwT_wTw​)大于1时,采用与ANN模式相同的乘法和累加器;否则,轴突模块只输出1位尖峰1-bit spikes,树突模块跳过乘法器。

轴突和胞体模块对于混合操作是必不可少的。如前所述,它们可以在ANN和SNN模式之间灵活独立地重新配置。在人工神经网络模式下,轴突记忆体被分成两个块,充当ping-pong缓冲。在SNN模式下,将两个缓冲区合并为一个完整的块,以便在具有可调持续时间的历史时间窗口中存储峰值模式。额外的记忆通过ping-pong方式来缓冲最新的尖峰。此外,还实现了时间衰减的时间因子计算器。

在ANN模式下,数据在胞体soma中以偏置、激活函数、输出传输的方式流动。25位偏置激活值被一个可重构的10位滑动窗口截断。然后在每个FCore中应用一个具有10位输入和8位输出的可重构LUT,用于任意的激活函数。在SNN模式下,数据流变化为电位泄漏、脉冲产生、输出传输。截断25位膜电位(固定泄漏或自适应泄漏),然后与24位阈值进行比较,以确定是否触发峰值。如果一个尖峰被点燃,支持多种模式的膜电位复位。所有的记忆都在两种模式之间共享,用于存储输入/输出或参数,如突触权重、偏差、LUT、泄漏和阈值。

soma输出被打包到路由包中。对于混入核传输,ANN和SNN模式具有相同的路由包格式,由控制、地址和数据段组成。控制段确定输入是否是SNN模式下的抑制信号。地址段包含目标FCore和内存单元地址。数据段要么在ANN模式下传递8位激活,要么在SNN模式下什么也不传递(数据包本身表示一个峰值事件33)。一旦接收到后,post-axon根据轴突结构将数据包解析为ANN或SNN信号。神经元的控制段和地址段存储在一个可重构的1 KB路由LUT中,每个路由器有5个通信通道:本地、东部、西部、南部和北部。

天机集成电路采用二维网格多核体系结构,分层构建大型网络(core-chip-board-system)。除了普通的P2P路由方案e3外,还设计了一种相邻的组播(AMC)路由方案来扩展fan-out。当一个FCore被配置成AMC路由模式时,接收到的数据包根据配置的组播方向和距离被发送到下一个FCore。通过这种方式,多个Fcore可以通过路由中继接收重复。

天机还灵活支持更多的特殊操作

  • (1)非线性积分:树突模块除了动态输入向量与静态权重矩阵之间的MACs外,还可以在动态输入向量之间进行运算。
  • (2)Somatic cooperation:相邻的胞体可以合并成一个更强的胞体,聚集每个胞体的所有整合,从而在不使用额外Fcore的情况下扩大fan-in和fan-out。
  • (3)三元突触Ternary synapse:天机集成电路通过将每个突触的位宽减小到两个,支持三元神经网络,突触数量随之增加。
  • (4)用于扩展网络的连接扩展,包括:第一,通过上述Fcore间 soma cooperation或额外Fcore内的分层集成实现fan-in扩展;其次,通过神经元复制或组播路由方案进行fan-out扩展。

芯片规格。采用28纳米高性能低功耗(HLP)技术制备了天积电芯片。扩展数据图2显示了布局、物理图和测试板。一个天基集成电路芯片由156个Fcore组成,采用了权重共享技术。权重索引(M)和fan-ins/fan-outs(N)的数量分别设置为32和256,导致每个FCore中大约有22 KB的静态随机访问内存(SRAM)。扩展数据表2总结了天机芯片的结构和性能,并与现有的神经网络平台进行了比较。在时钟频率为300mhz、供电电压为0.85 V的情况下,Tianjic芯片通常在ANN模式和SNN模式下(Tw = 1)每个FCore消耗6.1 mW和5.5 mW。Tianjic需要5050时钟周期(一个时钟周期16.8μs 300 MHz)完成一轮计算和通信,这反映了最小相位延迟phase latency。

网络部署。天机集成电路在网络部署方面提供了很大的灵活性。具体来说,大多数spiking和非spiking神经网络都可以由相同的基本拓扑层构成,包括完全连通层、卷积层、池化层和递归层。在网络部署过程中,权重被分割并固定在Fcore的突触内存中,Fcore的突触内存保持不变,初始化后给定固定的工作模式和静态网络拓扑结构,不需要重新加载。为了平衡处理吞吐量和资源开销,Tianjic支持两种映射方案:展开映射和折叠映射(扩展数据图3)。

展开映射方案将所有拓扑转换为完全连接的结构,而不需要资源重用。执行VMM操作的Fcore通过组播路由策略共享输入,另外还需要其他Fcore来积累部分和(称为reduce操作)。对于CANN,将微分动力学转化为差分方程,类似于LSTM的迭代格式。除了矩阵运算,向量运算(例如,在CANN中生成峰值速率或在LSTM中更新单元/隐藏状态)还可以通过非线性树形积分来实现。另一方面,支持折叠映射方案,通过大量的数据重用和历史信息的独立性,减少非尖峰卷积的资源开销。它需要两种类型的Fcore:缓冲Fcore和计算Fcore。权重在沿着特征映射的行维度的卷积中共享,这些卷积驻留在突触内存中以便重用。在随后的计算Fcore中执行每个卷积运算之前,使用缓冲Fcore将输入按行依次排列。这样,通过在每个阶段at each phase生成一个输出行,卷积就被流水线化了,这样的行流可以容忍tolerate有多余行的CNNs。

系统支持。受计算机系统层次结构的启发,天机软件工具链包含与主机类似的层次,以方便应用程序的开发,比如统一的编程抽象和自动编译器的映射。该软件支持在SNN和ANN模式下的应用。对于SNNs,它支持两种训练方法:间接训练和直接训练。间接训练采用流行的深度学习框架,利用反向传播训练神经网络模型,并将其转换为相应的SNN。直接训练采用新兴的时空反向传播算法直接训练SNN模型。对于非spiking ANNs,除了常见的手工修改和映射现有网络的工作流外,我们的编译器还可以自动将一个预训练的模型转换成一个满足天机硬件约束的等价网络,从而将应用程序与目标硬件解耦。

Single-paradigm单范式评估。在这里,我们详细介绍了用于评估单范例神经网络的基准图。对于SNN,我们使用与NMNIST数据完全连接的网络。输入数据的维数为(34x34)x2 = 2312,对于ON-type和OFF-type峰值,网络结构为2312-800-10。对于MLP,我们在ImageNet数据集中使用了AlexNet(9216-4096-1000)和VGG16(25088-4096-1000)的全连接层。对于CNN,我们在MNIST数据集上使用LeNet-variant网络,在CIFAR10数据集上使用VGG843网络,在ImageNet数据集上使用AlexNet/VGG16/ResNet网络。对于LSTM,我们使用了两个自定义网络,with one
hidden layer of 1,024 cells on the WikiText-2 dataset and two hidden layers of
512 cells for each on the Tiny-Shakespeare dataset。并报告了同一结构类别下跨多个网络的平均性能。采用spike-rate编码方案直接训练spiking模型,并采用8位权值和激活函数的量化训练quantized training训练来训练非spiking模型。

对于小型网络,包括图3e中的ANN/SNN混合例子(结构为input-20C3-AP2-20C2-AP2-10C2-10)和自行车实验中的所有模型,我们直接在测试板上测量了精度、延时和功率。我们运行的大型网络超出了现有的资源,如图3所示,在一个周期精确的模拟器中,其精度和延迟可以与硬件一一对应。这些情况下的功率估计是根据单芯片的测量结果推断出来的,包括泄漏和有功功率。在模拟中,我们放宽了两个制造成本限制:我们取消了对所有突触的权重共享技术,并且忽略了芯片间的通信开销,因为很容易将更多的Fcore集成到一个芯片中,以容纳更大的网络。用于Titan-Xp GPU结果的编程框架是Pytorch48 (SNN, MLP, CNN)和Torch (LSTM)。对于LSTM,我们使用DeepBench的基准来度量运行性能。根据推理任务的建议,将批大小设置为1。

混合网络的实现。我们严格地比较了使用图3e中相同网络结构的单范式(ANN-only或SNN-only)和细粒度跨范式 (ANN/SNN混合)实现之间的性能。基准数据集是MNIST。在此基础上,提出了一种基于预训练SNN模型的混合模型。对于纯SNN模式和混合模式,原始像素值通过伯努利采样转换为峰值事件。在混合模式网络中,使用‘SNN-input and ANN-output’ FCores 的混合层集成SNN尖峰信号,并生成ANN信号(高精度中间膜电位),然后利用‘ANN-input and SNN-output’ FCores 对这些神经信号进行累加,再次触发SNN尖峰信号。在本例中,ANN-only、SNN-only和混合模型都使用了展开映射方案unfolded mapping scheme,为了简单起见,只将最后一个卷积层配置为混合模式

扩展数据图4,5给出了不同配置模式之间的全面比较和详细的路由分析。混合模型所带来的额外硬件成本在纯SNN模型之外是可以忽略的,而且混合模型和纯SNN模型的成本都比计算密集型ANN模型低得多。此外,它避免了当输入的数量超过神经元的fan-in限制时,在通信过程中由于二进制尖峰导致的精度损失,混合模型继承了纯ANN模型的精度优势。在本例中,混合范例提供了一种有效的方法来结合纯SNN和纯ANN模型的优点,从而实现总体高性能。简而言之,Tianjic的混合范式可以根据实际应用的需要,如低功耗、高速、高精度或整体高性能,构建各种ANN和SNN组合。

无人驾驶自行车示范。扩展数据表3列出了详细的网络拓扑结构。为了在单个天机芯片上演示系统功能,对模型尺寸进行了调整和优化。数据预处理在ARM处理器上进行,所有模型在天机集成电路上实现前都经过量化训练。这些网络的映射结果和实测功耗如图6所示。

网络相机的每一帧都被重新调整为70 x 70灰度图像作为CNN的输入,并根据CNN模型生成的初始边界框进行裁剪,然后注入CANN作为输入。对于CANN,我们应用了一个修改后的模型,它减少了高斯碰撞范围之外的远程连接。For CANN, we applied a modified model that reduces remote connections outside the scope of the Gaussian bump.利用Mel-frequency cepstral coefficient (MFCC)51 method将麦克风采集到的音频信号转换为具有不同频率的51维特征。然后我们应用高斯总体编码策略Gaussian population coding strategy将每个频率特征编码成十个spiking单元。我们采用基于LIF神经元的全连通结构,构建了上述直接方法训练的SNN模型。七个输出神经元代表六个指令命令和一个噪声情况。对于姿态和运动控制,我们选择了惯性测量单元(IMU)产生的五个信号。将时间步长后六分之一的信号串接成一个30维向量作为MLP的输入。我们训练MLP网络来模拟不同速度(从低到高)下几个比例积分导数控制器的输出。输出目标旋转角度发送到电机控制器,调整转向,保持平衡。此外,电压系数被直接发送到另一个电机(后轮)控制器来调整速度。

受前人工作的启发,我们设计了一种基于SNN的有限神经状态机neural state machine(NSM;图7)综合上述多种神经网络的输出。决策模块(即NSM)和动作模块(即MLP)之间的Fcore以混合模式(SNN-input和ANNoutput)工作,该模式在soma LUT中包含轨迹模式,将动作信号(尖峰)转换为目标倾角序列(实值)。通过这种方式,NSM可以引导自行车实现强制转弯(语音命令)或避障。NSM模型的权值训练遵循离线的峰时相关塑性(STDP)类规则。

Data availability

我们用于基准测试的数据集是公开可用的,如文本和相关引用中所述。训练方法见相关参考文献。文中详细介绍了模拟和测量的实验装置。其他支持本研究结果的数据可根据合理要求从通信作者处获得。

Code availability

软件工具链和自行车演示使用的代码可根据作者的合理要求提供。

【翻译】天机芯Nature_Towards artificial general intelligence with hybrid Tianjic chip architecture相关推荐

  1. [论文速览] Sparks of Artificial General Intelligence: Early experiments with GPT-4

    Sparks of Artificial General Intelligence: Early experiments with GPT-4 2023.3.22 微软官方发布了目前人类史上最强AI模 ...

  2. 【AGI 通用人工智能】什么是通用人工智能 | What is Artificial General Intelligence

    The meaning of artificial general intelligence for the AI industry and the world.  通用人工智能对人工智能行业和世界的 ...

  3. Artificial General Intelligence: Concept, State of the Art, and Future Prospects

    Artificial General Intelligence: Concept, State of the Art, and Future Prospects(强人工智能:概念,前沿技术和未来展望) ...

  4. AGI 通用人工智能的演变 | The Evolution of Artificial General Intelligence

    目录 AGI Introduction | 通用人工智能介绍 一.引言 二.AGI 的概念和定义

  5. 【论文翻译】Meta R-CNN : Towards General Solver for Instance-level Low-shot Learning

    Meta R-CNN : Towards General Solver for Instance-level Low-shot Learning  Meta R-CNN:面向实例级小样本学习的通用解算 ...

  6. 大学英语(第二册)复习(原文及全文翻译)——Unit 9 - What Is Intelligence, Anyway?(智力到底是什么?)

    Unit 9 - What Is Intelligence, Anyway? Asimov explains why there is much more in intelligence than j ...

  7. 人工神经网络导论_神经网络导论

    人工神经网络导论 There has been hype about artificial intelligence, machine learning, and neural networks fo ...

  8. 窥探当今AI芯片中的类脑模型

    来源:脑人言 撰文丨邓 磊(加州大学-圣塔芭芭拉分校UCSB 博士后) 责编丨高茂森 Soma 排版丨夏獭 科学研究的动机,并非仅仅是出于能看到多酷炫的应用,而是因为我们尚有诸多未知世界需要探寻,这是 ...

  9. 中国团队新型类脑芯片登上《自然》封面

    来源:澎湃新闻网 从AlphaGo战胜人类顶级围棋选手,到人工智能系统以90%准确率诊断儿科疾病,近年来,人工智能的突破大多从智能的某个领域接近或超过人类智能,距离达到人类水平的人工通用智能(AGI, ...

最新文章

  1. [CSAPP笔记][第一章计算机系统漫游]
  2. C#后台获取数据库数据--ADO.NET
  3. 庆祝我在博客园安家了
  4. 全球及中国汽车紧急呼叫终端行业运营模式及未来投资方向建议报告2022版
  5. 在控制台中输入月,日. 计算这是一年的第几天.(Python)
  6. thinkphp小技巧
  7. Leetcode--215. 数组中第K个最大元素
  8. 周末项目:使用scikit-learn进行手语和静态手势识别
  9. SetZOrder 无效
  10. ssh远程访问失败 Centos7
  11. 订单明细升级版、淘宝erp、淘宝打单发货接口
  12. 货币php是什么,php做什么的【货币问答】- php做什么的所有答案 - 联合货币
  13. 视频格式mp4转emf
  14. 谷歌地图api根据经纬度查询地名php,在线查询经纬度 google map查询地名返回经纬度 geocode geocoder的完整实例 代码下载...
  15. 马赛克战——利用人工智能和自主系统来实施决策中心作战
  16. Unix平台下的常用命令技巧之资源与性能
  17. Linux实验操作之使用LAMP系统架设一个Discuz论坛
  18. 关于连续函数的介值定理
  19. 写给工程师的 10 条精进原则
  20. 【鸿蒙】《校园通》--校园生活模块

热门文章

  1. 新产品研发过程中的重要问题
  2. springboot + JPA 配置双数据源
  3. 路由器输入三次密码 服务器响应吗,路由器三次密码错误怎么办?
  4. python Entry 文本框只能输入数字或限定数字显示
  5. 补充远程桌面数字证书读取问题
  6. 一个程序员给产品经理的话
  7. ajax返回304,ajax请求,返回值为304 Not Modified 错误原因与解决办法
  8. ubuntu无限登录,或者登录进去,界面卡顿无法使用独显,nvidia-setting打开失败
  9. 解决:Invalid character found in method name. HTTP method names must be tokens
  10. 解决Weboffice控件的遮挡问题