分享

AI芯片三剑客 云端终端双场景各显神通(上篇)

 老三的休闲书屋 2017-12-10

AI(人工智能)沉浮数十载,在“预期-失望-进步-预期”周期中破浪前行。

根据赛迪咨询发布报告,2016年全球人工智能市场规模达到293亿美元。我们预计2020年全球人工智能市场规模将达到1200亿美元,复合增长率约为20%。人工智能芯片是人工智能市场中重要一环,根据英伟达,AMD,赛灵思,谷歌等相关公司数据,我们测算2016年人工智能芯片市场规达到23.88亿美元,约占全球人工智能市场规模8.15%,而到2020年人工智能芯片市场规模将达到146.16亿美元,约占全球人工智能市场规模12.18%。人工智能芯片市场空间极其广阔。

芯片承载算法,是竞争的制高点

人工智能的基础是算法,深度学习是目前最主流的人工智能算法。深度学习又叫深度神经网络(DNN:Deep Neural Networks),从之前的人工神经网络(ANN:ArtificialNeural Networks)模型发展而来。这种模型一般采用计算机科学中的图模型来直观表达,深度学习的“深度”便指的是图模型的层数以及每一层的节点数量。神经网络复杂度不断提升,从最早单一的神经元,到2012年提出的AlexNet(8个网络层),再到2015年提出的ResNET(150个网络层),层次间的复杂度呈几何倍数递增,对应的是对处理器运算能力需求的爆炸式增长。深度学习带来计算量急剧增加,对计算硬件带来更高要求。

深度学习算法分“训练”和“推断”两个过程。简单来讲,人工智能需要通过以大数据为基础,通过“训练”得到各种参数,把这些参数传递给“推断”部分,得到最终结果。

AI芯片三剑客 云端终端双场景各显神通(上篇)

“训练”和“推断”所需要的神经网络运算类型不同。神经网络分为前向计算(包括矩阵相乘、卷积、循环层)和后向更新(主要是梯度运算)两类,两者都包含大量并行运算。“训练”所需的运算包括“前向计算+后向更新”;“推断”则主要是“前向计算”。一般而言训练过程相比于推断过程计算量更大。一般来说,云端人工智能硬件负责“训练+推断”,终端人工智能硬件只负责“推断”。

“训练”需大数据支撑并保持较高灵活性,一般在“云端”(即服务器端)进行。人工智能训练过程中,顶层上需要有一个海量的数据集,并选定某种深度学习模型。每个模型都有一些内部参数需要灵活调整,以便学习数据。而这种参数调整实际上可以归结为优化问题,在调整这些参数时,就相当于在优化特定的约束条件,这就是所谓的“训练”。云端服务器收集用户大数据后,依靠其强大的计算资源和专属硬件,实现训练过程,提取出相应的训练参数。由于深度学习训练过程需要海量数据集及庞大计算量,因此对服务器也提出了更高的要求。未来云端AI服务器平台需具备相当数据级别、流程化的并行性、多线程、高内存带宽等特性。

“推断”过程可在云端(服务器端)进行,也可以在终端(产品端)进行。等待模型训练完成后,将训练完成的模型(主要是各种通过训练得到的参数)用于各种应用场景(如图像识别、语音识别、文本翻译等)。“应用”过程主要包含大量的乘累加矩阵运算,并行计算量很大,但和“训练”过程比参数相对固化,不需要大数据支撑,除在服务器端实现外,也可以在终端实现。“推断”所需参数可由云端“训练”完毕后,定期下载更新到终端。

AI芯片三剑客 云端终端双场景各显神通(上篇)

传统CPU算力不足,新架构芯片支撑AI成必须。核心芯片决定计算平台的基础架构和发展生态,由于AI所需的深度学习需要很高的内在并行度、大量浮点计算能力以及矩阵运算,基于CPU的传统计算架构无法充分满足人工智能高性能并行计算(HPC)的需求,因此需要发展适合人工智能架构的专属芯片。

