《电子技术应用》

AI通用芯老玩法新套路:GPU/FPGA脱颖而出

2018/1/25 5:00:00

芯片作为产业链技术要求最高的环节之一,往往是最难攻克的阵地。2016年,我们谈中国集成电路在芯片环节还比较薄弱;2017上半年,我们说我国与美国的差距主要在硬件方面,尤其是芯片环节;2017下半年及2018年,我们看到一批本土AI芯发布,很多还带有“首款”的荣誉称号,首款嵌入式AI芯、首款人脸识别AI芯、首款AI移动芯片等等。

似乎,集成电路最难攻克的环节——芯片,在AI大环境下,一切都变得那么EASY。这是真的吗?

以上是一位与非网友向小编表达出的疑惑。近期,小编收到很多网友关于AI芯的疑惑。那么,在近期的《AI发现》中,我们将结合与非网友的疑惑,讲一讲AI芯那些事。

1516754696156043559.jpg

AI芯定义

广义上讲,可以运行AI算法的都可以称为AI芯片,只不过效率有高有低;狭义上说,针对AI算法专门做了特殊加速设计的芯片才是AI芯片。

AI芯的硬件核心

AI芯的核心就是神经网络加速器,或者叫深度学习加速器。

AI芯分类

芯片架构,四大类芯片

通用类芯片,代表如CPU、GPU、FPGA

基于FPGA的半定制化芯片,代表如深鉴科技DPU、百度XPU等;

全定制化ASIC芯片,代表如TPU、寒武纪 Cambricon-1A等;

类脑计算芯片,代表如IBM TrueNorth、westwell、高通Zeroth等。

功能,训练( Training)与推理(Inference)

训练(Training):通常需要通过大量的数据输入,或采取增强学习等非监督学习方法,训练出一个复杂的深度神经网络模型。

该过程对处理器的计算能力、精度、可扩展性等性能要求很高,能胜任此环节工作的芯片有英伟达的GPU集群与Google  TPU2.0。

推理(Inference):利用训练好的模型,使用新的数据去“推理”出各种结论。

相比训练过程,推理的计算量像是个“小儿科”,尽管如此,但此过程也涉及大量的矩阵运算。GPU、FPGA和ASIC在此过程发挥作用。

应用场景,云端(Cloud/DataCenter)与设备端(Device/Embedded)

目前,训练环节只能在云端实现。GPU、FPGA、ASIC(Google TPU1.0/2.0)等都已应用于云端训练环境。

设备端对AI芯的需求差异大、数量庞大,低功耗、低延迟、低成本是该领域需求趋势,如今的xPU与ASIC热更多集中于该领域。

1516754705162092527.png

搞清楚各类芯在AI格局中所在的位置后,我们就集中精力解答如下的问题:

AI芯与AI通用芯的趋势是什么?

AI通用芯的玩法有哪些? 谁才是王道?

与非观点:

AI芯的趋势:从通用到专用。

该趋势包含两个层次的含义:某些应用场景,AI专用芯取代AI通用芯;AI通用芯,从通用到为AI定制。

AI通用芯玩法:CPU、GPU、FPGA和DSP共存。

市场首批AI芯片,几乎都是以现成的CPU、GPU、FPGA和DSP加以组合而成,是和平共处的局面;如今,他们却被视作互撕的几股势力。或许情况并不是这样,各种AI芯玩法都有存在的意义。

AI通用芯之间的竞争,是一场旧势力新套路的竞争。

与非论据:

AI芯的趋势

曾经提及AI通用芯的较量,主要是CPU与GPU两股势力;后来CPU渐渐淡出大众视线,GPU成为AI界宠儿。2016~2017年,英特尔与英伟在AI市场的地位及发展也能说明这一点。

黄仁勋曾在演讲中表示,CPU的时代结束了。

英特尔怼回去说:不单CPU不行了,GPU也不行了。

这说明,英特尔肯定了通用CPU在AI领域无力的事实,同时对通用GPU也提出了质疑。

那么,短板在哪?是“通用”还是“处理器类型”?

小编认为是“通用”,而不同处理器类型是面向不同应用场景总有自身可发挥的优势。

GPU赢过CPU就是因为GPU比CPU专用。GPU借助在深度学习方面的优势,成为最有竞争力的AI芯片;CPU通用性强,适用于串行计算,对于AI算力而言,较缓慢。当然,CPU与GPU都不是发展AI最专用的芯片。

