北京未来芯片技术高精尖创新中心 成立于 2015 年 10 月,是北京市教委首批认定的“北京高等学校高精尖创新中心”之一。中心充分发 挥清华大学的学科、科研和人才优势,联合校内多个院系资源,组建了 微电子、光电子及柔性集成、微系统、类脑计算、基础前沿、综合应用 六个分中心以及微纳技术支撑平台。中心主任由清华大学副校长尤政院 士担任。中心以服务国家创新驱动发展战略和北京市全国科技创新中心建设为出发点,致力于打造国家高层次人才梯队、全球开放型微纳技术 支撑平台,聚焦具有颠覆性创新的关键器件、芯片及微系统技术,推动未来芯片产业实现跨越式发展。
人工智能 (Artificial Intelligence,英文缩写为 AI),是研究、开发用于模拟、延伸和扩展人类智能的理论、 方法、技术及应用系统的一门科学技术。人工智能的本质是对人类思维过程的模拟。
近些年,大数据的积聚、理论算法的革新、计算能力的提升及网络设施 的演进,使得持续积累了半个多世纪的人工智能产业又一次迎来革命性的进步,人工智能的研究和应用进 入全新的发展阶段。尽管全球人工智能产业还处于初期发展阶段,但随着政府和产业界的 积极推动,人工智能技术在大规模产业 化应用方面突飞猛进,在算法和芯片 等人工智能基础技术层面积累了强大 的技术创新,这些成果未必能即时商业化,但对未来科技的影响深远。


面向云端 AI 应用,很多公司开始尝试设计专用芯片以达到更高的效率,其中最著名的例子是 Google TPU,可以支持搜索查询、翻译等应用,也是AlphaGo的幕后英雄。由于使用了专用架构,TPU实现 了比同时期 CPU 和 GPU 更高的效率(如图表 3-2 所示)。第一代的 TPU 仅能用于推断,面对目前被 NVIDA GPU 赚得盆满钵满的深度学习训练市场,Google 随后又发布了第二版 TPU(TPU2),除了推 断以外,还能高效支持训练环节的加速。Google 最近还通过云服务把 TPU 开放商用,处理能力达到 180 TFLOP,提供 64GB 的高带宽内存(HBM),2400GB/s 的存储带宽。
针对云端的训练和推断市场,从芯片巨头到初创公司都高度重视。英特尔宣布推出 NervanaTM 神经网 络处理器 (NNP),该系列架构还可以优化 32GB HBM2、1TB/s 带宽和 8Tb/s 访问速度的神经网络计算。 初创公司,如 Graphcore、Cerebras、Wave Computing、寒武纪及比特大陆等也加入了竞争的行列。
边缘 AI 计算
智能手机是目前应用最为广泛的边缘计算设备,包括苹果、华为、高通、联发科和三星在内的手机芯 片厂商纷纷推出或者正在研发专门适应 AI 应用的芯片产品。另外,也有很多初创公司加入这个领域,为边 缘计算设备提供芯片和系统方案,比如地平线机器人、寒武纪、深鉴科技、元鼎音讯等。传统的 IP 厂商, 包括 ARM、Synopsys 等公司也都为包括手机、智能摄像头、无人机、工业和服务机器人、智能音箱以及 各种物联网设备等边缘计算设备开发专用 IP 产品。
自动驾驶是未来边缘 AI 计算的最重要应用之一,MobileEye SOC 和 NVIDA Drive PX 系列提供神 经网络的处理能力可以支持半自动驾驶和完全自动驾驶,处理来自多路视频摄像头、雷达、激光雷达以及 超声传感器的输入,并将这些数据相融合以确定汽车所处的精确位置,判断汽车周围的环境,并为安全行 驶计算最佳路径和操作。
云和端的配合
总的来说,云侧 AI 处理主要强调精度、处理能力、内存容量和带宽,同时追求低延时和低功耗 ;边缘 设备中的 AI 处理则主要关注功耗、响应时间、体积、成本和隐私安全等问题。