专属硬件加速是新架构芯片发展主流。目前处理器芯片面向人工智能硬件优化升级有两种发展路径:(1)延续传统计算架构,加速硬件计算能力:以GPU、FPGA、ASIC(TPU、NPU等)芯片为代表,采用这些专属芯片作为辅助,配合CPU的控制,专门进行人工智能相关的各种运算;(2)彻底颠覆传统计算架构,采用模拟人脑神经元结构来提升计算能力,以IBM TrueNorth芯片为代表,由于技术和底层硬件的限制,第二种路径尚处于前期研发阶段,目前不具备大规模商业应用的可能性。从技术成熟度和商业可行性两个角度,我们判断使用AI专属硬件进行加速运算是今后五年及以上的市场主流。

云端终端双场景,三种专属芯片各显其能

我们把人工智能硬件应用场景归纳为云端场景和终端场景两大类。云端主要指服务器端,包括各种共有云、私有云、数据中心等业务范畴;终端主要指包括安防、车载、手机、音箱、机器人等各种应用在内的移动终端。由于算法效率和底层硬件选择密切相关,“云端”(服务器端)和“终端”(产品端)场景对硬件的需求也不同。

AI芯片三剑客 云端终端双场景各显神通(上篇)

除CPU外,人工智能目前主流使用三种专用核心芯片,分别是GPU,FPGA,ASIC。

GPU:先发制人的“十项全能”选手,云端终端均拔头筹。GPU(Graphics Processing Unit)又称图形处理器,之前是专门用作图像运算工作的微处理器。相比CPU,GPU由于更适合执行复杂的数学和几何计算(尤其是并行运算),刚好与包含大量的并行运算的人工智能深度学习算法相匹配,因此在人工智能时代刚好被赋予了新的使命,成为人工智能硬件首选,在云端和终端各种场景均率先落地。目前在云端作为AI“训练”的主力芯片,在终端的安防、汽车等领域,GPU也率先落地,是目前应用范围最广、灵活度最高的AI硬件。

FPGA:“变形金刚”,算法未定型前的阶段性最佳选择。FPGA(Field-Programmable Gate Array)即现场可编程门阵列,是一种用户可根据自身需求进行重复编程的“万能芯片”。编程完毕后功能相当于ASIC(专用集成电路),具备效率高、功耗低的特点,但同时由于要保证编程的灵活性,电路上会有大量冗余,因此成本上不能像ASIC做到最优,并且工作频率不能太高(一般主频低于500MHz)。FPGA相比GPU具有低功耗优势,同时相比ASIC具有开发周期快,更加灵活编程等特点。FPGA于“应用爆发”与“ASIC量产”夹缝中寻求发展,是效率和灵活性的较好折衷,“和时间赛跑”,在算法未定型之前具较大优势。在现阶段云端数据中心业务中,FPGA以其灵活性和可深度优化的特点,有望继GPU之后在该市场爆发;在目前的终端智能安防领域,目前也有厂商采用FPGA方案实现AI硬件加速。

AI芯片三剑客 云端终端双场景各显神通(上篇)

ASIC:“专精职业选手”,专一决定效率,AI芯片未来最佳选择。ASIC(ApplicationSpecific Integrated Circuit)即专用集成电路,本文中特指专门为AI应用设计、专属架构的处理器芯片。近年来涌现的类似TPU、NPU、VPU、BPU等令人眼花缭乱的各种芯片,本质上都属于ASIC。无论是从性能、面积、功耗等各方面,AISC都优于GPU和FPGA,长期来看无论在云端和终端,ASIC都代表AI芯片的未来。但在AI算法尚处于蓬勃发展、快速迭代的今天,ASIC存在开发周期较长、需要底层硬件编程、灵活性较低等劣势,因此发展速度不及GPU和FPGA。

本报告我们分别仔细分析云端和终端两种应用场景下,这三种专属AI芯片的应用现状、发展前景及可能变革。

1 云端场景:GPU生态领先,未来多芯片互补共存

核心结论:GPU、TPU等适合并行运算的处理器未来成为支撑人工智能运算的主力器件,既存在竞争又长期共存,一定程度可相互配合;FPGA有望在数据中心业务承担较多角色,在云端主要作为有效补充存在;CPU会“变小”,依旧作为控制中心。未来芯片的发展前景取决于生态,有望统一在主流的几个软件框架下,形成云端CPU+GPU/TPU+FPGA(可选)的多芯片协同场景。

(1)依托大数据,科技巨头不同技术路径布局AI云平台

