【导读】1492年哥伦布从西班牙巴罗斯港出发,一路西行发现了美洲。葡萄牙人达伽马南下非洲,绕过好望角到达了印度。不久之后,麦哲伦用了整整三年时间,完成了人类史上第一次环球航行,开启了人类历史上的大航海时代。大航海时代的到来,拉近了人类社会各文明之间的距离,对人类社会产生了深远的影响。
从深蓝到Alpha Go,人工智能逐渐走进人们的生活。人工智能也从一场技术革命,逐渐走向了产业落地。智能手机、智能家居设备、智能音箱……等设备,已经完全进入到人们的生活中。指纹识别、人脸识别、画面增强等实用人工智能的技术,也成为了人们日常使用电子设备必不可少的技术。
这些在我们日常生活中“见怪不怪”的人工智能技术越来越普遍,代表了人工智能产业在近年来的爆炸式发展,2018年更是被称为人工智能技术规模应用的拐点。而作为人工智能技术的核心,人工智能芯片也备受关注,引得国内外科技巨头纷纷布局。谷歌、苹果、微软、Facebook、英特尔、高通、英伟达、AMD、阿里巴巴等巨头纷纷开始自主研发人工智能芯片。
国产寒武纪芯片
并且人工智能芯片的应用场景细分市场越来越多,专门为某些人工智能应用场景定制的芯片适用性明显高于通用芯片。这样的形势,给一些人工智能芯片的初创公司带来了机会。寒武纪芯片和地平线的人工智能视觉芯片、自动驾驶芯片等,就是初创公司在人工智能芯片领域取得成功的代表。
人工智能芯片大火的同时,已经呈现出三分天下的态势。FPGA、GPU和TPU芯片,已经在人工智能领域大规模应用。这三种人工智能芯片有何不同?人工智能企业又是怎样看待这三种芯片的?下文将为您详述。
FPGA并不是新鲜的事物,而因为AI的火热的应用需求不断增强,FPGA正是作为一种AI芯片呈现在人们的面前。准确的说,不仅仅是芯片,因为它能够通过软件的方式定义,所以,更像是AI芯片领域的变形金刚。
FPGA是现场可编程逻辑阵列的首字母缩写,即Field-Programmable Gate Array。过去曾与可编程逻辑器件CPLD进行过较量,如今已经在PAL、GAL、CPLD等可程式逻辑装置的基础上进一步发展,成为英特尔进军AI市场的一个重要法宝。
为了更好地了解FPGA和其对AI芯片的未来看法,ZOL企业站对英特尔可编程解决方案事业部亚太区市场拓展经理刘斌(Robin Liu)进行了书面采访。面对目前市场上出现的,CPU、GPU、FPGA、TPU等多种技术处理方式,英特尔又有哪些判断。
FPGA三大特点
刘斌表示:“实际上今天绝大多数人工智能系统是部署在通用处理器上的,原因是在很多应用领域中人工智能部分只是完成某个环节的系统任务,还有大量其它任务一起构成系统处理的完整单元。”在此基础上,出现了很多种选项,比如FPGA、TPU2或者NNP等专用处理器。这种专用处理器,往往向深度学习和神经网络领域延伸,拥有更高效的存储器访问调度结构。
FPGA被称为大型数据中心和计算机群众的“加速多面手”也有其技术生态背景。FPGA的开发社区规模相对较小,也具有一定的门槛,但是,FPGA具备良好的存储器访问能力,并且可以非常灵活高效的处理各种不同位宽的数据类型,其有效计算力接近专用处理器的水平,FPGA还可以在线重编程成为其它非人工智能任务的硬件加速器,这也是其有别于GPU和TPU的关键因素。
具体而言有三大特点:FPGA器件家族的广泛覆盖可以适配从云到端的应用需求;FPGA具有处理时延小并且时延可控的特点,更适合某些实时性要求高的业务场景;FPGA可以灵活处理不同的数据位宽,使得系统可以在计算精度、计算力、成本和功耗上进行折衷和优化,更适合某些制约因素非常严格的工程化应用。相比于ASIC则FPGA更加灵活,可以适配的市场领域更加广泛。
自定义功能芯片
以微软为例,在微软必应搜索业务和Azure云计算服务中,均应用了英特尔FPGA技术,在其发布的“脑波项目”(Project Brainwave)中特别阐述了英特尔FPGA技术如何帮助Azure云和必应搜索取得“实时人工智能”(real-time AI)的效果。
英特尔 FPGA 支持必应快速处理网页中的数百万篇文章,从而为您提供基于上下文的答案。借助机器学习和阅读理解,必应 现在可提供智能答案,帮助用户更快速找到所需答案,而非手动点击各个链接结果。在微软脑波计划中,同样选择了英特尔现场可编程门阵列的计算晶片,以具有竞争力的成本和业界最低延迟进行人工智能计算。
如果说在AI芯片领域各家有各家的拿手绝学,那么身为“变形金刚”FPGA的拿手绝学就是自定义功能了。作为特殊应用积体电路领域中的一种半定制电路的FPGA,既解决了全定制电路的不足,又克服了原有可编程逻辑器件门电路数有限的缺点。也就是说,尽管FPGA不是辐射范围最广的,但是一旦匹配后,输出惊人,所以也是良好的芯片选择。
不止FPGA
随着人工智能的发展,芯片的设计不仅要能够满足人工智能对计算力的需求,还要能够适应不断变化的产业需要。在不同的应用领域和不同的位置,前端还是数据中心,甚至边缘计算等应用场景。刘斌表示:一种芯片是没办法解决所有问题的。从移动设备,到服务器,再到云服务、机器学习和人工智能的加速,需要不同种类的技术支持,需要能够支持从毫瓦级到千瓦级的多种架构。
在英特尔人工智能领域,除了FPGA之外,还提供了ASIC方案下的NNP神经网络计算加速器、Movidius专注前端智能摄像头领域和Mobieye加速芯片,在无人车领域做视觉相关的物体、道路、异常情况的监测。
过去30多年,摩尔定律几乎每年都会推动微处理器的性能提升50%,而半导体的物理学限制却让其放慢了脚步。如今,CPU的性能每年只能提升10%左右。事实上,英伟达CEO黄仁勋在每年的GTC上都会提到同一件事——摩尔定律失灵了。也就是说,人们要获得更强的计算力,需要花费更多的成本。与此同时,GPU的崛起速度令人咂舌,看看英伟达近两年的股价就知道了。
随着人工智能、深度学习等技术的兴起与成熟,起初为图像渲染而生的GPU找到了新的用武之地,以GPU驱动的计算环境随处可见,从HPC到AI训练。站在数字世界、高性能计算、人工智能的交叉口,GPU悄然成为了计算机的大脑。将性能从10倍提升至100倍,GPU的加速能力远超以X86架构构建的CPU系统,将时间压缩至分钟级别,功耗也相对较低。
2006年,借助CUDA(Compute Unified DEVICE Architecture,通用计算架构)和Tesla GPU平台,英伟达将通用型计算带入了GPU并行处理时代,这也为其在HPC领域的应用奠定了基础。作为并行处理器,GPU擅长处理大量相似的数据,可以将任务分解为数百或数千块同时处理,而传统CPU则是为串行任务所设计,在X86架构下进行多核编程是很困难的,并且从单核到四核、再到16核有时会导致边际性能增益。同时,内存带宽也会成为进一步提高性能的瓶颈。
与以往的通用算法相比,深度学习对计算性能的要求则到了另一个量级上。尽管在GPU中运行并行核心时处理的应用数量相同,但在系统中单个内核的使用效率却更高。此外,经过重写的并行函数在应用程序关键部分运行时,在GPU上跑的速度更快。
更重要的是,英伟达在利用GPU构建训练环境时还考虑到了生态的重要性,这也是一直以来困扰人工智能发展的难题。首先,英伟达的NVIDIA GPU Cloud上线了AWS、阿里云等云平台,触及到了更多云平台上的开发者,预集成的高性能AI容器包括TensorFlow、PyTorch、MXNet等主流DL框架,降低了开发门槛、确保了多平台的兼容性。
其次,英伟达也与研究机构、大学院校,以及向Facebook、YouTube这样的科技巨头合作,部署GPU服务器的数据中心。同时,还为全球数千家创业公司推出了Inception项目,除了提供技术和营销的支持,还会帮助这些公司在进入不同国家或地区的市场时,寻找潜在的投资机会。
可以说,英伟达之于GPU领域的成功除了归功于Tesla加速器、NVIDIA DGX、NVIDIA HGX-2这些专属的工作站或云服务器平台,更依托于构建了完整的产业链通路,让新技术和产品有的放矢,从而形成了自己的生态圈,这也是英特尔难以去打破的。
在不久前举行的谷歌I/O 2018开发者大会上,TPU3.0正式亮相。根据官方介绍,TPU3.0的计算能力最高可达100PFlops,是TPU2.0的8倍多。TPU的英文全名是Tensor Processor Unit,它是谷歌自主研发的针对深度学习加速的专用人工智能芯片。TPU是专为谷歌深度学习框架TensorFlow设计的人工智能芯片。著名的AlphaGo使用的就是TPU2.0芯片。
目前大多数人工智能企业青睐于GPU芯片,而TPU相对于GPU而言,采用8位低精度计算节省晶体管,对精度影响很小但是却可以大幅节约功耗。尤其是当大面积集成系统时,TPU不仅性能更强,功耗也会大幅低于GPU集成系统。由于芯片能力非常强大,谷歌使用了液冷散热技术,可以帮助TPU更好的为数据中心服务。
除了强大的性能外,谷歌在生态系统的建设上做了大量的工作。在TPU1.0和2.0的初期,谷歌并没有大规模推进其商业化,而是围绕生态做文章。这就意味着要投入巨额的成本,而且冒着极大的市场风险。当然,背后的潜在市场也是巨大的。在人工智能市场竞争激烈的形势下,吸引到更多的开发者到谷歌的生态系统中,将会比对手有更强的竞争优势。
目前谷歌正快速扩张自己的云计算业务,TPU也依托于云平台运行。通过更低的售价让人工智能开发企业抛弃GPU,转投成本更低的TPU服务,是谷歌目前正在大力发展的业务。如果TPU无法获得巨大的市场份额从而降低单颗TPU的成本,那么谷歌将很难在人工智能市场盈利。不过,TPU强劲的计算性能和集群计算阵列可以让人工智能开发企业更快的开展业务。TPU的强大,让谷歌在人工智能芯片领域已称霸一方。
上游厂商喊得再欢,落地到千人千面的行业场景中也要由解决方案商来帮忙,无论是GPU、FPGA还是TPU,最终还是要听听客户的使用感受。为此,我们采访了人工智能产品和行业解决方案提供商旷视科技。旷视科技利用自主研发的深度学习算法引擎Brain++,服务于金融安全、城市安防、手机AR、商业物联、工业机器人等五大核心行业。
在旷视科技看来,GPU、FPGA、TPU在通用性和能效比之间的取舍不同。其中,GPU最成熟,但也最耗资源,常用于训练神经网络和服务端;FPGA最灵活,能支持应用中出现的特殊操作,但要考虑灵活度和效率之间的trade-off;TPU相对最不灵活,但如果场景合适则能发挥出最大功用。
如果拿汽车类比,GPU是大巴车,适合多人同目标;FPGA是小轿车,能到任何地方,但得自己会开;而TPU是火车,只能在比公路少的多的铁轨上开,但开的飞快。人工智能还在快速发展,还处于在各个行业落地的过程中。这个阶段对GPU,FPGA和TPU都有需求。
目前,旷视科技选择的是T型技术方案,即在维持一定广度的同时,深耕某些应用场景,因此在算法实际落地的过程中,自然而然地产生了从GPU/CPU到FPGA的需求。GPU主要用于训练,而FPGA能在端上能提供比GPU更好的性能功耗比。CPU则是无处不在的“默认“选择。未来,不排除采用TPU的方案来进一步提高端上的能力。
从行业来看,当前IoT领域对AI芯片的需求最为迫切,原因是IoT领域要求在有限的功耗下完成相应的AI任务,最需要性能功耗比高的AI芯片。至于未来要借助AI赋能各个行业,旷视科技认为,最初阶段可能都会先用GPU的AI方案,因为和源头(即神经网络训练阶段)衔接最好。另外对于中心化的应用,只要GPU按现在的“黄定律”的速度迭代前进,基于GPU在大批量处理数据的场景下仍然经常是公开可得的最佳方案。