然而,AI 芯片中需要存储和处理的数据量远远大于之前常见的应用。图表 4-2 列出了一些常见的深度 神经网络的主要参数,其中 VGG16 网络需要 138M 个权重参数,一次推断过程需要 15.5G 次乘累加运算。 这都使得冯·诺伊曼“瓶颈”问题在 AI 应用中愈发严重。可以不夸张地说,大部分针对 AI,特别是加速神 经网络处理而提出的硬件架构创新都是在和这个问题做斗争。概括来说,在架构层面解决这一问题的基本 思路有二 :1)减少访问存储器的数量,比如减少神经网络的存储需求(参数数量,数据精度,中间结果)、 数据压缩和以运算换存储等 ;2)降低访问存储器的代价,尽量拉近存储设备和运算单元的“距离”,甚至 直接在存储设备中进行运算。
CMOS 工艺和器件瓶颈
现今的计算机可以达到每秒千万亿次(1015 FLOPS)的处理速度。这些系统在先进科技的研究(生物学, 气候分析,基因组学,脑基因组学,材料开发等)中扮演着重要角色。在许多方面,计算能力驱动着现代 社会的发展。人工智能,特别是机器学习的发展将需要更加强有力的,超过每秒百亿次 (1018) 运算能力的 计算系统。
当前,构建这些系统的基础是 CMOS 技术的芯片,而 CMOS 工艺能够不断提高系统性能主要得益于 集成尺寸的缩小。过去 30 年,摩尔定律很好地预测了这种计算进步。2018 年,10 纳米工艺的芯片已经大 规模量产,7 纳米开始量产,5 纳米节点的技术定义已经完成。然而,由于基础物理原理限制和经济的原因, 持续提高集成密度将变得越来越困难 [Theis16]。目前,CMOS 器件的横向尺寸接近几纳米,层厚度只有 几个原子层,这会导致显著的电流泄漏,降低工艺尺寸缩小的效果。此外,这些纳米级晶体管的能量消耗 非常高,很难实现密集封装。