基于云平台,各大科技巨头大力布局人工智能。云计算分为三层,分别是Infrastructure(基础设施)-as-a-Service(IaaS),Platform(平台)-as-a-Service(Paas),Software(软件)-as-a-Service(Saas)。基础设施在最下端,平台在中间,软件在顶端。IaaS公司提供场外服务器,存储和网络硬件。大数据为人工智能提供信息来源,云计算为人工智能提供平台,人工智能关键技术是在云计算和大数据日益成熟的背景下取得了突破性进展。目前各大科技巨头看好未来人工智能走向云端的发展态势,纷纷在自有云平台基础上搭载人工智能系统,以期利用沉淀在云端的大数据挖掘价值。

AI芯片三剑客 云端终端双场景各显神通(上篇)

(2)千亿美元云服务市场,AI芯片发展潜力巨大

千亿美元云服务市场,云计算硬件市场规模巨大。云计算的市场规模在逐渐扩大。据Gartner的统计,2015年以IaaS、PaaS和SaaS为代表的典型云服务市场规模达到522.4亿美元,增速20.6%,预计2020年将达到1435.3亿美元,年复合增长率达22%。其中IaaS公司到2020年市场空间达到615亿美元,占整个云计算市场达43%,云计算硬件市场空间巨大,而云计算和人工智能各种加速算法关系密切,未来的云计算硬件离不开AI芯片加速。

云端AI芯片发展潜力巨大。根据英伟达与AMD财务数据,我们预计GPU到2020年在数据中心业务中将达到约50亿美元市场规模。同时根据赛灵思与阿尔特拉等FPGA厂商,我们预计2020年FPAG数据中心业务将达到20亿美元。加上即将爆发的ASIC云端市场空间,我们预计到2020年云端AI芯片市场规模将达到105.68亿美元,AI芯片在云端会成为云计算的重要组成部分,发展潜力巨大。

(3)云端芯片现状总结:GPU领先,FPGA随后,ASIC萌芽

AI芯片在云端基于大数据,核心负责“训练”。云端的特征就是“大数据+云计算”,用户依靠大数据可进行充分的数据分析和数据挖掘、提取各类数据特征,与人工智能算法充分结合进行云计算,从而衍生出服务器端各种AI+应用。AI芯片是负责加速人工智能各种复杂算法的硬件。由于相关计算量巨大,CPU架构被证明不能满足需要处理大量并行计算的人工智能算法,需要更适合并行计算的芯片,所以GPU、FPGA、TPU等各种芯片应运而生。AI芯片在云端可同时承担人工智能的“训练”和“推断”过程。

云端芯片现状:GPU占据云端人工智能主导市场,以TPU为代表的ASIC目前只运用在巨头的闭环生态,FPGA在数据中心业务中发展较快。

GPU应用开发周期短,成本相对低,技术体系成熟,目前全球各大公司云计算中心如谷歌、微软、亚马逊、阿里巴巴等主流公司均采用GPU进行AI计算。

谷歌除大量使用GPU外,努力发展自己的AI专属的ASIC芯片。今年5月推出的TPU与GPU相比耗电量降低60%,芯片面积下降40%,能更好的满足其庞大的AI算力要求,但由于目前人工智能算法迭代较快,目前TPU只供谷歌自身使用,后续随着TensorFlow的成熟,TPU也有外供可能,但通用性还有很长路要走。

AI芯片三剑客 云端终端双场景各显神通(上篇)

百度等厂商目前在数据中心业务中也积极采用FPGA进行云端加速。FPGA可以看做从GPU到ASIC重点过渡方案。相对于GPU可深入到硬件级优化,相比ASIC在目前算法不断迭代演进情况下更具灵活性,且开发时间更短。AI领域专用架构芯片(ASIC)已经被证明可能具有更好的性能和功耗,有望成为未来人工智能硬件的主流方向。

(4)云端GPU:云端AI芯片主流,先发优势明显

发展现状:GPU天然适合并行计算,是目前云端AI应用最广的芯片

GPU目前云端应用范围最广。目前大量涉足人工智能的企业都采用GPU进行加速。根据英伟达官方资料,与英伟达合作开发深度学习项目的公司2016年超过19000家,对比2014年数量1500 家。目前百度、Google、Facebook 和微软等IT巨头都采用英伟达的GPU对其人工智能项目进行加速,GPU目前在云端AI深度学习场景应用最为广泛, 由于其良好的编程环境带来的先发优势,预计未来仍将持续强势。

