全文共4990字,预计阅读时间13分钟
作者 | 程韫韵(Emily)
编辑 | 谭舒雯(Poppy)
注:文中图片均来源于网络
前言
在人工智能高速发展的热潮下,庞大的数据量和复杂的算法模型对算力及芯片提出了新的需求。类脑芯片成为近年来学术界和产业界都越来越关注的重点方向,甚至在Gartner的芯片产业预测图中将类脑芯片判断为第三代人工智能芯片。上海新氦类脑智能科技有限公司(以下简称“新氦类脑智能”)就在此背景下诞生,类脑芯片及片上智能系统是新氦类脑智能的研发及商业转化的重点方向。近年来新氦类脑智能看到许多类脑芯片领域的创新突破和科研热潮,因此新氦类脑智能总结了类脑芯片领域的现状、问题和趋势,希望在充满信心的同时保持客观冷静分析,给行业的发展带来一些启发和推动作用。
数字运算与模拟运算
电子学史上第一批被发明出来并得到大规模生产的器件是模拟的,后来随着微电子学的发展,数字技术的成本大大降低,加上计算机对于数字信号的要求,使得数字方法在人机交互等领域具有可行性和较高的性价比。但当数字运算芯片变得越来越小,发热程度越来越严重时,它却限制了速度和性能的提升。此外,数字运算离散逐步的方法不适合动态或连续时间问题,例如等离子体建模和神经网络运行,也不适用于其他需要对现实世界输入做出实时反应的系统。这种情况下模拟运算将会是一个更好的替代品,它能够直接在连续时间问题的核心解决常微分方程。深度学习训练阶段的计算效率需要通过进一步开发深度学习工作流程随机和近似的特性来提升,这在数字运算里意味着权衡计算效率与数值精确度,也为重新考虑模拟运算在非易失内存上执行深度学习的矩阵操作带来了可能。在数字电路中,晶体管有开和关两种状态,用二进制表达分别对应1和0两个逻辑电平。而在模拟电路中,晶体管会有无数种状态,理论上能表示连续变化的数值,涉及连续函数形式模拟信号的电路,模拟主要指电压或电流对于真实信号成比例的再现。
数字运算(Digital Computing)
数字运算处理的是离散数据块,虽然数字运算设备能够使用任何数字系统处理数据,但目前应用最广泛的是由1和0构成的二进制数字系统。不同类型的信息,包括字符和十进制数,在被数字运算设备处理前都会在二进制数字系统内进行编码。
世界上第一台现代数字计算机是由英国数学家Charles Babbage设计的可编程计算器。这种计算器使用十进制数字系统,每个数字用齿轮齿表示。第一台电子数字计算机同时使用二进制和十进制数字系统。由美国物理学家Vincent Atanasoff和他的研究生Clifford E. Berry在十九世纪三十年代后期搭建的计算机在数字电路中仅使用二进制系统,但只适用于有限的问题类型。由美国工程师J. Presper Eckert和John W. Mauchly设计的电子数字积分计算机(Electronic Numerical Integrator and Computer,ENIAC)被认为是世界上第一台通用电子数字计算机。而第一台实际操作中可编程数字计算机,电子储存程序计算机(Electronic Delay Storage Automatic Calculator,EDSAC),由英国学者Maurice V. Wilkes在1949年发明,采用二进制编码。自此,所有适用性数字运算设备在机器水平均使用二进制系统,而在更高的抽象水平上使用八进制或十六进制系统。[1]
数字计算机速度上的优势让使用者能够接受其准确度上的小缺陷。例如,如果用积分求解曲线下区域的面积,数字运算的方法是“画”出大量边长极短的长方形进行曲线拟合,这些长方形面积的和就是积分运算结果的近似值。机器速度越快,“画”出的长方形越多,计算结果就越精确。
当处理器整合到单个芯片上时,数据在组件间的传输速度因为距离的缩短而加快,数字运算对速度的提升效果显著。数字计算机由超过1000个并行处理器组成,这使它能够完成一些人类无法完成的任务。首先,它能够快速地完成计算;其次,相较于人类,它可以更好地控制其他数字或模拟运算设备;最后,数字计算机的规模和速度能够让它模拟各种复杂场景,如机翼的风场、热核爆炸的第一微秒,或一个看似牢不可破的密码。
数字设备与模拟设备的主要区别与准确度和速度有关。因为传感器、示波器或其他设备的数据无法直接在运算中表示,所以编码对于数字运算系统至关重要。虽然信息是离散数值,但变化是连续的,所以传输到数字计算机的信息只是近似值。例如,在使用浮点运算法处理数字设备中的多位数时,将它们从完整结构转换为浮点数会降低其准确度。当浮点数参与计算,误差会复合增长。此外,数字设备处理的是编码过的现实信息,由于转换过程的存在和计算的非连续性,相较于模拟设备,数字设备的速度更慢。
模拟运算(Analog Computing)
近几年,模拟计算已被证明在模拟生物系统上比数字计算更高效。模拟运算能够在许多方面弥补数字运算的不足,如生物、流体动力学、天气预测、量子化学、等离子物理等领域。与数字信号处理不同,由于模拟运算使用电子、机械或液压等物理现象连续变化的量来模拟所要解决的问题,模拟计算会受到模拟噪声的限制,但不受量化噪声的影响。传统数字计算的限制在于每次数字电路的转换都会消耗能量,单个芯片上数以亿计的晶体管以千兆赫的速度转换将会产生大量热量。相比之下,模拟运算适用于极低或极高频率的场合,如果速度低至约10kHz至100kHz之间,数字运算的性能远超过所需水平。而在数百MHz和数GHz的情况下,数字运算需要昂贵且高能耗的高速A/D转换器和高性能处理核。
以二元微分方程为例,模拟计算电路中流经两条线的电流由同一个方程式控制,电流值即原始方程式的解。这一过程涉及到模拟积分器、倍增器、扇出模块和提供恒定电流的电源。在求解非线性微分方程时,单芯片模拟计算机通过时间连续电路生成能够建立任意函数的模块。因此,通用模拟计算机能够用包含多个数字控制下运行的模拟电路的可编程芯片搭建,还可以将模拟计算机得到的结果输入数字计算机中提升其精度。(图1)[2]
图1 模拟计算电路
反向传播算法的核心包含三种不同的操作:矩阵乘法、权重修改和激活函数的应用。矩阵乘法可以采用模拟运算的方法,因为二维矩阵可以映射到与抽象数学对象有相同行列数的物理阵列中(图2)。在每行每列的交点处用电导G表示连接强度,如果施加电压V到给定的行列,会产生电流j,公式如下
图2 模拟存储阵列
矩阵乘法中使用导电组件阵列的做法并不新颖,而是在许多年前就已被提出。随着深度学习的兴起,这种方法因为可以加速运算而得到关注(表1)[3]。因为权重数据储存在物理阵列中,所以所有操作都需要就近进行,不能在存储中反复移出移入。因此,内存要能够存储和保持权重,有非破坏性的读取机制,还能够在一次操作中读取和写入整个存储阵列。尽管前两个要求传统存储操作能够满足,但第三个要求与随机顺序存取截然相反,或至少会限制可存取地址空间。因此,可以使用传统的存储元件,但必须创造不同于传统存储架构的新阵列架构。 [5]
表1 重要计算模型的时空分类
应用案例与趋势展望
表2 主要Analog/Digital项目的特性比较
关于模拟运算和数字运算的实际应用,国内外已有多个相关研究项目和芯片产出结果(表2)。SpiNNaker芯片中,CPU与本地存储器在单个芯片上紧密相连,它拥有几种芯片中最高的可重构性。然而它的能耗和速率不如其他芯片,尤其是当模拟复杂的神经元和突触模型时。除SpiNNaker以外,大多数芯片是基于数字电路或AMS电路(Analog and Mixed Signal,模拟混合信号电路)的硬件实现,而SpiNNaker是在多核ARM处理器上运行。AMS电路实现的优势是模拟电路的物理特性,能够直接模拟连续神经动力学,拥有比数字实现更强的计算能力和功率效率,亚阈值的AMS电路还能够实现超低能耗。BrainScaleS芯片由几个晶圆相连而成,每个晶圆含有数个HiCANN神经内核,这一项目旨在模拟出有精确生物神经行为和人脑规模的神经网络。海德堡大学研发的HiCANN芯片比实时快10000倍,晶片规模集成电路能够实现大规模并行处理。HiCANN芯片旨在为神经系统科学家提供超级电脑来加速大规模SNN模拟,而非开发需要实时操作的低能耗智能嵌入系统。Neurogrid是一种为阈下模拟电路设计的SNN鉴别器,能够实时运行并对生物机制进行仿真。TrueNorth是应用在数字电路上的神经形态芯片,能够对低功耗大规模网络进行评估,但TrueNorth系统不支持片上学习。SNN的参数,如SNN的拓扑结构和神经元间的连接强度,在配置后保持不变。在线下CPU/GPU平台上训练后,将训练过的SNN参数配置到芯片上。没有了片上训练,芯片设计将大大简化。然而,这样的芯片无法实现自适应,任何SNN参数上的变化都需要重新配置和启动。这四种芯片被认为是脉冲神经形态处理器领域的重要进步与前沿探索,多数以生物学模拟为目标,而TrueNorth旨在实现拥有强化操作符的低功耗机器学习。Loihi芯片是一种数字处理器,能够灵活地对大规模SNN进行评估。就功能而言,Loihi芯片处于生物模拟和SNN机器学习的前沿领域,它将片上学习与不同学习规则、复杂神经元模型、信息编码协议整合到一起,因此能够实现对不同算法的模拟。
国内主要的SNN研究项目包括清华大学的天机芯片和浙江大学的达尔文芯片。第一代天机芯片在2015年完成,2017年进化为第二代,速度更快,性能更高,功耗更低,比IBM TrueNorth功能更全、更灵活、扩展性更好,密度大20%,速度快至少10倍,带宽高至少100倍。最新一代天机芯片采用28nm工艺制造,核心面积仅3.8x3.8毫米,含有156个FCores核心,大约40000个神经元和1000万个神经突触,既支持神经科学模型和计算机科学模型,又支持神经科学发现的众多神经回路网络和异构网络的混合建模。芯片采用了存算一体技术,无需外挂DDR(Double Data Rate, 双倍数据速率)缓存,极大节省了空间、功耗和成本。为实现脉冲神经网络(SNN)和人工神经网络(ANN)的融合,研究团队构建了一个跨范式的神经元方案并设计了一个统一的功能核(FCore),包含了轴突、突触、树突、胞体和神经路由器构建单元。依靠可重构功能核灵活的建模配置和拓扑连接,编码方式可以在ANN和SNN模式之间转换,从而实现异构神经网络。
图3 天机芯片
类脑芯片达尔文2于2019年8月在杭州发布,该芯片由浙江大学牵头研发,杭州电子科技大学和华为中央研究院分别参与了芯片研制与算法和应用场景研究工作。单芯片支持多达15万个神经元,相当于果蝇的神经元数目,是目前国内已知单芯片神经元规模最大的脉冲神经网络类脑芯片。达尔文2采用55nm标准CMOS工艺制造,单芯片有576个内核,每个内核支持256个神经元和超过一千万的神经突触,可通过系统级扩展构建千万级神经元类脑计算系统。2020年9月,浙江大学联合之江实验室共同研制成功包含792颗达尔文2代芯片的机架式类脑计算机,数量规模相当于小鼠大脑,能支持1.2亿脉冲神经元和近千亿神经突触,但运行功耗仅需要350-500瓦。[6]
图4 达尔文芯片
现今深度学习已然成为人工智能的同义词,虽然业界希望深度学习能够像微电子元件一样广泛应用到生活的各个方面,但它至今没有相似的比例缩小规则,甚至没有一个能作为引导的基本理论。虽然已经开发出含数百万参数的复杂神经网络、采集了大量标记过的数据集,并找到了能够执行算法的硬件,但对于深度学习的广泛应用,成本是一个主要问题,包括建造模型花费的时间和训练执行所需的计算资源。GPU的出现让这些任务能够被处理,而为深度学习定制的硬件将会有优于传统CPU的性能。目前已经出现了新一代的深度学习加速硬件,通过权衡通用性与计算效率来优化成本。建造和训练模型的复杂程度迫使研究者从系统层面上寻找解决方法,同时使用数个深度学习加速器来解决问题。深度学习机器的系统最终会影响到新的人工智能硬件加速器的可行性。模拟加速器的基础设计和材料性质等问题亟待解决,以增强系统层面整合的可能性。虽然不期望深度学习模拟运算能够从根本上开创新的生态系统,但它需要能够增强现有的数字运算。因此,我们将会看到对神经网络性能提升的持续性推动,而数字硬件的解决方法将会被开发利用到极限。如果情况乐观,模拟运算方案将会与这一改变无缝衔接。
声明:本文章发布目的在于传递更多信息,并不代表本公众号赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与我司联系,我们将在第一时间处理!
/
程 韫 韵 Emily
/
新氦类脑智能战略总监,复旦-麻省理工学院国际工商管理硕士,拥有多年跨区域、跨行业的企业战略咨询经验。在类脑智能、人工智能技术及应用落地方向有深入的行业分析和市场洞察,为政府、企业提供数智化转型咨询服务,为AI创业团队提供商业落地建议。主导撰写AI技术白皮书,类脑芯片白皮书。