从 NVIDA 和 Goolge 的设计实践我们可以看出云端 AI 芯片在架构层面,技术发展的几个特点和趋势:
1. 存储的需求(容量和访问速度)越来越高。一方面,由于处理大量数据的要求,需要更大容量的存 储器。另一方面,限制运算能力提高的主要因素是访问存储器的速度,因此,未来云端 AI 芯片会有越来越 多的片上存储器(比如 Graphcore 公司就在芯片上实现的 300MB 的 SRAM)和能够提供高带宽的片外 存储器(HBM2 和其它新型封装形式)。
2. 处理能力推向每秒千万亿次(PetaFLOPS),并支持灵活伸缩和部署。对云端 AI 芯片来说,单芯 片的处理能力可能会达到 PetaFLOPS 的水平。实现这一目标除了要依靠 CMOS 工艺的进步,也需要靠 架构的创新。比如在 Google 第一代 TPU 中,使用了脉动阵列(Systolic Array)架构,而在 NVIDA 的 V100GPU 中,专门增加了张量核来处理矩阵运算。为了将 GPU 扩展为更大的系统,NVIDA 专门开发了 的 NVSwitch 交换芯片,可以为多个 GPU 提供高带宽互连。在最新发布的 DGX-2 系统中,16 颗 V100 GPU 连接在一起,提供 2PFPLOS 的处理能力,可以实现大规模神经网络的并行训练。除此之外,我们 还看到一些更为“极端”的架构设计。比如晶圆级集成技术,即用整个晶圆制成一个“超级芯片”;再比如 在运算单元中使用无时钟电路实现更高的速度和更低的功耗。此外,还有一条路径是通过多芯片、多板卡 互连来实现更强的运算和存储能力,而不是单纯追求单芯片的处理能力。未来应该可以看到越来越多的产品, 以系统(或者云服务)而非单芯片的形式,提供可伸缩和配置的处理能力。这种强大处理能力的灵活性还 体现在训练和推断任务的部署上,比如在白天将更多的硬件用于推断任务,满足应用需求,而晚上则把更 多的资源分配给训练任务。
3. 专门针对推断需求的 FPGA 和 ASIC。随着 AI 应用的爆发,对推断计算的需求会越来越多,一个 训练好的算法会不断复用。推断和训练相比有其特殊性,更强调吞吐率、能效和实时性,未来在云端很可 能会有专门针对推断的 ASIC 芯片(Google 的第一代 TPU 也是很好的例子),提供更好的能耗效率并实 现更低的延时。另外,FPGA 在这个方向也有独特优势,从微软提出的 BrainWave 架构就可以看出端倪。
边缘设备:把效率推向极致
相对云端应用,边缘设备的应用需求和场景约束要复杂很多,针对不同的情况可能需要专门的架构设计。 抛开需求的复杂性,目前的边缘设备主要是执行“推断”。在这个目标下,AI 芯片最重要的就是提高“推断” 效率。目前,衡量 AI 芯片实现效率的一个重要指标是能耗效率——TOPs/W,这也成为很多技术创新竞争 的焦点。在 ISSCC2018 会议上,就出现了单比特能效达到 772 TOPs/W 的惊人数据 [Bankman18]。
软件定义芯片
通用处理器如 CPU、GPU,缺乏针对 AI 算法的专用计算、存储单元设计,功耗过大,能效较低 ;专 用芯片(ASIC)功能单一,难以适应灵活多样的 AI 任务 ;现场可编程门阵列(FPGA)尽管可以通过编 程重构为不同电路结构,但是重构的时间开销过大,而且过多的冗余逻辑导致其功耗过高。以上传统芯片 都难以实现 AI 芯片需要的“软件定义芯片”这一特性。
可重构计算技术允许硬件架构和功能随软件变化而变化,具备处理器的灵活性和专用集成电路的高性 能和低功耗,是实现“软件定义芯片”的核心,被公认为是突破性的下一代集成电路技术。清华大学微电 子所设计的 AI 芯片(代号 Thinker [Shouyi17, Shouyi18]),采用可重构计算架构,能够支持卷积神经网络、 全连接神经网络和递归神经网络等多种 AI 算法。Thinker 芯片通过三个层面的可重构计算技术,来实现“软 件定义芯片”,最高能量效率达到了 5.09TOPS/W :
1. 计算阵列重构 :Thinker 芯片的计算阵列由多个并行计算单元互连而成。每个计算单元可以根据算 法所需要的基本算子不同而进行功能重构。此外,在复杂 AI 任务中,多种 AI 算法的计算资源需求不同,因 此 Thinker 芯片支持计算阵列的按需资源划分以提高资源利用率和能量效率。
2. 存储带宽重构 :Thinker 芯片的片上存储带宽能够根据 AI 算法的不同而进行重构。存储内的数据分 布会随着带宽的改变而调整,以提高数据复用性和计算并行度,提高了计算吞吐和能量效率。
3. 数据位宽重构:16 比特数据位宽足以满足绝大多数应用的精度需求,对于一些精度要求不高的场景, 甚至8比特数据位宽就已经足够。为了满足AI算法多样的精度需求,Thinker芯片的计算单元支持高低(16/8 比特)两种数据位宽重构。高比特模式下计算精度提升,低比特模式下计算单元吞吐量提升进而提高性能。
可重构计算技术作为实现“软件定义芯片”的重要技术,非常适合应用于 AI 芯片设计当中。 采用可重 构计算技术之后,软件定义的层面不仅仅局限于功能这一层面。算法的计算精度、性能和能效等都可以纳 入软件定义的范畴。可重构计算技术借助自身实时动态配置的特点,实现软硬件协同设计,为 AI 芯片带来 了极高的灵活度和适用范围。