GPU芯片架构脱胎图像处理,并行计算能力强大。GPU(GraphicsProcessing Unit),又称视觉处理器,是之前应用在个人电脑、工作站、游戏机、移动设备(如平板电脑、智能手机等)等芯片内部,专门用作图像运算工作的微处理器。与CPU类似可以编程,但相比CPU更适合执行复杂的数学和几何计算,尤其是并行运算。内部具有高并行结构(highly paralle lstructure),在处理图形数据和复杂算法方面拥有比CPU更高的效率。

GPU较CPU结构差异明显,更适合并行计算。对比GPU和CPU在结构上的差异,CPU大部分面积为控制器和寄存器,GPU拥有更多的ALU(Arithmetic Logic Unit,逻辑运算单元)用于数据处理,而非数据高速缓存和流控制,这样的结构适合对密集型数据进行并行处理。CPU执行计算任务时,一个时刻只处理一个数据,不存在真正意义上的并行,而GPU具有多个处理器核,同一时刻可并行处理多个数据。

AI芯片三剑客 云端终端双场景各显神通(上篇)

与CPU相比,GPU在AI领域的性能具备绝对优势。深度学习在神经网络训练中,需要很高的内在并行度、大量的浮点计算能力以及矩阵运算,而GPU可以提供这些能力,并且在相同的精度下,相对传统CPU的方式,拥有更快的处理速度、更少的服务器投入和更低的功耗。在2017年5月11日的加州圣何塞GPU技术大会上,NVIDIA就已经发布了Tesla V100。这个目前性能最强的GPU运算架构Volta采用台积电12nm FFN制程并整合210亿颗电晶体,在处理深度学习的性能上等同于250颗CPU。

生态格局:英伟达垄断GPU市场

抓住人工智能契机,英伟达垄断GPU市场。英伟达目前占据全球GPU行业的市场份额超过70%,远超AMD等竞争对手。GPU 作为英伟达公司的核心产品占据其84%的收入份额。英伟达应用领域涵盖视频游戏、电影制作、产品设计、医学诊断以及科学研究等各个门类。主营产品包括游戏显卡GeForce GPU,用于深度学习计算的Tesla GPU,以及为智能汽车处理设计Tegra 处理器等。得益于人工智能发展,英伟达营收利润不断攀升,成为人工智能产业最大受益公司之一。

编程环境良好,是英伟达GPU垄断云端AI硬件主流的重要原因。由于广泛应用于图形图像处理,GPU具备相对良好的编程环境和使用其编程的软件工程师人群,因此成为目前最主流的深度学习硬件。英伟达公司发布的CUDA运算平台,是专门针对开发者提供的一种并行计算平台。开发者能通过CUDA平台使用软件语言很方便得开发英伟达GPU实现运算加速。由于CUDA平台之前被广泛认可和普及,积累了良好的编程环境,目前应用在人工智能领域、可进行通用计算的GPU市场基本被英伟达垄断。

云端数据中心及车载等AI相关领域,成为英伟达业务成长新引擎。英伟达公司2017财年全年营收创下69.1亿美元纪录,较上2016财年的50.1亿美元增长38%。按照终端用户应用领域拆分,英伟达主营业务拆分为游戏、数据中心、专业可视化、汽车业务。游戏业务2017财年营收达到40.6亿美元,占总营收58.8%,同比增长44.1%;数据中心和汽车的份额分别占总营收12%和7%,其中数据中心增长同比达到144.8%,汽车增长同比达到52.2%。公司从2017财年Q1季度到2018财年Q1季度,主营构成变动很大,数据中心业务占比11%增长至21%,成长速度迅猛,成为英伟达业务增长新引擎。

未来趋势:从开环到专精,未来GPU在云端市场继续强势