2017年12月,IBM推出首个为AI而生的服务器CPU POWER9,旨在为数据密集型人工智能工作负载管理自由流动数据、流传感器及算法。该处理器采用14纳米技术,嵌入80亿个晶体管。

POWER9试图通过最新的技术和联盟来解决系统短板——异构处理器是否有足够的带宽与系统的其它部分进行通信。

从通用CPU到AI定制CPU,POWER9代表了CPU行业在AI领域的发展趋势。

对于云端AI芯片市场,小公司只能觊觎,这是一场属于寥寥可数大公司的权利游戏,云端发展不只需要有高运算力的芯片,还得营造出生态系,基本上供应商就是这几家巨头。但对于终端市场,能实现更小功耗、更低成本的xPU与ASIC将成为主流。这就注定通用AI芯向专用AI芯发展的趋势。

AI通用芯玩法

CPU & GPU

黄仁勋曾表示:GPU不会替代CPU,它是携手和CPU共同工作的,这也是我们为什么把它称之为加速器,CPU是通用型的,什么场景都可以适用。但是GPU在一些专门的问题上是能量非常大的。它的性能要比CPU超过10倍,50倍甚至百倍。最完美的架构就是“万事皆能的CPU”+“胜任重大计算挑战的GPU”。

我们先来看看CPU与GPU的对比情况:

1516754718182068667.png

英特尔CPU与英伟达GPU性能对比图

CPU功能模块很多,能适应复杂运算环境;GPU构成相对简单,对Cache需求小,大部分晶体管可以组成各类专用电路、多条流水线,使得GPU的计算速度有了突破性的飞跃,拥有了更强大的处理浮点运算的能力。

1516754724450033684.png

CPU与GPU结构对比示意图

GPU未来的主攻方向是高级复杂算法和通用性人工智能平台。但GPU无法单独工作,必须由CPU进行控制调用才能工作。这也就是黄仁勋为何强调“CPU+GPU”的模式了。

CPU向AI发力的重要一大方向就是加速了CPU和GPU、FPGA甚至TPU之间的通信。POWER9也印证了这一观点,POWER9将加速POWER和GPU、FPGA、TPU之间的合作。比如支持最新的英伟达Nvida NVLINK技术,可大幅提升GPU与CPU之间的数据交换速度。

1516754729900005607.png

GPU未来的主攻方向是高级复杂算法和通用性人工智能平台。

FPGA

FPGA兼顾了低功耗和高运算能力的优势,FPGA在AI领域的优势是加速和异构计算,比如腾讯云的FPGA加速可以实现比通用CPU型服务器快30倍的性能。

FPGA和GPU未来在超级数据中心将成主流应用,尤其是在深度学习方面,在这方面GPU强在训练,而FPGA强在推断。

赛灵思曾表示:伙伴厂商利用FPGA芯片进行基因体定序与优化语音识别所需的深度学习,察觉FPGA的耗能低于GPU且处理速度较快。相较于GPU只能处理运算,FPGA能以更快速的速度一次处理所有与AI相关的信息。

DSP

DSP是AI通用芯里面最低调的,或者说最受重视的。

我们先来看看骁龙845如何发挥AI实力吧。

与华为、苹果采用ASIC方式来不同,高通骁龙845利用基于分布式架构的神经网路处理引擎(SNPE),运行在骁龙异构平台的CPU、GPU、DSP等每一个单元上。

1516754740797007733.png

1516754745409007102.png

Hexagon 685 DSP不仅只是一块用于处理语音和音频的解码器,由于采用了异步计算架构,支持矢量计算,因此可用于AI以及神经运算,在虚拟现实、增强现实、图像处理、视频处理、计算视觉等功能中发挥作用。

DSP核心主要供货商CEVA认为,若要在嵌入式系统中实现CNN(卷积神经网络),DSP将能取代GPU和CPU,因CNN在本质上,就十分适合运用DSP。

DSP能够实现平行处理,核心利用率高。据悉,相较GPU只能达到40~50%的使用率,DSP甚至达到90%以上的核心使用率。业内专家表示,对于一些应用场景,以DSP架构驱动的CNN引擎,在成本与功耗上皆具优势。

关于AI通用芯的情况就讲完了。

回顾2017,我们发现我国的AI芯热主要集中于半定制化芯片与全定制化ASIC芯片领域。与非网友关于“集成电路最难攻克的环节(芯片),在AI大环境下,一切都变得那么EASY?”的问题,我们将在下期《AI发现》中找出答案。


继续阅读>>