这篇名为《面向通用人工智能的混合天机芯片架构》(Towards artificial general intelligence with hybrid Tianjic chip architecture)的论文展示了一辆由新型人工智能芯片驱动的自动驾驶自行车。试验中,无人自行车不仅可以识别语音指令、自动控制平衡,还能对前方行人进行探测和跟踪,并自动避开障碍。
鉴于目前机器学习和神经科学的进展,AGI 系统至少应该具备以下特征:首先,支持能够表示丰富时空关系的庞大而复杂的神经网络;第二,支持分层、多粒度和多域网络拓扑,但不局限于特定的网络结构;第三,支持多种模型、算法和编码方案;第四,支持为并行处理中不同任务而设计的多个专用神经网络之间的交叉合作。因此我们需要一个通用平台来有效地支持统一架构中的这些特性,该架构可以实现流行的 ANN 以及神经科学启发的模型和算法。
计算机科学+神经科学
为了支持这些特性,研究者开发了一个跨范式(cross-paradigm)计算芯片,它可以适用于计算机科学导向和神经科学导向的神经网络(图 1)。设计一个兼容多种神经模型和算法的通用平台是一项基本的挑战,特别是对不同的 ANN 和生物启发的基元(如 SNN)而言。通常情况下,ANN 和 SNN 在信息表征、计算哲学和记忆组织方面具有不同的建模范式(图 2a)。其中,最大的差异是 ANN 以精确的多位值(multibit value)处理信息,而 SNN 使用的是二进制脉冲序列。为了在一个平台上实现这两种模型,脉冲需要表征为数字序列(1 或 0),以便它们与数位的 ANN 编码格式兼容。
其他几个关键点也需要仔细考虑。首先,SNN 是在时空域上运行的,它需要在特定的时间内记忆历史膜电位和脉冲模式,而 ANN 则是在中间累积加权激活,并在每个周期更新信息;其次,SNN 的计算包括膜电位集成、阈值交叉和电位重置,这些都是由脉冲事件驱动的。与之相反,ANN 主要与密集的乘法累加(MAC)运算和激活转换有关;第三,SNN 中脉冲模式的处理需要可编程位存储器和高精度存储器来存储膜电位、触发阈值和不应期,而 ANN 只需要字节级存储器用于激活存储和转换即可。
在轴突块中,研究者部署了一个小的缓冲存储器来存储 SNN 模式下的历史脉冲模式。这个缓冲区内存支持可重构的脉冲收集持续时间和通过移位操作实现的位级访问。在 ANN 模式下,相同的内存可以被重组为双向数据块(ping-pong chunk),以缓冲输入和输出数据;这就为并行处理解耦了计算和数据传输。在这里,突触权重和神经元参数被固定在芯片上的内存中,并通过最小化处理单元与内存之间的数据传送来实现本地化的高通量计算。在树突块中,SNN 模式下的膜电位集成与 ANN 模式下的 MAC 共享相同的计算器,同时在处理过程中重新统一了 SNN 和 ANN 的高级别抽象。
结合轴突、突触、树突和胞体,研究者设计出了一个统一的功能核(FCore);为了实现深度融合,几乎整个 FCore 都是可重构的,从而可以在不同的模式下获得较高的利用率。树突和胞体在操作过程中被分成多个组,每个组中的计算都是并行的 (在每个时钟周期下每个树突使用 16 个 MAC),而组间执行是串行的。FCore 能够涵盖大多数 ANN 和 SNN 所使用的线性集成和非线性转换操作。此外,为了在神经元之间传递信息,研究者还建立了一个神经路由器来接收和发送消息。由于消息可以根据配置以 ANN 或 SNN 格式进行编码,所以研究者为路由包设计了统一输出格式。路由包通常包含控制、地址和数据段,其中数据段既可以是 ANN 模式下的多位激活值,也可以是 SNN 模式下的空值,因为路由包本身充当了一个脉冲事件。根据需要,前胞体(pre-soma)可以根据胞体配置将输出打包成 SNN 或 ANN 格式,后轴突(post-axon)可以根据轴突配置将路由包解析为 SNN 或 ANN 格式。
由于轴突(输入)和胞体(输出)完全独立的可配置性,以及共享的树突(计算),FCore 通过适当地连接多个核心,为构建同构或异构网络提供了极大的灵活性。如果将所有部件以相同的模式配置,一个 SNN 或 ANN 网络基元的同构范式可以支持许多单一范式模型,包括 SNN 和 ANN(如多层感知器、卷积神经网络、循环神经网络和基于速率的生物启发神经网络)。此外,FCore 允许构建异构网络来探索混合建模。通过对轴突和胞体在不同模式下的独立配置,可以轻松地实现一个「以 ANN 为输入、以 SNN 为输出」或「以 SNN 为输入、以 ANN 为输出」的混合网络基元(图 2e)。换句话说,FCore 可以充当 ANN/SNN 转换器。这种跨范式方案为设计创新的混合模型提供了可能,并为跨模型探索提供了一个有效的平台。 图 2:天机芯片的设计。
a.ANN 或者生物启发神经元(例如 SNN)的计算模型。w_0、w_1、w_2 是突触权重;x_0, x_1, x_2 是输入激活;Σ是树突整合;f 是激活函数;b 是偏差。b 图是 ANN 或者 SNN 神经元的实现图解。V(t) 是 t 时间步的神经膜电位,V_th 是发放阈值。蓝色框中的数值是输入激活/spike 和权重值样本。SNN 通道中暗紫色相乘符号表明树突或许可以不做乘法运算(例如,时间窗长度等于 1 时)。c 图是混合线圈的图解,表示融合了 ANN 和 SNN 组件的一种跨范式神经元。d 图是统一的功能核(FCore)图解。每个 FCore 包括轴突、突触、树突、胞体和神经路由器构建单元。e 图是 FCore 的灵活建模配置和拓扑结构。编码方式可在 ANN 和 SNN 模式之间自由转换,使得异相神经网络成为可能。这种方式也能满足实现任意网络拓扑结构的灵活连接。f 图展示了核与芯片级别 2D 网络架构的层级,证明了该技术的扩展能力。