GPU不断适应AI的进化路径,未来进化方向:从“开环”到“专精”。目前云端应用范围最广、效率最高的AI芯片仍是GPU。但AI芯片并非只有GPU一种路径,ASIC与FPGA相关厂商相继推出针对人工智能计算的芯片。谷歌推出ASIC芯片TPU2代,性能达到45 TFLOPS(一个TFLOPS等于每秒万亿次的浮点运算),而功耗仅仅40W。国内公司寒武纪推出的ASIC芯片DaDianNao性能达到5.585 TFLOPS,功耗仅为15.97W。众多专属ASIC芯片的推出,可能威胁到未来GPU的霸主地位。英伟达显然意识到这一点,不断推动技术创新,推出性能更加强劲、更适合AI运算的产品,不断对其GPU进行深度优化,向更专精AI运算方向努力。2017年5月,英伟达发布旗舰芯片Tesla V100,对比上一代Tesla P100,最大变化就是增加了与深度学习高度相关的Tensor单元,Tensor性能可以达到120 TFLOPS。GPU不断适应AI的进化路径,从从“开环通用”到“AI专精”方向进化,性能不断提高,加之生态环境的先发优势,预计未来2~3年,GPU仍是人工智能云端市场最重要的组成部分。

AI芯片三剑客 云端终端双场景各显神通(上篇)

2 云端ASIC:以TPU为代表,性能取胜争夺未来AI制高点

(1) 发展趋势:ASIC—未来人工智能专属核心芯片

ASIC目前在AI方向上的发展尚处于早期。ASIC全称专用集成电路,是应针对特定场景、需求、算法而设计的专用芯片。目前人工智能类ASIC 的发展仍处于早期。根本原因是目前人工智能算法尚未定型,迭代较快,而ASIC设计一旦设计制造完成后功能就基本固定,相对GPU、FPGA而言不够灵活,且开发周期长、初期成本高。人工智能ASIC芯片公司需要既具备人工智能算法框架,又擅长芯片研发,进入门槛较高。

ASIC性能、能耗和大规模量产成本均显著优于GPU和FPGA,是未来云端人工智能重要发展方向。针对特定云端应用,作为全定制设计的ASIC芯片,性能和能耗都要优于FPGA和GPU。谷歌最近研发出人工智能ASIC TPU,和传统的GPU相比性能提升15倍,更是CPU浮点性能的30倍。由于ASIC兼具性能和功耗双重优点,加之大规模量产条件下ASIC单片成本大幅下降,我们判断其定会成为人工智能未来的核心芯片。

(2) 生态格局:谷歌TPU为目前自用最强ASIC,期待生态完善后外供

TPU:目前谷歌自用最强ASIC芯片,期待生态完善后外供。随着AlphaGo横扫人类顶尖棋手,谷歌在AlphaGo中应用的ASIC芯片TPU受到业界热捧,谷歌于2016年Google I/O大会上正式介绍第一代TPU产品,在今年5月的开发者I/O大会上,Google正式公布了第二代TPU,又称为Cloud TPU,其最大的特色在于相比初代TPU,它既可以用于训练神经网络,又可以用于推理,这既为推理阶段进行了优化,也为训练阶段进行了优化。在性能方面,第二代TPU可以达到45 TFLOPs的浮点性能。和传统的GPU相比提升15倍,更是CPU浮点性能的30倍。生态方面,目前TPU仅支持自身的开源TensorFlow机器学习框架和生态系统。这和生态系统非常完善的GPU相比有一定的不足。不过谷歌也意识到了这个不足,为了弥补生态上面的不足,谷歌提出了TensorFlow Research Cloud计划,为愿意分享自己工作成果的研究人员免费提供1000个Cloud TPU。相信随着TPU生态的不断完善,性能更加强悍的TPU将成为云端人工智能的未来。

AI芯片三剑客 云端终端双场景各显神通(上篇)

3 云端FPGA:云端的有效补充,低延时场景具备充分优势

(1) 会变形的万能芯片,未来云端AI的最好补充

FPGA可编程,灵活性高。FPGA(Field-ProgrammableGate Array),即现场可编程门阵列,它是在PAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA内部包含大量重复的IOB(输入输出模块)、CLB(可配置逻辑块,内部是基本的逻辑门电路,与门、或门等)和布线信道等基本单元。FPGA在出厂时是“万能芯片”,用户可根据自身需求,用硬件描述语言(HDL)对FPGA的硬件电路进行设计;每完成一次烧录,FPGA内部的硬件电路就有了确定的连接方式,具有了一定的功能。FPGA可随意定制内部逻辑的阵列,并且可以在用户现场进行即时编程,以修改内部的硬件逻辑,从而实现任意逻辑功能。

