赛迪智库
在万物互联的大背景下,预计未来将有数以百亿计的智能设备连接至互联网。思科公司最新数据显示,到2021 年在全球271 亿连接设备中,物联网设备将占据连接主导地位。这一趋势无疑推动了物联网向各行各业渗透,并将开启一个“万物皆有智能”的新型社会,人们能够享受到更加智慧的生活。在这个大连接、大智能的时代中,具有人工智能要素的芯片需求广阔,依靠人工智能芯片构建数据中心,为实现万物互联和人工智能提供基础计算环境,包括英伟达在内的芯片厂商快速崛起,围绕人工智能芯片领域的创新企业也倍受资本支持,芯片厂商成为这个时代最大的受益者。与此同时,作为产业制高点,人工智能芯片可应用范围广,如智能手机、医疗健康、金融、零售等,发展空间巨大。
人工智能芯片的发展综述
概念与范畴
根据清华大学教授魏少军的观点,“人工智能”可被划分为三个层次:第一个层次是应用(即:能体现深度学习和机器学习功能的应用);第二个层次是方法(即:人工智能的算法);第三个层次是工具(即:开发工具和芯片)。因此,人工智能芯片是实现人工智能的根本因素。我们对人工智能芯片进行了定义:从广义上讲,能运行人工智能算法的芯片称为人工智能芯片;从狭义上讲,人工智能芯片是专门针对人工智能算法做了特殊加速设计的芯片。
深度学习的搭建,可分为训练和推断两个环节:
1.训练。通过大量的数据输入,或采取增强学习等非监督学习方法,训练出一个复杂的深度神经网络模型。训练过程由于涉及海量的训练数据(大数据)和复杂的深度神经网络结构,需要的计算规模非常庞大,通常需要GPU集群训练几天甚至数周的时间,在训练环节GPU目前暂时扮演着难以轻易替代的角色。
2.推断。指利用训练好的模型,使用新的数据去“推断”出各种结论。虽然推断环节的计算量相比训练环节少,但仍然涉及大量的矩阵运算。在推断环节,除了使用CPU或GPU进行运算外,FPGA以及ASIC均能发挥作用。
人工智能芯片的生态环境
算法层面:机器学习算法不断成熟
自20世纪80年代起,机器学习算法开始快速发展,包括决策树学习、推导逻辑规划、强化学习和贝叶斯网络等在内的多种机器学习算法现已被广泛应用于网络搜索、垃圾邮件过滤、推荐系统、网页搜索排序、广告投放等领域。深度学习作为机器学习的一种技术手段,近年来取得重大突破,因此掀起了人工智能新一轮的发展热潮。
深度学习本质上就是利用深度神经网络处理海量数据,其优势在于利用海量数据让神经网络自己学习如何抓取特征,进而提高算法性能,加快了人工智能大规模商业化步伐。2016年,谷歌的围棋人工智能程序AlphaGo以4:1大比分戰胜韩国顶尖棋手李世石,让世界震惊。随后仅一年的时间,谷歌又推出新程序AlphaGo Zero,可以不依靠人类指导和经验,仅凭自身算法强化学习,就以100:0的战绩击败了AlphaGo。同时新版对计算力的消耗也大幅降低,相比于旧版的多台机器和48个TPU,新版只用了一台机器和4个TPU。由此可以看出,深度学习算法的不断成熟,以及迭代速度的加快,为人工智能硬件环境的提升和完善提供了支撑条件。
数据层面:结构性数据获取能力不断提升
以往数据收集终端和场景缺失,缺少易于处理的结构化数据,使得数据样本非常稀缺,达不到有效的训练目的,现在智能手机、可穿戴式设备、智能汽车等智能终端的快速发展使得数据的感知、获取、分析及存储能力都在不断提升。
数据感应能力提升。随着传感器种类的不断丰富以及物联网体系的建立,使得可获取的数据越来越多。
数据的分析、存储能力提升。云计算、大数据的发展进一步提升了数据的存储分析与处理能力。块存储、文件存储、对象存储支撑起多种数据类型的读取;集中式存储已经不再是存储架构,面对海量数据的存储访问,扩展性、伸缩性更强的分布式存储架构也逐步替代集中式存储,成为数据中心的主流。目前全球数据中心单体建设的规模在不断加大。思科预测,到2020年超大规模数据中心数量将从2016年的300个增长到485个。
网络传输能力不断提升。随着通信技术的发展,有线网络从电缆传输到光纤传输,无线网络从2G/3G到4G/5G,均带来了传输速度的提升。另一方面,传输架构的变革带来传输能力飞跃。集中式存储使得内存成为数据传输的瓶颈之一,而分布式网络传输架构的出现,产生了分布式队列技术,如Kafka,拓宽了传输的通道,使得传输能力大幅提升。
计算能力:摩尔定律无法支撑数据量爆发增长
人工智能的基础是针对海量数据的深度学习,无论是无人驾驶,还是图像识别、语音识别等,系统底层架构都是基于大数据的逻辑算法。
根据IDC研究报告,全球数据总量正呈指数级增长,从2003年的5EB,到2016年12ZB,预计于2020年达到44ZB。然而,现有硬件算力远无法匹配大数据的高速增长,计算能力已成为限制人工智能发展的主要瓶颈。
目前提升计算能力主要有三条发展路径。一是持续强化CPU处理能力。然而,随着CPU特征尺寸不断逼近物理极限,新产品研发成本越来越高,2016年英特尔宣布停用“Tick-Tock”处理器研发模式,研发周期将从2年期向3年期转变。摩尔定律正逐步失效,CPU处理能力升级速度远远落后于数据增长速度,已无法支撑人工智能海量数据的并行计算。二是采用CPU+X的异构计算模式。短期来看,异构计算的方式已基本满足人们对处理器更快速、更高效、更方便的使用要求,但如果让处理器可以达到模拟人脑神经元和脑电信号脉冲这样复杂的结构,就必须突破现有冯诺依曼的体系结构框架,使计算能力实现质的飞跃。基于上述原因,提升算力的根本方法在于采取非冯诺依曼架构的处理器。例如,类脑计算机通过模仿人类大脑的工作机制,进而彻底打破了冯诺依曼体系的发展瓶颈。
人工智能芯片的主要技术路线
FPGA技术
FPGA(Field Programmable Gate Array)是在可编程器件的基础上进一步发展的半定制电路,通过将门电路与存储器有机结合,并设计门电路间互联,进而达到定制目的。
FPGA由于是非冯诺依曼架构,使得其在运算单元和存储单元间的信息交换量大幅降低,因此具有流水处理和响应迅速的特点。FPGA芯片行业的生产厂商较多,其中Xilinx(赛灵思)、Altera(阿尔特拉)、Lattice(莱迪思)和Microsemi(美高森美)4家美国企业握有大部分FPGA专利,且垄断98%以上的市场份额。
其中Xilinx和Altera分别占比49%和39%,剩余2家占比12%。如今国际半导体巨头看好基于FPGA的人工智能芯片应用前景,纷纷布局基于FPGA的人工智能芯片,例如,英特尔收购了Altera;IBM与Xilinx合作等。国内研发FPGA产品的公司主要有紫光国芯、深鉴科技、广东高云、上海安路、西安智多晶和上海遨格芯等。
FPGA技术主要劣势
FPGA芯片中包含大量的逻辑器件与阵列,其批量生产成本高、产品功耗大和编程设计较难,使其应用领域受到局限。
批量生产成本高。由于FPGA流片成本高昂,实现同样的人工智能应用,制作FPGA芯片的成本可能会超过ASIC的成本10倍以上。如果在流片量高于5万片的人工智能终端产品等领域,如:车载、手机、音箱、机器人等,生产成本将十分高昂。
产品功耗大。为适应下游用户复杂多样的需求和应用,FPGA的门电路集成度往往很高,然而具体到某一应用,冗余的门电路会提升FPGA的功耗。然而在功耗敏感的领域中,这是非常致命的缺陷。例如,无人驾驶的汽车利用图像视觉技术和深度学习技术,实时分析周围环境,每小时处理的数据量接近3TB,汽车本身无法承受,基于FPGA的智能芯片所产生的耗电量。
编程设计难。在FPGA编程设计时,要考虑诸多因素,例如:应用场景多样性、复杂性和运行效率。这些因素导致软件开发工作十分复杂,需要投入大量研发人员,例如:Xilinx公司的员工中,60%~70%的研发人员,在进行软件开发工作。同时,由于FPGA开发需要采用专用工具进行HDL编译,技术门槛过高。众多公司已经从基于GPU和ASIC人工智能芯片产品研发,转入基于FPGA人工智能芯片产品研发,短期内这些公司产品开发效率受到影响。
FPGA技术主要优势
FPGA适用于快速变化的人工智能领域。FPGA兼容了PLD和通用门阵列的优点,可实现较大规模的电路。目前人工智能算法的更新迭代速度很快,通用化逻辑芯片更能适应变化迅速的人工智能领域。理论上分析,FPGA可以实现任意ASIC和DSP的逻辑功能。在实际应用中,开发人员可通过FPGA的软件来修改芯片,而不是替换和重新设计芯片。现有FPGA软件也可通过互联网进行远程升级。这将极大地方便人员在人工智能领域进行自由开发、调试和升级换代。
FPGA的开发周期短,研发费用低,有利于更早占据市场。由于FPGA的开发流程,不涉及布线、掩模和流片等步骤,使得开发周期缩减,一款产品的平均设计周期大约在7个月到12个月之间。FPGA产品的全球最大厂商Xilinx认为,更快的研发速度,可以更早的占据市场。如果产品晚上市6个月,5年内将会少33%的利润,晚上市4周约等于损失了14%的市场份额。因此,基于FPGA的人工智能芯片可以快速占领市场。同时, FPGA的商业模式与GPU、ASIC略有不同,众多的客户会共同分担FPGA芯片的研发费用(NRE),从而降低研发成本。所以FPGA可以采用最先进的工艺,不断降低产品的功耗,增加晶体管的数量,从而提升了FPGA在人工智能市场上的竞争力。伴随着人工智能芯片NRE费用的指数级上升,基于FPGA开发设计新一代人工智能产品的优势会更加明显。
FPGA并行计算效率高,整数运算能力出众。FPGA率先使用最先进工艺,单个计算单元的计算频率突破500MHz。在某些应用场景下,大量低速并行单元的计算效率要高于少量高速串行单元。同时,FPGA芯片的整数运算效率大大超过CPU。在当前人工智能的企业级应用中,FPGA占据了主导地位,如:图像识别、卷积神经网络算法、安全控制、压缩算法等。
GPU技术
GPU即图形处理器,原本是在个人电脑、工作站、游戏机和一些移动终端上专门进行图像处理工作的微处理器。由于GPU在并行运算上的优化设计使其非常适合于深度学习算法的训练阶段,因此GPU成为目前深度学习领域使用最为广泛的核心芯片。对比GPU和CPU的架构,虽然GPU依然为冯诺依曼架构,但其含有的逻辑核心更多,且不依赖缓存(Cache),可使用更多的内核进行数据的并行运算。因此GPU善于处理SIMD(单指令多数据流),即多个执行单元以同样的步伐来处理不同的数据。在GPU领域,目前AMD公司以及NVIDIA公司占有绝对的技术优势和市场优势。
GPU技术主要优势
GPU作为现在主流的人工智能芯片之一,具有易于开发、软件生态齐全、并行计算能力强的优点。
GPU设计、开发的周期较短。GPU作为已经成熟的通用型人工智能芯片,有更多的软件和深度学习标准库的支持。通用性强,性能较高,GPU已经构建了CUDA、cuDNN及DIGITS等工具,支持各种主流开源框架,提供友好的界面和可视化的方式,并得到了合作伙伴的支持,例如浪潮集团开发了一个支持多GPU的Caffe,曙光集团也研发了基于PCI总线的多GPU的技术,对熟悉串行程序设计的开发者更加友好。依靠这些辅助的软件和应用,开发人员可以将精力更多的投入到复杂算法的研究和实现上,使得开发高复杂度系统的难度大大降低。
并行计算能力较强。从峰值性能来说,GPU远高于FPGA,GPU基本单元的计算能力很强。对比于FPGA,虽然FPGA内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT查找表)都遠远低于CPU和GPU中的ALU模块。而两者目前在基本单元数量上的差距并不大,同时目前机器学习大多使用SIMD架构,即只需一条指令可以平行处理大量数据,在这样的场景下,GPU的计算性能优势就比较明显了。
GPU技术主要劣势
架构相对固定,缺乏灵活性。GPU由于架构固定,硬件原生支持的指令也就固定了,无法像FPGA一样进行编程。而在有些领域可编程性十分关键,因为它让软件与终端应用公司能够提供与其竞争对手不同的解决方案,并且能够灵活地针对自己所用的算法修改电路。
功耗较高,不利于大规模应用。在人工智能领域,GPU与FPGA和ASIC相比,在使用过程中会出现冗余的计算流程,因此会产生较高的功耗。这在功耗敏感的领域,例如工业应用中是非常致命的缺陷。
成本较高。相比于FPGA和ASIC,GPU价格要明显高出很多,这大大限制了GPU在一些场景的应用。
全定制人工智能芯片(ASIC)
ASIC芯片是针对特定的应用需求而设计和定制,与所应用的人工智能算法相关。人工智能机器学习算法种类繁多,一般分为监督学习、半监督学习、无监督学习、强化学习、深度学习、迁移学习等。算法的多样性使得不同的ASIC芯片应用不同,内部结构差异性较大。
ASIC芯片从目前发展进程来看,分为前阶段基于FPGA平台的半定制ASIC、中阶段针对深度学习算法的全定制ASIC和后阶段针对类脑计算算法的神经网络ASIC。例如,国内深鉴科技的设计的DPU芯片就属于半定制ASIC;国内寒武纪设计的寒武纪系列NPU则属于全定制ASIC;IBM开发的TrueNorth就属于后阶段的类脑ASIC。半定制ASIC通常需要设计芯片架构,组装标准化的逻辑单元,如门电路(SSI)、运算器(MSI)、数据通路(ALU)、IP核等。在全定制ASIC中,除架构设计外,逻辑单元也需要自行设计。类脑ASIC芯片相当于全定制ASIC的加强版,集成的单元数量与架构复杂度几何倍数增加,力求模仿人脑神经元的分析原理。
近两年,人工智能ASIC芯片发展迅速。全球范围内各大企业布局频繁,软件企业与集成电路制造企业频频联手,ASIC芯片层出不穷。英伟达与谷歌公司联手,布局深度學习,秘密研发了ASIC芯片TPU。IBM,高通,英特尔等巨头也随势纷纷在深度学习和类脑计算ASIC芯片上投入技术研发,展开技术布局。中国的中星微、寒武纪等企业也果断把握时机,积极投入ASIC芯片研发。然而目前中国半导体初创公司实力有限,大部分企业都选择在风险较低的半定制或全定制深度学习ASIC芯片领域布局,只有深井科技一家在研发类脑计算领域芯片。
ASIC芯片主要优势
ASIC芯片是专用芯片,其计算能力和计算效率都可以根据算法需要进行定制,所以ASIC芯片在人工智能领域的应用中,主要有以下优越性。
体积小,功耗低。ASIC芯片在专用化设计过程中,充分利用每个运算单元的功能,不会出现冗余的计算单元,有利于芯片体积小型化。在人工智能领域,ASIC芯片与FPGA和GPU相比,不会出现冗余的计算流程,可以实现更低的功耗。非常适合于本地终端上的人工智能运算,如智能手机,智能家电,可穿带智能设备等。
性能最优,效率最高。人工智能应用需要大量计算。ASIC芯片通过专用化的设计可以将数据传输时间与数据等待时间压制到最低,极大提升了计算效率与性能。
出货量与成本呈正相关性。ASIC芯片专门应用于特定的人工智能场景。ASIC芯片生产所投入的成本将严重依赖于出货量,出货量越大,成本越低。对于出货量大的人工智能应用场景,如本地终端设备等,ASIC芯片尤为适合。
ASIC芯片主要劣势
虽然在人工智能应用中,ASIC芯片拥有高性能、低功耗等优势,但是同种ASIC芯片的应用范围过窄,导致其局限性十分明显。
设计开发周期过长,上市时间较慢。与FPGA和GPU不同,ASIC设计需要做物理设计和可靠性验证将会占据更多时间,导致ASIC芯片设计开发周期时间过长。
过度依赖算法,市场风险高。ASIC芯片对算法的依赖性极高,缺乏灵活性,应用较窄。目前人工智能算法高速更新迭代,处在爆发期远没有达到平稳期。旧ASIC芯片大概率无法应用于新的人工智能算法,因此市场风险较高。
研发成本投入大,小批量出货,成本将升高。作为人工智能芯片,ASIC单次研发过程复杂,需要做光刻掩膜,需要大量流片,对芯片性能功耗进行测试,验证设计可行性。这些流程所需的成本投入较大。