人工智能芯片分类及反思

摘 要 人工智能芯片是当前人工智能技术重要的载体之一,其实现人工智能的技术基础是其搭载的神经网络。文章从原理上对神经网络和人工智能芯片进行探究,在介绍人工智能芯片原理的同时对当前的人工智能芯片发展情况作出介绍,并在文章末尾对当前的人工智能芯片技术做出反思。

关键词 人工智能;芯片;GPU:FPGA;ASIC

中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2019)230-0135-03

2018年以来,各大科技公司不断推出自己的人工智能芯片,例如谷歌的TPU、亚马逊云的Inderentia、高通的骁龙芯片等[ 1 ],可以说今年是人工智能芯片技术高速发展并逐步走向成熟的一年[ 2 ]。那么人工智能芯片是什么呢?人工智能技术又跟人工智能芯片有什么关系呢?

1 什么是人工智能芯片

关于人工智能芯片的定义在历史的不同阶段都有过不同的定义,目前来看,最为从业人员所认可的定义为“AI加速器”或者称之为“神经网络加速芯片”[ 3 ]。即当前的人工智能芯片主要是为神经网络的计算所服务的,这可能跟很多人(尤其是业外人士)的认识相悖:人工智能芯片难道不是一个大脑的作用吗?为什么有着“计算加速器”之类的称号呢?在这里,笔者将从两个方面来介绍人工智能芯片。

1.1 神经网络

人工智能的定义很早就有人提出,但直到本世纪初才逐渐成为社会热点,尤其近几年相关行业得到了井喷式的发展,相关人才也成为各大互联网、科技公司争相招聘的对象。似乎不跟人工智能挂钩的公司就算不上有技术竞争力的公司。这种现象发生的直接原因是神经网络算法的大规模开发应用,根本原因是计算机性能的大幅提高。

那么什么是神经网络呢?神经网络算法是机器学习诸多算法中的一支,这种算法其实很早就有应用,例如在经济学中它常被用来建立模型,或者说常被用于解决“黑箱问题”。从本质上来说,神经网络其实是通过大量的计算来拟合出一个函数,该函数符合我们为它设下的诸多限制。例如,在人脸识别问题中,我们为神经网络的训练准备了大量的“样本”(样本即训练集,用于神经网络的函数调整,每个训练样本都有一个“标签”,该标签就是评价我们的函数是否合理的重要指标)。在最初,我们的函数的各个参数都是随机、错误的,完全不具备实际意义,但通过将我们的输出结果与标签作比较,就可以得到我们当前的函数与理想函数之间的差距。

通过对神经网络各层权重的求偏导,就可以得到神经网络的梯度,进而以实际函数与理想函数之间的差距作为参考,实现随机梯度下降,进而实现计算结果与实际结果的差距越来越小。最终,我们可以得到一个经过拟合的函数,该函数可以相对准确地对输入进行判断和预测。

总结来说,神经网络可以这样理解:输入数据就像生产原料,从源头输入,在不同的生产线得到了不同的加工,最后汇聚为一个整体的产品。而神经网络的构建就像生产线的构建,需要反复的试验才能得到一个效率最高、产能最好的生产线,而构建这个生产线的目的则是为了得到一个成熟的生产过程,使得我们后来的生产原料都能够准确、快速地得到处理。因此,所谓的神经网络过程其实分为两个阶段,第一个阶段是神经网络的训练,该过程需要大量的、反复的计算;第二个阶段是“预测”,或者说实际应用,在该阶段中神经网络已经“成熟”并投入应用,开始对新的数据进行预测。

显然,上述过程(不论训练还是预测)都伴随着大量的计算,但我们需要注意的是这些计算虽然规模上很大,但是每一次计算都不复杂(即便将非线性的激活函数考虑进来),或者说都是由简单的加减法和乘法组成的,这也为我们人工智能芯片的开发提供了重要的理论基础。

1.2 为什么需要人工智能芯片

传统的计算机芯片采用的冯诺依曼架构强调存储程序、顺序执行,即将大量的片上資源留给存储结构,因此CPU就像是一个老教授,他逻辑严谨,办事有条理,但囿于其只有一人,处理的绝对速度在客观上受到了限制,因此不管怎样提升CPU的性能,它在处理大量的计算(即便是简单计算)也存在着天然的缺陷。

正如上文所说,神经网络的训练和预测都需要大量的计算,在这种应用场景下,CPU的性能就受到了限制,一方面,它擅长的逻辑、时序处理功能都没有得到充分应用;一方面,它不擅长的并行数据处理却被成为了致命的缺陷。在这种背景下,对于能够并行处理数据、擅长大量运算的人工智能芯片的需求也就合理合情了[ 4 ]。

2 人工智能芯片分类

如上所述,神经网络的训练和预测都需要大量计算,但我们要注意,这两种任务的运算又是有区别的。在训练过程中,我们相当于只有建造生产线的原材料,对于生产线具体的流向、交叉、协作都是未知的,只有经过了大量的试错、改进之后整个生产线才逐渐确定下来;而对于预测过程而言,我们的生产线已经建立且成熟了,我们要做的只是按部就班地对原材料进行处理。也就是说,训练过程更加的“普遍”、更加的“泛用”,而预测过程则更加的“专用”“特例化”,这也对我们的人工智能芯片提出了不同的要求。人工智能芯片分为以下几类。