(2) 核心优势:在云端算法性能高、功耗和延迟低

FPGA无指令、无共享内存,并行计算效率高。CPU、GPU都属于冯·诺依曼结构,需要指令译码执行、共享内存,是传统意义上的“软件编程”。而FPGA每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令,属于“硬件编程”;FPGA每个逻辑单元与周围逻辑单元的连接在重编程时就已经确定,也不需要通过共享内存来通信。FPGA利用硬件并行的优势,打破顺序执行的模式,因此在每个时钟周期内完成更多的处理任务,执行效率大幅提高。

FPGA相对CPU、GPU能耗优势明显。一方面,由于是直接烧录成专用电路,FPGA没有存取指令和指令译码操作,因此功耗优势明显。Intel的CPU指令译码就占整个芯片能耗的50%;在GPU里面,取指令和译码也消耗了10%~20%的功耗。另一方面,FPGA的主频比CPU与GPU低很多,通常CPU与GPU都在1GHz到3GHz之间,而FPGA主频一般在500MHz以下。微软研究院2010年分析了CPU、GPU以及FPGA对矩阵运算的底层库相同运算的加速性能以及能耗,对比执行GaxPy算法(一种常用矩阵算法)每次迭代的时间和能耗,结论是FPGA、GPU相对于CPU的加速比优势明显,与此同时FPGA的能耗仅是CPU与GPU的8%左右。

对于计算/通信密集型任务,FPGA比CPU、GPU延迟低。FPGA同时可拥有流水线并行和数据并行,而GPU几乎只有数据并行(流水线深度受限)。当任务是逐个而非成批到达的时候,流水线并行比数据并行可实现更低的延迟,FPGA比GPU天生有延迟方面的优势。对于通信密集型任务,FPGA相比CPU、GPU的低延迟优势更明显。使用FPGA和ASIC等低延迟和高吞吐量的硬件,运行在网络的最低层,保证所有数据以安全及时的方式传输,能够提高网络可靠性并节省负载。

AI芯片三剑客 云端终端双场景各显神通(上篇)

灵活性和效率的折衷,适应数据中心不断变化的算法。FPGA在数据中心最大的特点就在高吞吐的同时能做到低延时。FPGA内部的资源都是可以重配置的,因此它可以很容易进行数据并行和流水并行,且易于在数据并行和流水并行之间平衡。而GPU几乎只能做数据并行。与ASIC相比,FPGA的可编程性体现出很大的优势。现在数据中心的各种算法每时每刻都在更新变化,没有足够稳定的时间让ASIC完成长周期的开发。比如在一种神经网络模型出来之后开始把它做成ASIC,也许还未投片生产,这个神经网络模型已经被另一种神经网络模型所替代。另一方面,FPGA可以在不同的业务需求之间做平衡。比如说白天用于为搜索业务排序的机器;在晚上请求很少的情况下,可以将这些FPGA重新配置成离线数据分析的功能,提供对离线数据进行分析的服务。目前腾讯云和百度云都大量部署FPGA在数据中心的服务器用于加速。

可编程性会导致面积和功耗冗余,长期看在云端比终端应用更广泛。FPGA的工作模式,决定了需要预先布置大量门阵列以满足用户的设计需求,因此有“以面积换速度”的说法:使用大量的门电路阵列,消耗更多的FPGA内核资源,用来提升整个系统的运行速度。因此,FPGA的可编程性和灵活性必然会导致一定程度上的面积和功耗冗余,但很多场景中可编程性收益远高于冗余成本,这些场景往往在云端更多。因为终端只做“推理”,特定场景算法更为固定,成本要求也更高,因此预计FPGA在终端最终会被ASIC取代。

(3) 市场空间:紧随GPU受益云端数据中心市场爆发,2020年规模或达20亿美元

FPGA数据中心业务将紧随GPU爆发,预计未来5年潜在市场空间达20亿美元。据Gartner统计,2014年全球FPGA市场规模达到50亿美元,2015-2020年的年均复合增长率为9%,到2020年将达到84亿美元。FPGA高性能、低能耗以及可硬件编程的特点使其适用范围得以扩大。据Synergy Research Group数据,2016年底超大规模提供商运营的大型数据中心的数量已突破300个,预计到2018年大型数据中心将超过400个。数据中心的快速发展必然拉动FPGA市场增长,我们预计用于数据中心的FPGA市场规模在2020年将达到20亿美元。