片外存储器
DRAM和NAND闪存由于高密度的单元结构特点,通常被用作具有相对较大容量的片外存储器。 3D 集成已经被证明是增加商业存储器的带宽和容量的有效策略,其可以通过使用从底部到顶部的硅通孔 (TSV)技术,堆叠多个管芯或者单片制造的方法来完成。DRAM 的代表作品包括 HBM [Lee14] 和混合 存储器立方体(HMC)[Jeddeloh12]。图表 6-2 显示了 NVIDA 的 GPU 产品与 HBM 集成的 AI 应用程 序 [NVIDA]。对于 NAND 闪存,3D NAND 正在深入研究。最近,三星已经开发出 96 层 3D NAND。
片上(嵌入型)存储器
由于能够连接逻辑和存储器电路,并且与逻辑器件完全兼容,SRAM 是不可或缺的片上存储器,其性 能和密度不断受益于CMOS的尺寸缩放。 然而,其易失性使得芯片上或芯片外的非易失性存储器成为必须。 虽然目前 NOR 闪存被广泛用作片上 NVM,但由于其存取时间较短且写入能量较大,限制了系统的性能。
新兴的存储器
新兴的 NVM 技术可以显著改善用于商业和嵌入式应用的 AI 友好型存储器。对于商业存储器,新兴的 NVM 因为速度较为匹配,可以用作存储级内存(SCM)来弥补工作内存和存储之间的访问时间差别。因 为可以高密度集成,相变存储器(PCM)和阻变存储器(ReRAM)是 SCM 的主要候选者。此外,自旋 力矩传输存储器(STT-MRAM)由于其高耐久性和高速度被认为是 DRAM 的替代品。对于嵌入式应用, 基于新兴 NVM 的片上存储器也可以提供比传统 NVM 更好的存取速度和低功耗,可在非常有限的功率下 工作,这对于物联网边缘设备上的 AI 芯片特别具有吸引力。
存内计算(In-memory Computing)
存内计算与传统的冯·诺依曼体系结构有着本质不同,该体系结构直接在存储器内执行计算而不需 要数据传输。这个领域的最新进展已经证明了存内计算具有逻辑运算和神经网络处理的能力 [Chen17 & 18]。 图表 7-2 的展示了基于冯·诺依曼和存内计算架构的 AI 芯片的概念图。利用存内计算模块后,功 耗和延迟可以显着降低。
基于新型存储器的人工神经网络
基于新兴非易失性存储器件的人工神经网络计算最近引起了人们的极大关注 [Yang13]。这些器件包 括铁电存储器(FeRAM)、磁隧道结存储器(MRAM)、相变存储器(PCM)和阻变存储器(RRAM) 等,它们可用于构建待机功耗极低的存储器阵列。更重要的是,它们都可能成为模拟存内计算(Analog In-memory Computing)的基础技术,实现数据存储功能的同时参与数据处理。这些器件一般都以交叉 阵列(crossbar)的形态实现,其输入/输出信号穿过构成行列的节点。图表7-3就是一个RRAM交 叉阵列的例子,其中矩阵权重被表示为电导。交叉阵列非常自然地实现了向量和矩阵乘法,这对于各种基 于 AI 的应用具有重要的意义。使用图中集成 1024 单元的阵列进行并行在线训练,清华大学吴华强课题组 在国际上首次成功实现了灰度人脸分类。与 Intel 至强处理器(使用片外存储)相比,每次迭代模拟突触 内的能量消耗低 1,000 倍,而测试集的准确度与 CPU 计算结果相近 [Yao17]。另外,在 [Li18] 中,基于 128×64 的 ReRAM 交叉阵列,输出精度为 5-8 比特的精确模拟信号处理和图像处理也得到了实验演示。 和传统的 CMOS 电路相比,模拟存内计算可以用非常低的功耗实现信号的并行处理,从而提供很高的数 据吞吐率 [Li18]。由于存储元件的状态可以映射为突触,这种交叉开关阵列实际上实现了一个全连接的硬 件神经网络 [Prezioso15] [Hu18] 的物理实例。
生物神经网络IBM TrueNorth 和最近宣布的英特尔 Loihi 展示了使用 CMOS 器件 的仿生脉冲神经网络硬件实现。前者包括 106 个神经元和 2.56×108 SRAM 突触 [ merolla14 ],后者拥 有 1.3×105 个神经元和 1.3×108 突触 [ intel17 ]。脉冲神经网络方法需要有与生物神经元的动力学相似 的人工突触和神经元。然而,由于 CMOS 器件需要用多个晶体管来模拟一个突触或神经元,我们需要新 的具有生物突触和神经元内在相似性的紧凑型物理结构,用于复制生物神经网络行为。实际上,对模拟突 触功能至关重要的人工突触已经被简单的两终端忆阻器实现 [ wang17 ]。
SNN 最常见的学习基础算法是依赖神经元脉冲时序而定的可塑性( Spike-timing-dependent plasticity STDP)。STDP 是已经在生物脑中得到验证、较为有效的训练算法。作为一种局部训练的、非 监督的非反向传播算法,它不能保证一定能够训练出性能优异的网络。另外,由于 SNN 网络训练比较困难, 因此在实际应用中,也会采用反向传播算法进行训练。SNN 的权重精度一般不高,而且涉及大量的乘累加 操作,低精度权重和低精度激活值的 ANN 网络比较适合于移植到 SNN 中。一个较为粗糙的对比是,对于 MLP 或 CNN 等前馈型网络拓扑结构,基于 LIF 模型的 SNN 网络与采用二值激活神经元和 ReLU 激活函 数的ANN网络类似。换言之,在没有历史记忆情形下,SNN与ANN具有一定程度的等价性。SNN与 ANN 的对比见图表 8-2 所示。
神经形态芯片的特性
1 可缩放、高并行的神经网络互联2 众核结构
由于生物脑中神经元是分簇的,簇内互联较多,簇间较少,因此神经形态芯片中采用分簇结构是可行的, 即簇内包括一组神经元,且采用上文所述的交叉阵列与输入的信号(其他神经元的输出轴突)互联,簇间 采用例如 2D Mesh 这样的片上网络。
3 事件驱动
神经芯片的事件驱动也是受脑启发的:生物体神经元接收脉冲,自身膜电位相应改变。没有输入的脉冲, 就没有膜电位对应改变的必要(但会有电位的泄漏)。因此电路是否工作取决于是否有包(事件)触发。数 字电路的特点往往是后选式的,像处理器中算术逻辑单元(arithmetic and logic unit,ALU),先把所有 可能的支路都进行运算,然后选择需要的支路。而事件驱动是前驱式的,一个模块具有很多输入,当输入 端收到信息(如脉冲数据包)时,模块就启动计算。因此路由是否传输数据,神经元模块是否运算,取决 于是否有信息。这在很大程度上降低了大规模芯片的动态功耗。
4 数据流计算
数据流核心观点较多,本文主要参考的观点是将运算和传输用一个有向图(Graph)表示,这个有向 图中节点代表运算,边代表传输关系。数据流图就像一个具有各种分支,合并复杂工序加工流水线,让数 据通过这个系统得到输出。每一个节点是否运算,取决于其前继节点的运算结果是否已经就位,后继节点 的输入线路是否有能力接受新的数据。如果满足,则进行运算。它是无中心、动态众核计算的较快方式, 具有众核计算的友好性。数据流计算的不足是控制逻辑简单,不容易表示循环递归之类的结构,然而在神 经网络这个范畴它反而显得很合适。因此,在Tensorflow等神经网络框架中,默认采用数据流的方式表 达神经网络的连接关系
机遇与挑战
神经形态芯片在软件,特别是算法上,同样面临巨大的挑战。几年前,深度学习、 CNN 技术未得到有效发展时,ANN 也面临类似的问题,但随着基于反向传播算法的深度卷积神经网络的 不断进步,这个问题得到了很大程度的缓解。而目前,SNN 相关算法大都处于研究阶段。主要根源在于人 们对生物脑的运作机理挖掘还不充分,受启发有限。值得欣慰的是,近几年脑图谱技术发展迅速,绘制详 细的动物全脑神经元级别静态连接结构已逐渐成为现实。动态运行的脑机制探测,如动物的低级视觉皮层 信息解译也取得了长足的进步。相信这些脑科学的实验证据将大大助力神经形态计算取得突破。
其次, 随着人工智能和物联网的持续快速发展,越来越多的应用需求和应用场景将不断涌现。需求驱 动的AI芯片技术创新将促进创新链与产业链更加紧密结合,推动开放合作、共享共赢的产业生态形成。 CMOS 技术与新兴信息技术的交叉融合,开源软件到开源硬件的潮流渐显,预示着我们将迎来一个前所未 有的协同创新机遇期。
总而言之,在终点还非常模糊的情况下,AI 芯片的探索过程将是充满挑战也是令人兴奋的,需要从政 策制定者到每一个从业者的共同努力和长期坚持。在保持清醒认识的前提下,促进政策、资金、市场、应 用和技术形成一个良性发展的产业环境,我们完全可以对 AI 芯片的发展前景充满信心,也可以期待从技术 进步到应用落地所带来的各种红利。