在全球科技领域,人工智能无疑是最热门的领域。这种并不算新的应用场景将会带动新一轮的计算革命,这也将给人工智能芯片带来新的需求,给半导体领域带来新的机遇。人工智能芯片设计的目的是从加速深度学习算法到希望从底层结构模拟人脑来更好实现智能。
目前人工智能芯片涵盖了三个阶段:
(1)基于 FPGA 的半定制。
(2)针对深度学习算法的全定制。
(3)类脑计算芯片。
我们来看一下人工智能芯片研发攻略。
深度学习推动新一轮计算革命
深度学习作为新一代计算模式,近年来,其所取得的前所未有的突破掀起了人工智能新一轮发展热潮。深度学习本质上是多层次的人工神经网络算法,即模仿人脑的神经网络,从最基本的单元上模拟了人类大脑的运行机制。由于人类大脑的运行机制与计算机有着鲜明的不同,深度学习与传统计算模式有非常大的差别。
大脑运行机制和目前计算机的差别
深度学习的人工神经网络算法与传统计算模式不同,它能够从输入的大量数据中自发的总结出规律,从而举一反三,泛化至从未见过的案例中。因此,它不需要人为的提取所需解决问题的特征或者总结规律来进行编程。
人工神经网络算法实际上是通过大量样本数据训练建立了输入数据和输出数据之间的映射关系,其最直接的应用是在分类识别方面。例如训练样本的输入是语音数据,训练后的神经网络实现的功能就是语音识别,如果训练样本输入是人脸图像数据,训练后实现的功能就是人脸识别。
深度学习实际上是建立输入和输出数据之间的映射关系
传统计算机软件是程序员根据所需要实现的功能原理编程,输入至计算机运行即可,其计算过程主要体现在执行指令这个环节。而深度学习的人工神经网络算法包含了两个计算过程:
1、用已有的样本数据去训练人工神经网络;
2、用训练好的人工神经网络去运行其他数据。
这种差别提升了对训练数据量和并行计算能力的需求,降低了对人工理解功能原理的要求。
人工神经网络算法与传统计算模式的不同
根据上文的分析我们可以看到,深度学习与传统计算模式最大的区别就是不需要编程,但需要海量数据并行运算。传统处理器架构(包括 x86 和 ARM 等)往往需要数百甚至上千条指令才能完成一个神经元的处理,因此无法支撑深度学习的大 规模并行计算需求。
为什么传统计算架构无法支撑深度学习的大规模并行计算需求? 因为传统计算架构计算资源有限。传统计算架构一般由中央运算器(执行指令计算)、中央控制器(让指令有序执行)、内存(存储指令)、输入(输入编程指令)和输出(输出结果)五个部分构成,其中中央运算器和中央控制器集成一块芯片上构成了我们今天通常所讲的 CPU。
CPU 内部结构图(仅 ALU 为主要计算模块)
我们从 CPU 的内部结构可以看到:实质上仅单独的 ALU 模块(逻辑运算单元)是用来完成指令数据计算的,其他各个模块的存在都是为了保证指令能够一条接一条的有序执行。这种通用性结构对于传统的编程计算模式非常适合,同时可以通过提升 CPU 主频(提升单位时间执行指令速度)来提升计算速度。但对于并不需要太多的程序指令,却需要海量数据运算的深度学习的计算需求,这种结构就显得非常笨拙。尤其是在目前功耗限制下无法通过提升CPU 主频来加快指令执行速度,这种矛盾愈发不可调和。
因此,深度学习需要更适应此类算法的新的底层硬件来加速计算过程,也就是说,新的硬件对我们加速深度学习发挥着非常重要的作用。目前主要的方式是使用已有的 GPU、 FPGA 等通用芯片。
新计算平台生态正在建立
GPU 作为应对图像处理需求而出现的芯片,其海量数据并行运算的能力与深度学习需求不谋而合,因此,被最先引入深度学习。
运算单元在 CPU 中占比很少,而 GPU 中绝大部分都是运算单元
2011 年吴恩达率先将其应用于谷歌大脑中便取得惊人效果,结果表明 12 颗 NVIDIAD 的 GPU 可以提供相当于 2000 颗 CPU 的深度学习性能,之后纽约大学、多伦多大学以及瑞士人工智能实验室的研究人员纷纷在 GPU 上加速其深度神经网络。
英伟达 GPU 使训练深度神经网络的速度提升了 50 倍
英伟达(Nvidia) 是全球可编程图形处理技术的领军企业,公司的核心产品是 GPU 处理器。英伟达通过 GPU 在深度学习中体现的出色性能迅速切入人工智能领域,又通过打造NVIDIA CUDA 平台大大提升其编程效率、开放性和丰富性,建立了包含 CNN、 DNN、深度感知网络、 RNN、 LSTM 以及强化学习网络等算法的平台。
英伟达迅速建立了支撑科研机构、行业巨头和初创企业的通用 GPU 加速平台
根据英伟达公开宣布, 在短短两年里,与 NVIDIA 在深度学习方面展开合作的企业便激增了近 35 倍,增至 3,400 多家企业,涉及医疗、生命科学、能源、金融服务、汽车、制造业以及娱乐业等多个领域。
与 NVIDIA 在深度学习方面展开合作的企业两年激增了近35 倍
英伟达针对各类智能计算设备开发对应 GPU,使得深度学习可以渗透各种类型的智能机器
深度学习系统一方面需要利用庞大的数据对其进行训练,另一方面系统中存在上万个参数需要调整。 IT 巨头开源人工智能平台,旨在调动更多优秀的工程师共同参与发展其人工智能系统。开放的开发平台将带来下游应用的蓬勃发展。最典型的例子就是谷歌开源安卓平台,直接促成下游移动互联网应用的空前繁荣。
以谷歌为例,用户使用开源的 TensorFlow 平台训练和导出自己所需要的人工智能模型,然后就可直接把模型导入 TensorFlow Serving 对外提供预测类云服务,相当于 TensorFlow 系列把整个用深度学习模型对外提供服务的方案全包了。实质上是将开源深度学习工具用户直接变为其云计算服务的用户,包括阿里、亚马逊在内的云计算服务商都将机器学习平台嵌入其中作为增强其竞争实力和吸引更多用户的方式。
2015 年以来,全球人工智能顶尖巨头均争向开源自身最核心的人工智能平台,各种开源深度学习框架层出不穷,其中包括: Caffe、 CNTK、 MXNet、 Neon、 TensorFlow、 Theano 和 Torch等。
各大巨头争相开源人工智能平台
人工智能催生新一代专用计算芯片
回顾计算机行业发展史,新的计算模式往往催生新的专用计算芯片。人工智能时代新计算的强大需求,正在催生出新的专用计算芯片。
目前以深度学习为代表的人工智能新计算需求,主要采用 GPU、 FPGA 等已有适合并行计算的通用芯片来实现加速。在产业应用没有大规模兴起之时,使用这类已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险,但是,由于这类通用芯片设计初衷并非专门针对深度学习,因而,天然存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出:
GPU 作为图像处理器,设计初衷是为了应对图像处理中需要大规模并行计算。因此,其在应用于深度学习算法时,有三个方面的局限性:
第一, 应用过程中无法充分发挥并行计算优势。 深度学习包含训练和应用两个计算环节,GPU 在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理,并行度的优势不能完全发挥。
第二, 硬件结构固定不具备可编程性。 深度学习算法还未完全稳定,若深度学习算法发生大的变化, GPU 无法像 FPGA 一样可以灵活的配臵硬件结构;
第三, 运行深度学习算法能效远低于 FPGA。 学术界和产业界研究已经证明,运行深度学习算法中实现同样的性能, GPU 所需功耗远大于FPGA,例如国内初创企业深鉴科技基于FPGA 平台的人工智能芯片在同样开发周期内相对 GPU 能效有一个数量级的提升。
另外还需要谈一下FPGA,即现场可编辑门阵列,是一种新型的可编程逻辑器件。其设计初衷是为了实现半定制芯片的功能,即硬件结构可根据需要实时配臵灵活改变。 根据赛灵思报告, 目前的 FPGA市场由 Xilinx 和 Altera 主导,两者共同占有 85%的市场份额,其中 Altera 在 2015 年被 intel以 167 亿美元收购(此交易为 intel 有史以来涉及金额最大的一次收购案例),另一家 Xilinx则选择与 IBM 进行深度合作,背后都体现了 FPGA 在人工智能时代的重要地位。
FPGA 应用于深度学习研究里程碑
尽管 FPGA 倍受看好,甚至新一代百度大脑也是基于 FPGA 平台研发,但其毕竟不是专门为了适用深度学习算法而研发,实际仍然存在不少局限:
第一, 基本单元的计算能力有限。 为了实现可重构特性, FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠 LUT 查找表)都远远低于 CPU 和 GPU 中的 ALU模块。
FPGA 的内部结构
第二, 速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;
第三,FPGA价格较为昂贵,在规模放量的情况下单块 FPGA的成本要远高于专用定制芯片。
从发展趋势上看,人工智能定制芯片将是计算芯片发展的大方向:
第一, 定制芯片的性能提升非常明显。 例如 NVIDIA 首款专门为深度学习从零开始设计的芯片 Tesla P100 数据处理速度是其 2014 年推出 GPU 系列的 12 倍。谷歌为机器学习定制的芯片 TPU 将硬件性能提升至相当于按照摩尔定律发展 7 年后的水平。
NVIDIA 为深度学习专门设计芯片 Tesla P100 比一年前发布的 GPU 快 12 倍
需要指出的是这种性能的飞速提升对于人工智能的发展意义重大。中国科学院计算所研究员、寒武纪深度学习处理器芯片创始人陈云霁博士在《中国计算机学会通讯》上撰文指出:通过设计专门的指令集、微结构、人工神经元电路、存储层次,有可能在 3~5 年内将深度学习模型的类脑计算机的智能处理效率提升万倍(相对于谷歌大脑)。提升万倍的意义在于,可以把谷歌大脑这样的深度学习超级计算机放到手机中,帮助我们本地、实时完成各种图像、语音和文本的理解和识别;更重要的是,具备实时训练的能力之后,就可以不间断地通过观察人的行为不断提升其能力,成为我们生活中离不开的智能助理。
谷歌 TPU 相当于将硬件性能实现了按照摩尔定律需要发展 7 年时间的跨越
第二, 下游需求量足够摊薄定制芯片投入的成本。 人工智能的市场空间将不仅仅局限于计算机、手机等传统计算平台,从无人驾驶汽车、无人机再到智能家居的各类家电,至少数十倍于智能手机体量的设备需要引入感知交互能力。而出于对实时性的要求以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑。仅从这一角度考虑,人工智能定制芯片需求量就将数十倍于智能手机。
人工智能核心芯片下游应用极为广泛
人工智能将催生数十倍于智能手机的核心芯片需求
第三, 通过算法切入人工智能领域的公司希望通过芯片化、产品化来盈利。 目前通过算法切入人工智能领域的公司很多,包括采用语音识别、图像识别、 ADAS(高级驾驶辅助系统)等算法的公司。由于它们提供的都是高频次、基础性的功能服务,因此,仅仅通过算法来实现商业盈利往往会遇到瓶颈。
Mobileye 发布第四代 ADAS 视觉处理器
通过将各自人工智能核心算法芯片化、产品化,则不但提升了原有性能,同时也有望为商业盈利铺平道路。目前包括 Mobileye、商汤科技、地平线机器人等著名人工智能公司都在进行核心算法芯片化的工作。
地平线机器人正在打造深度学习本地化芯片
目前为人工智能专门定制芯片的大潮已经开始逐步显露,英伟达在今年宣布研发投入超过 20亿美元用于深度学习专用芯片,而谷歌为深度学习定制的 TPU 芯片甚至已经秘密运行一年,该芯片直接支撑了震惊全球的人机围棋大战。
我国的寒武纪芯片也计划于今年开始产业化。 人机围棋大战中的谷歌“阿尔法狗”(AlphaGo)使用了约 170 个图形处理器(GPU)和 1200 个中央处理器(CPU),这些设备需要占用一个机房,还要配备大功率的空调,以及多名专家进行系统维护。 AlphaGo 目前用的芯片数量,将来如果换成中国人研制的“寒武纪”架构的芯片,估计一个小盒子就全装下了。这意味着“阿尔法狗”将可以跑得更快些。人工智能专用芯片的涌现表明从芯片层面开启的新一轮计算模式变革拉开帷幕,是人工智能产业正式走向成熟的拐点。
人工智能芯片发展路线图
设计芯片的目的是从加速深度学习算法到希望从底层结构模拟人脑来更好实现智能。目前人工智能芯片涵盖了基于 FPGA 的半定制、针对深度学习算法的全定制、类脑计算芯片三个阶段。
人工智能芯片发展阶段
(一)基于 FPGA 的半定制人工智能芯片
在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的 FPGA 芯片来实现半定制的人工智能芯片是最佳选择。
这类芯片中的杰出代表是国内初创公司深鉴科技,该公司设计了“深度学习处理单元”(Deep Processing Unit, DPU)的芯片,希望以 ASIC 级别的功耗来达到优于 GPU 的性能,其第一批产品就是基于 FPGA 平台。这种半定制芯片虽然依托于 FPGA 平台,但是利用抽象出了指令集与编译器,可以快速开发、快速迭代,与专用的 FPGA 加速器产品相比,也具有非常明显的优势。
深鉴科技 FPGA 平台 DPU 产品开发板
(二)针对深度学习算法的全定制人工智能芯片
这类芯片是完全采用 ASIC 设计方法全定制,性能、功耗和面积等指标面向深度学习算法都做到了最优。谷歌的 TPU 芯片、我国中科院计算所的寒武纪深度学习处理器芯片就是这类芯片的典型代表。
寒武纪在国际上开创了深度学习处理器方向
以寒武纪处理器为例,目前寒武纪系列已包含三种原型处理器结构:寒武纪 1 号(英文名DianNao,面向神经网络的原型处理器结构)、寒武纪 2 号(英文名 DaDianNao,面向大规模神经网络)、寒武纪 3 号(英文名 PuDianNao,面向多种深度学习算法)。
寒武纪芯片计划于今年内实现产业化
其中寒武纪 2 号在 28nm 工艺下主频为 606MHz,面积 67.7 mm2,功耗约 16W。其单芯片性能超过了主流 GPU 的 21 倍,而能耗仅为主流 GPU 的 1/330。 64 芯片组成的高效能计算系统较主流 GPU 的性能提升甚至可达 450 倍,但总能耗仅为 1/150。
(三)类脑计算芯片
这类芯片的设计目的不再局限于仅仅加速深度学习算法,而是在芯片基本结构甚至器件层面上希望能够开发出新的类脑计算机体系结构,比如会采用忆阻器和 ReRAM 等新器件来提高存储密度。这类芯片的研究离成为市场上可以大规模广泛使用的成熟技术还有很大的差距,甚至有很大的风险,但是长期来看类脑芯片有可能会带来计算体系的革命。
这类芯片的典型代表是 IBM 的 Truenorh 芯片。TrueNorth 处理器由 54 亿个连结晶体管组成,构成了包含 100 万个数字神经元阵列,这些神经元又可通过 2.56 亿个电突触彼此通信。
Truenorh 芯片集成神经元数目迅速增长
该芯片采用跟传统冯诺依曼不一样的结构,将内存、处理器单元和通信部件完全集成在一起,因此信息的处理完全在本地进行,而且由于本地处理的数据量并不大,传统计算机内存与 CPU之间的瓶颈不复存在。同时神经元之间可以方便快捷地相互沟通,只要接收到其他神经元发过来的脉冲(动作电位),这些神经元就会同时做动作实现事件驱动的异步电路特性。由于不需要同步时钟该芯片功耗极低: 16 个 TrueNorth 芯片的功耗仅为 2.5 瓦,仅与平板电脑相当。
美国劳伦斯利弗莫尔国家实验室一台价值 100 万美元的超级计算机中使用了 16 颗 Truenorh 芯片
类脑计算芯片市场空间巨大。 根据 Markets- and-Markets 预测,包含消费终端的类脑计算芯片市场将在 2022 年以前达到千亿美元的规模,其中消费终端是最大市场,占整体 98.17%,,其他需求包括工业检测、航空、军事与国防等领域。
2022 年类脑计算芯片市场份额预测
全球知名芯片公司的类脑芯片
核心芯片是人工智能时代的战略制高点
核心芯片将决定一个新的计算时代的基础架构和未来生态,因此,谷歌、微软、 IBM、 Facebook等全球 IT 巨头都投巨资加速人工智能核心芯片的研发,旨在抢占新计算时代的战略制高点,掌控人工智能时代主导权。
回顾在 PC 和移动互联网时代分别处于霸主地位的 X86 架构和 ARM 架构的发展历程,可以看到:从源头上掌控核心芯片架构取得先发优势,对于取得一个新计算时代主导权有多么重要。
计算机指令集架构可以分为复杂指令集(CISC)和精简指令集(RISC)两种。 PC 时代处于垄断地位的 X86 架构就是属于复杂指令集。复杂指令集在处理复杂指令上具备先天优势,但同时也存在设计复杂、难以流水作业、高功耗的问题。
PC 处理器市场格局(其中 Intel、 AMD、威盛均是X86 架构)
实质上精简指令集正是上世纪 80 年代针对复杂指令集缺点设计出来的,学术界当时一致认为精简指令集更为领先。但是 PC 时代的芯片霸主英特尔早在精简指令集发明之前的处理器芯片 8086 就采用了复杂指令集的 X86架构,在后续的 80286、 80386 等系列处理器芯片继续采用兼容的 X86 架构,同时加强每一代处理器对上层软件的兼容,并与微软建立了 Wintel 联盟牢牢支撑整个 PC 的应用生态。
WINTEL 联盟垄断了 PC 市场的计算平台
习惯了使用英特尔 X86 处理器的软件公司不再愿意使用其他架构的处理器,即使它们的性能更好。其结果就是:上世纪 90 年代几乎只有英特尔一家公司坚持开发 X86 架构的处理器,却战胜了 MIPS、 PowerPC、 IBM、 HP、 DEC 等及其他各家精简指令集的处理器, X86 架构牢牢掌控了 PC 时代的主导权。
移动互联网时代,英特尔并没有延续其在 PC 时代的优势,而是一家此前名不见经传的英国芯片设计公司 ARM 成为垄断移动处理器芯片的新霸主。
ARM 授权芯片设计 IP 的商业模式
ARM 的成功有三方面的原因:
第一, ARM 在 20 世纪 90 年代初为苹果公司设计 CPU 起家(ARM 是由 Acorn、苹果和VLSI Technology 联合出资成立) ,因而其在智能手机革命开启之初就进入了这个快速成长的市场,与苹果的关系奠定了其架构在移动处理器市场先发优势;
第二, ARM 处理器隶属于精简指令架构,相对于复杂指令架构的 X86 处理器天然具备低功耗优势,而这在移动市场极为重要;
第三, ARM 创造了只授权核心设计 IP 不生产芯片的商业模式,迅速拉拢各大芯片巨头建立自己的生态联盟。
移动处理器市场份额(高通、联发科、苹果、三星等均采用 ARM 授权的架构)
ARM 的成功给我们的启示是:
一、新的计算时代来临之时往往是新兴企业弯道超车的绝佳机遇,再强势的传统巨头也难免面临重新洗牌的局面;
ARM 占据嵌入式处理器 IP 超过一半份额,其中占据移动手机处理器超过 90%份额
二、把握核心芯片架构的先发优势,在此基础上迅速建立生态体系是在一个新计算变革时代来临时的成功关键。
三、目前使用的 GPU、 FPGA 均非人工智能定制芯片,天然存在局限性,人工智能专用芯片对于巨头和初创企业都同一起跑线的蓝海。
ARM 各系列移动处理器销售量,其中超过一半销售量是在 2009 年移动互联网时代兴起后取得
我们正处在从信息时代迈向智能时代的重要拐点,人工智能将推动新一轮计算革命,而芯片行业作为产业最上游,是人工智能时代的开路先锋:一方面具备行业先导指标的意义,另一方面也是在人工智能产业发展初期率先启动、弹性最大的行业。信息时代产生了英特尔这样的千亿市值的芯片巨头,拥有更大应用市场的人工智能时代必将孕育出更多的“英特尔”。