数据中心“瑜亮之争”:既有GPU,还需FPGA?由于FPGA是硬件语言编程,需要耗费芯片设计工程师资源做上层软件算法的底层硬件的“影射”,加之目前性能、成本上综合来看还是GPU更好,所以GPU是目前数据中心主流。但未来FPGA在数据中心业务中前景光明,原因有两点:第一,云巨头企业本质上希望其算法优化从硬件底层起就可实现,而并非完全受控于英伟达GPU的编译和运行性能,为未来底层硬件的自身完全定制化(做自己的ASIC)做准备,所以部分云厂商愿意面向未来,在FPGA开发上投入成本;第二,FPGA功耗特性较GPU好很多,数据中心业务运算量巨大,未来必须考虑功耗问题,如下表所示,各型号FPGA功耗比都优于GPU。在算法逐步稳定以后,针对数据中心不同应用场景,FPGA的万能变形优势会逐步体现。

(4)生态格局:两公司垄断,巨头并购凸显云端AI有效补充地位

Altera与Xilinx两公司垄断FPGA市场。目前全球FPGA市场主要被Altera 和Xilinx瓜分,合计占有近90%的市场份额,合计专利达到6000多项,剩余份额被Lattice和Microsemi两家占据,合计共有超过3000项专利。技术专利的限制和漫长的开发周期使得FPGA行业形成了很高的壁垒,这也进一步巩固了Altera和Xilinx两家公司的优势地位和盈利水平。

AI芯片三剑客 云端终端双场景各显神通(上篇)

Intel收购Altera,看好FPGA在未来数据中心的核心价值。2014年6月,微软对外公布其针对数据处理的研发项目Project Catapult,研究结果显示,将FPGA应用于Intel服务器,后者性能可以提升10倍,处理效率提升30%以上,能耗也显著降低。2015年6月,Intel以167亿美元收购FPGA龙头公司Altera。Altera对于Intel的价值,核心在于数据中心业务。长久以来,Intel一直在PC、服务器、存储市场以及数据中心领域占据绝对优势地位。2017年一季度Intel数据中心业务收入同比增长6%至42亿美元,二季度收入同比增长9%至44亿美元,增长势头强劲。Altera FPGA技术结合Intel CPU制造技术,能够将CPU的复杂数据处理能力与FPGA的数据并行处理能力结合,未来在数据中心应用领域显现出强强联合的优势,构建未来云端人工智能的坚实基础。

AI芯片三剑客 云端终端双场景各显神通(上篇)

互联网巨头云端积极部署包含FPGA的数据中心,未来可期。由于FPGA在数据中心的独特优势,亚马逊、微软等企业在数据中心均纷纷部署FPGA。国内,腾讯云在年初部署了首个FPGA云服务器。2017年7月,百度云也宣布在其公有云服务器中部署基于赛灵思FPGA的应用加速服务。国内外主流云服务企业纷纷把目光聚焦在了FPGA上,这显然不是巧合,这说明整个云服务行业似乎已经对FPGA在高性能计算上的重要性上达成了一致,FPGA在云端特别是底层的数据中心业务前景可期。

云端AI芯片未来:各自进化、走向融合, 生态定义未来

(1)云端AI芯片各自进化,走向融合

云端不同的AI芯片在向彼此学习和进化。一方面,以英伟达为代表的GPU从通用到精进,不断优化其GPU架构,使其针对人工智能算法进行优化,向更加专业化的人工智能领域扩展。另一方面,以谷歌TPU为代表的云端ASIC,为了满足灵活性和通用性,也设计了众多指令集同时支持训练和推理,未来有望实现从闭环到开环的拓展。谷歌CEO在2017年5月的开发者大会上表示,谷歌将免费开放1000台Cloud TPU供开发者和研究人员使用。相信随着TensorFlow的框架完善、谷歌TPU自身的架构优化、灵活性加强与通用性的完善,我们预计未来TPU芯片也会从谷歌内部使用改为外供给其他云端服务器厂商。