2.1 GPU

图像处理单元(Graphics Processing Unit,GPU)最初是为了进行图像处理而被开发出来的芯片。图像处理问题与神经网络有着类似的特点:都需要进行大量的、重复而简单的运算。因此GPU近几年也越来越多地被应用于神经网络问题。

在上文中,我们将CPU比作为一个老教授,而GPU就像是一帮小学生。它的突出特点是并行、及时处理,逻辑功能弱而计算能力强。我们可以假想这样一个场景:老教授拿到一个复杂的数学问题后将该问题拆解为若干个简单的计算问题并下发给小学生们进行计算,在小学生们完成各自的计算任务后将计算结果汇总并上报给任务传达者。

由于GPU出色的计算性能和比较通用的计算结构,它常被用于神经网络的训练,当前运用较多的就是NVIDIA公司各种产品,比如我们常说的RTX2080等游戏显卡就是一种典型的GPU。

2.2 ASIC

GPU虽然在计算性能上已经有了很大的提高,但归根结底仍然是一种泛用化的芯片,在预测问题中很可能存在性能过剩(我们可以理解为工厂为了加速生产引起了一大批新设备,但在不同的生产任务中需要的设备数量是不一定的,这就使得在某些生产任务中设备无法得到充分使用,造成浪费),使得我们的芯片发挥不出他应有的性能;同时,这种通用化的结构设计也使得芯片在面对一些特殊结构的神经网络时捉襟见肘。而面向具体应用的集成电路(Application Specific Integrated Circuit,ASIC)就是为了解决这个问题而诞生的,简单来说,当我们的神经网络训练完成后,其结构也就确定了。

我们可以根据这个结构设计专用的芯片来承载该神经网络,这不仅能够最大效率地发挥芯片性能,更能提升计算速度,使得预测能够进一步加速。但是要注意的是,芯片设计的成本是比较高的,因此如果是为了单次、少量的应用而开发ASIC是得不偿失的。目前得到应用的ASIC芯片有Intel的Nights Mill,Google的TPU以及中国首款嵌入式神经网络处理器芯片星光智能一号等。

2.3 FPGA

ASIC的突出特點是集成化、特例化,而现场可编程门阵列(Field-Programmable Gate Array,FPGA)的特点则是灵活性高,我们可以将GPGA理解为积木,采取不同的方式搭建,就能够得到不同的结构,进而实现不同的功能。单纯地从性能上来讲,FPGA与ASIC差距甚小,但是FPGA有着致命的缺陷:面积太大。众所周知,集成电路的“集成”二字强调的是“占用面积小”,过大的面积会使得集成电路丧失其本身的意义。因此,对于少量应用或者结构验证等不会大量开发的结构搭建而言,FPGA是性价比最高的一种方式,但对于大规模开发、大规模生产问题而言,ASIC才是成本最低、收益最高的方式。

目前,FPGA在AI芯片上的应用有Xilinx的华为云以及Intel的5G无线和自动驾驶方面等。

3 反思和总结

人工智能芯片已经得到了大规模的应用,不管是美颜摄像头还是智能驾驶都有着人工智能芯片的身影。实际上不管是苹果的A系列芯片还是华为的麒麟芯片,它们都搭载了相应的神经网络加速功能,由此可见,神经网络很有可能会进一步与我们的生活相结合。但是我们也注意到,网上仍然有一些对人工智能芯片不看好的声音,而这些声音归根结底来源于对神经网络的不信任[ 5 ]。

如前文所说,神经网络究其根本是一种函数拟合,或者说是一种统计上的概率预测,如果以“感知”二字来衡量人工智能的话,那么当前的神经网络只是做到了“感”:对于我们给出的输入,网络可以给出相应的输出,但为什么给出这样的输出呢?网络并不能回答我们。并且即便只是感,也只局限于那些数学建模完备、经过了反复研究的工程问题上,而对于有那些复杂的、抽象的问题,神经网络仍然是一筹莫展。因此,对人工智芯片的不认可应当说是有一定道理的,退一万步说,AI芯片并不智能,它只是加速了一部分的数据运算,从这个角度上讲,AI芯片确实有一种“泡沫”的嫌疑。

虽然神经网络和AI芯片有着或多或少、这样那样的问题,但在当前的历史阶段,神经网络仍然是最接近人工智能的工程方法,AI芯片也确实是实现人工智能的必由之路,因此,虽然对于互联网人工智能热潮应当怀有一定的警醒,但大可不必对神经网络等如临大敌。我们应当拥抱技术、拥抱时代,不断用自己的努力去谱写更加美好的未来。

参考文献

[1]人工智能腾讯科技宇行.人工智能芯片军备竞赛开启,谷歌等硅谷巨头加入[J].信息与电脑(理论版),2017(8):23-24.

[2]刘伟,倪桑.2017年人工智能研发热点回眸[J].科技导报,2018.

[3]尹首一,郭珩,魏少军.人工智能芯片发展的现状及趋势[J].科技导报,2018,36(17):45-51.

[4]施羽暇.人工智能芯片技术研究[J].电信网技术,2016(12):11-13.

[5]张蔚敏,蒋阿芳,纪学毅.人工智能芯片产业现状[J].电信网技术,2018(2).

推荐访问:人工智能 反思 芯片 分类