转载来源:https://weisiapp.com/news/news_748.htm,唯思科技
“AI芯片”通识:AI产品经理看这一篇就够了
目录:
一、AI芯片概述
二、AI芯片的分类和市场划分(云端/终端,训练/推理)
三、AI芯片技术路线(GPU/FPGA/ASIC,现状/短期/长期方向)
四、AI芯片市场分析(四大场景:数据中心、自动驾驶、安防、手机终端)
五、AI芯片主要厂商介绍(国外,国内)
六、AI芯片展望
附:未来两种可能的通用AI芯片技术路线介绍(类脑芯片、可重构通用AI芯片)
AI芯片概述
一、AI芯片产生的背景
AI的三大关键基础要素是数据、算法和算力。随着云计算的广泛应用,特别是深度学习成为当前AI研究和运用的主流方式,AI对于算力的要求不断快速提升。
AI的许多数据处理涉及矩阵乘法和加法。AI算法,在图像识别等领域,常用的是CNN;语音识别、自然语言处理等领域,主要是RNN,这是两类有区别的算法;但是,他们本质上,都是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法。
CPU可以拿来执行AI算法,但因为内部有大量其他逻辑,而这些逻辑对于目前的AI算法来说是完全用不上的,所以,自然造成CPU并不能达到最优的性价比。因此,具有海量并行计算能力、能够加速AI计算的AI芯片应运而生。
二、什么是AI芯片
一般的说,AI芯片被称为AI加速器或计算卡,即专门用于加速AI应用中的大量计算任务的模块(其他非计算任务仍由CPU负责)。
而从广义范畴上讲,面向AI计算应用的芯片都可以称为AI芯片。除了以GPU、FPGA、ASIC为代表的AI加速芯片(基于传统芯片架构,对某类特定算法或者场景进行AI计算加速),还有比较前沿性的研究,例如类脑芯片、可重构通用AI芯片等(但距离大规模商用还有较长距离)。
以GPU、FPGA、ASIC为代表的AI芯片,是目前可大规模商用的技术路线,是AI芯片的主战场,本文以下主要讨论的就是这类AI芯片。
AI芯片的分类和市场划分
一、从两个维度对AI芯片进行分类
维度1:部署位置(云端、终端)
AI芯片部署的位置有两种:云端、终端。所以根据部署的位置不同,AI芯片可以分为:云AI芯片、端AI芯片。
-
云端,即数据中心,在深度学习的训练阶段需要极大的数据量和大运算量,单一处理器无法独立完成,因此训练环节只能在云端实现。
-
终端,即手机、安防摄像头、汽车、智能家居设备、各种IoT设备等执行边缘计算的智能设备。终端的数量庞大,而且需求差异较大。
云AI芯片的特点是性能强大、能够同时支持大量运算、并且能够灵活地支持图片、语音、视频等不同AI应用。基于云AI芯片的技术,能够让各种智能设备和云端服务器进行快速的连接,并且连接能够保持最大的稳定。
端AI芯片的特点是体积小、耗电少,而且性能不需要特别强大,通常只需要支持一两种AI能力。
相比于云AI芯片来说,端AI芯片是需要嵌入进设备内部的,当在设备内部中嵌入了端AI芯片之后,能够让设备的AI能力进一步提升,并且让设备在没有联网的情况之下也能够使用相应的AI能力,这样AI的覆盖变得更为全面。
维度2:承担任务(训练、推理)
AI的实现包括两个环节:训练、推理。所以根据承担任务的不同,AI芯片可以分为:用于构建神经网络模型的训练芯片,利用神经网络模型进行推理预测的推理芯片。
-
训练,是指通过大数据训练出一个复杂的神经网络模型,即用大量标记过的数据来“训练”相应的系统,使之可以适应特定的功能。训练需要极高的计算性能,需要较高的精度,需要能处理海量的数据,需要有一定的通用性,以便完成各种各样的学习任务。
-
推理,是指利用训练好的模型,使用新数据推理出各种结论。即借助现有神经网络模型进行运算, 利用新的输入数据来一次性获得正确结论的过程。也有叫做预测或推断。
训练芯片,注重绝对的计算能力,而推断芯片更注重综合指标, 单位能耗算力、时延、成本等都要考虑。
训练将在很长一段时间里集中在云端,推理的完成目前也主要集中在云端,但随着越来越多厂商的努力,很多的应用将逐渐转移到终端。
推理相对来说对性能的要求并不高,对精度要求也要更低,在特定的场景下,对通用性要求也低,能完成特定任务即可,但因为推理的结果直接提供给终端用户,所以更关注用户体验方面的优化。
二、AI芯片市场划分
以部署位置(云端、终端)和承担任务(训练、推理)为横纵坐标,可以清晰的划分出AI芯片的市场领域,上表,列出了适用于各个市场的技术路线及相应厂商。
1、云端训练
训练芯片受算力约束,一般只在云端部署。
CPU由于计算单元少,并行计算能力较弱,不适合直接执行训练任务,因此训练一般采用“CPU+加速芯片”的异构计算模式。目前NVIDIA的GPU+CUDA计算平台是最成熟的AI训练方案,除此还有两种方案:
-
第三方异构计算平台OpenCL + AMD GPU或OpenCL + Intel/Xilinx FPGA
-
云计算服务商自研加速芯片(如Google的TPU)
训练市场目前能与NVIDIA竞争的就是Google,传统CPU/GPU厂家Intel和AMD也在努力进入训练市场。
2、云端推理
如果说云端训练芯片是NVIDIA一家独大,那云端推理芯片则是百家争鸣,各有千秋。
相比训练芯片,推理芯片考虑的因素更加综合:单位功耗算力,时延,成本等等。AI发展初期推理也采用GPU进行加速,目前来看,竞争态势中英伟达依然占大头,但由于应用场景的特殊性,依据具体神经网络算法优化会带来更高的效率,FPGA/ASIC的表现可能更突出。除了Nvidia、Google、Xilinx、Altera(Intel)等传统芯片大厂涉足云端推理芯片以外,Wave computing、Groq 等初创公司也加入竞争。中国公司里,寒武纪、比特大陆等同样积极布局云端芯片业务。
3、终端推理
在面向智能手机、智能摄像头、机器人/无人机、自动驾驶、VR、智能家居设备、各种IoT设备等设备的终端推理AI芯片方面,目前多采用ASIC,还未形成一家独大的态势。
终端的数量庞大,而且需求差异较大。AI芯片厂商可发挥市场作用,面向各个细分市场,研究应用场景,以应用带动芯片。
传统芯片大厂如NVIDIA、Intel、ARM、高通等都积极布局,中国芯片创业企业,如寒武纪、地平线等,也有不俗表现,在一些细分市场领域颇有建树。
AI芯片技术路线
一、AI芯片主要技术路线
目前,作为加速应用的AI芯片,主要的技术路线有三种:GPU、FPGA、ASIC。
1、GPU
GPU(Graphics Processing Unit),即图形处理器,是一种由大量核心组成的大规模并行计算架构,专为同时处理多重任务而设计。GPU是专门处理图像计算的,包括各种特效的显示,更加针对图像的渲染等计算算法。这些算法与深度学习的算法还是有比较大的区别。当然,GPU非常适合做并行计算,也可以用来给AI加速。
GPU因良好的矩阵计算能力和并行计算优势,最早被用于AI计算,在数据中心中获得大量应用。GPU采用并行架构,超过80%部分为运算单元,具备较高性能运算速度。相比较下,CPU仅有20%为运算单元,更多的是逻辑单元,因此CPU擅长逻辑控制与串行运算,而GPU擅长大规模并行运算。GPU最早作为深度学习算法的芯片被引入人工智能领域,因其良好的浮点计算能力适用于矩阵计算,且相比CPU具有明显的数据吞吐量和并行计算优势。
2011年谷歌大脑率先应用GPU芯片,当时12颗英伟达的GPU可以提供约等于2000颗CPU的深度学习性能,展示了其惊人的运算能力。目前GPU已经成为人工智能领域最普遍最成熟的智能芯片,应用于数据中心加速和部分智能终端领域,在深度学习的训练阶段其性能更是无所匹敌。
在深度学习上游训练端(主要用在云计算数据中心里),GPU是当仁不让的第一选择。目前GPU的市场格局以英伟达为主(超过70%),AMD为辅,预计未来几年内GPU仍然是深度学习训练市场的第一选择。
另外,GPU无法单独工作,必须由CPU进行控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据类型,当需要大量的处理类型统一的数据时,则可调用GPU进行并行计算。
2、FPGA
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,作为专用集成电路领域中的一种半定制电路出现。FPGA利用门电路直接运算,速度快,而用户可以自由定义这些门电路和存储器之间的布线,改变执行方案,以期得到最佳效果。
FPGA可以采用OpenCL等更高效的编程语言,降低了硬件编程的难度,还可以集成重要的控制功能,整合系统模块,提高了应用的灵活性,与GPU相比,FPGA具备更强的平均计算能力和更低的功耗。
FPGA适用于多指令,单数据流的分析,与GPU相反,因此常用于推理阶段。FPGA是用硬件实现软件算法,因此在实现复杂算法方面有一定的难度,缺点是价格比较高。
FPGA因其在灵活性和效率上的优势,适用于虚拟化云平台和推理阶段,在2015年后异军突起。2015年Intel收购FPGA市场第二大企业Altera,开始了FPGA在人工智能领域的应用热潮。因为FPGA灵活性较好、处理简单指令重复计算比较强,用在云计算架构形成CPU+FPGA的混合异构中相比GPU更加的低功效和高性能,适用于高密度计算,在深度学习的推理阶段有着更高的效率和更低的成本,使得全球科技巨头纷纷布局云端FPGA生态。
国外包括亚马逊、微软都推出了基于FPGA的云计算服务,而国内包括腾讯云、阿里云均在2017年推出了基于FPGA的服务,百度大脑也使用了FPGA芯片。中国刚刚被Xilinx收购的深鉴科技也是基于FPGA来设计深度学习的加速器架构,可以灵活扩展用于服务器端和嵌入式端。
3、ASIC
ASIC(Application Specific Integrated Circuits),即专用集成电路,是一种为专用目的设计的,面向特定用户需求的定制芯片,在大规模量产的情况下具备性能更强、体积更小、功耗更低、成本更低、可靠性更髙等优点。
ASIC与GPU和FPGA不同,GPU和FPGA除了是一种技术路线之外,还是实实在在的确定的产品,而ASIC就是一种技术路线或者方案,其呈现出的最终形态与功能也是多种多样的。
近年来越来越多的公司开始采用ASIC芯片进行深度学习算法加速,其中表现最为突出的是Google的TPU。TPU比同时期的GPU或CPU平均提速15~30倍,能效比提升30~80倍。相比FPGA,ASIC芯片具备更低的能耗与更高的计算效率。但是ASIC研发周期较长、商业应用风险较大等不足也使得只有大企业或背靠大企业的团队愿意投入到它的完整开发中。
AlphaGo就使用TPU,同时TPU也支持着Google的Cloud TPU平台和基于此的机器学习超级计算机。此外,国内企业寒武纪开发的Cambricon系列芯片受到广泛关注。华为的麒麟980处理器所搭载的NPU就是寒武纪的处理器。
二、AI芯片技术路线走向
1、短期:GPU仍延续AI芯片的领导地位,FPGA增长较快
GPU短期将延续AI芯片的领导地位。目前GPU是市场上用于AI计算最成熟应用最广泛的通用型芯片,在算法技术和应用层次尚浅时期,GPU由于其强大的计算能力、较低的研发成本和通用性将继续占领AI芯片的主要市场份额。GPU的领军厂商英伟达仍在不断探寻GPU的技术突破,新推出的Volta架构使得GPU一定程度上克服了在深度学习推理阶段的短板,在效率要求和场景应用进一步深入之前,作为数据中心和大型计算力支撑的主力军,GPU仍具有很大的优势。
FPGA是目前增长点,FPGA的最大优势在于可编程带来的配置灵活性,在目前技术与运用都在快速更迭的时期具有巨大的实用性,而且FPGA还具有比GPU更高的功效能耗比。企业通过FPGA可以有效降低研发调试成本,提高市场响应能力,推出差异化产品。在专业芯片发展得足够重要之前,FPGA是最好的过渡产品,所以科技巨头纷纷布局云计算+FPGA的平台。随着FPGA的开发者生态逐渐丰富,适用的编程语言增加,FPGA运用会更加广泛。因此短期内,FPGA作为兼顾效率和灵活性的硬件选择仍将是热点所在。
2、长期:三大类技术路线各有优劣,会长期并存
1)GPU主攻高级复杂算法和通用型人工智能平台
GPU未来的进化路线可能会逐渐发展为两条路,一条主攻高端复杂算法的实现,由于GPU相比FPGA和ASIC高性能计算能力较强,同时对于指令的逻辑控制上也更复杂一些,在面临需求通用型AI计算的应用方面具有较大优势。第二条路则是通型人工智能平台,GPU由于设计方面,通用性强,性能较高,应用于大型人工智能平台够高效地完成不同种类的调用需求。