云端有望形成“CPU+GPU/TPU+FPGA”的多芯片融合态势。CPU继续作为服务器的控制核心,GPU和ASIC(TPU等)将成为人工智能云端的运算主力,FPGA在延时要求高的计算/通信密集型任务中作为有效补充,未来有望形成CPU+GPU/TPU+FPGA多芯片融合共存的发展态势。云计算巨头纷纷推出多芯片融合的云端平台。我们观察到,2017年微软在其最新上线的Azure云平台中部署FPGA,配合原有的英特尔CPU 和英伟达Tesla K80 GPU,实现性能的最大化提升。2017年3月腾讯云宣布,已形成包含CPU+GPU+FPGA全矩阵AI基础设施计算平台。

AI芯片三剑客 云端终端双场景各显神通(上篇)

(2)生态完善度或决定AI芯片市场未来

上层生态完善度或将决定AI芯片市场未来。完善的开源生态帮助AI核心芯片拥有更强的用户粘性,帮助保持市场空间。或将决定AI芯片市场未来。AI芯片生态主要包括AI开源平台支持与开发环境支持两种生态。

目前开源平台众多,江湖未一统。AI开源平台是一个深度学习的工具箱,用户可以通过此开放平台,基于底层计算芯片运行其算法系统。目前AI开发人员主要是利用开源平台进行算法优化,因此AI硬件只有具备支持主流开源平台的特性,才能形成稳定的客户群体,牢牢占据市场空间。各大科技公司为了占据生态优势也陆续推出各自的开源平台系统,之前较流行的两大开源平台是Tensorflow与Caffe,近来Caffe2和mxnet也逐步兴起,江湖尚未一统。对AI芯片厂商而言,目前需要选择开源平台进行支持。

开源平台生态支持方面,GPU相对完善,FPGA与ASIC加速跟进。以英伟达GPU为例,其支持包括Tensorflow,Caffe,Caffe2,CNTK,Torch等几乎所有的开源平台,完善的生态优势使得GPU目前具备极强竞争力。FPGA与ASIC相关厂商也纷纷注意到生态的重要性,陆续推出支持主流开源平台的产品。2016年,谷歌发布的TPU2代支持其自家的Tensorflow框架。2017年3月,Xilinx推出基于FPGA的reVISION堆栈解决方案,支持Caffe框架,并计划未来拓展到更多的框架比如TensorFlow等框架上。开源平台是支撑相关开发的基础,目前尚处于群雄逐鹿阶段。未来平台生态之争将是各家AI芯片能否占据市场的一大关键点。AI芯片厂商都会尽可能支持尽可能多的主流平台,但相应的,也会带来更多的开发任务量,需要折衷考虑。

在AI硬件开发环境方面,同样是GPU占据优势,FPGA厂商加速完善。AI硬件开发环境是指专门针对AI硬件推出的适应于硬件计算的开发环境,用户能利用如C,C++等软件语言更方便的基于AI芯片进行顶层应用开发,并且能起到硬件加速的效果。英伟达推出的CUDA是目前最流行的AI硬件开发环境,几乎所有英伟达主流GPU都支持CUDA开发。FPGA方面,为了减少FPGA设计的复杂度,Altera推出了OpenCL SDK开发环境,Xilinx推出了SDAccel开发环境,这两种FPGA开发环境都大大减轻开发者利用FPGA开发的难度。但目前基于FPGA的开发环境开发灵活度与推广度依然不如CUDA。此外,由于ASIC直接采用底层硬件语言开发,目前不能用C语言等软件语言,因此不存在开发环境问题。

未来有望在统一的软件框架下,实现各类芯片在云端的融合共存。我们判断各种芯片在云端将竞争并长期共存,云端上层会提供统一的软件平台对各类芯片进行支持。换句话说,上层的开发者未来不需要关心底层的硬件是哪种,可以使用统一的、支持各类底层硬件的开源平台进行开发。云端具体采用哪种芯片架构,将根据云端实际应用需求确定。通过CPU+GPU/TPU+FPGA(可选)的灵活配置,更好地满足和实现各种应用场景下不断升级更新的AI算法的需求,使云端人工智能保持长期的灵活性。未来主流框架可能不止一种,类似TensorFlow、Caffe2等都有可能成为主流的Frame框架。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多