2.3.1 AI芯片
未来,芯片的计算能力需要支持元宇宙中呈指数级增长的需求。提升芯片的性能变得越来越难,而人工智能有助于解决这个问题。现代人工智能技术的成功依赖于几年前难以想象的规模计算。训练领先的AI算法可能需要一个月的计算时间并耗资巨大。这种强大的计算能力是由计算机芯片提供的,这些计算机芯片包含了最大数量的晶体管[1],而且为了有效执行一些特定的计算需求,还需要量身定制。从20世纪60年代到21世纪10年代,缩小晶体管的工程创新大约每两年使单个计算机芯片上的晶体管数量增加一倍,这种现象被称为摩尔定律。在此期间,计算机芯片的运行速度和效率提高了数百万倍。
当今最先进的芯片中使用的晶体管只有几个原子宽。但是制造更小的晶体管变得越来越难,甚至无法解决,从而导致半导体行业的资本支出和人才成本以不可持续的速度增长。因此,晶体管密度翻倍所需的时间越来越长。
对人工智能等专业应用的需求不断增长以及摩尔定律驱动的CPU改进速度的放缓,使中央处理器等通用芯片的发展受到了影响。因此,专用AI芯片正在发展,并且与传统CPU抢占市场份额。图2.10展示了AI芯片的市场收入价值,2017年全球AI芯片市场收入约为42.5亿美元。预计到2027年,AI芯片的市场收入将达到832.5亿美元,相较于2017年增长了近20倍。
图2.10 AI芯片的市场收入价值[2]
数据来源:STATISTA
虽然在AI处理方面GPU通常优于CPU,但它们并不完美。GPU确实具有一些便于处理AI模型的特性。GPU处理二维或三维的图形时需要同时并行处理多个函数串,而AI神经网络也需要并行处理,GPU可以很好地完成这部分工作。然而,AI的神经网络节点很像动物大脑中的神经元,神经网络需要卷积,而这正是GPU的缺陷。所以,实际上GPU只是针对图形进行了优化,而不是针对神经网络。
另一个需要考虑的重要因素是目前人工智能发展的速度。世界各地的研究人员和计算机科学家正在以指数级的速度不断提升AI和机器学习的标准,而CPU和GPU作为硬件,根本无法跟上AI的发展速度。密集集成电路(IC)中的晶体管数量大约每两年翻一番,但即使在最佳状态下也无法跟上人工智能发展的步伐。
因此,人工智能行业需要专门的处理器来高效处理AI算法及建模。芯片设计人员现在正在努力创建为执行这些算法而优化的处理器(processing unit)。这些处理器有很多名称,例如NPU、TPU、DPU、SPU等,但一个笼统的术语就是AI处理单元(即AI PU)。
创建AI PU是为了执行机器学习算法,通常是通过对人工神经网络等预测模型进行操作。使用“AI芯片”来替代传统的计算机芯片,在特定于人工智能的计算中获得了更高的效率和速度。我们在现实世界中已经看到了一些应用程序,例如实时面部识别,用于IP摄像头、门摄像头等的安全系统,用于与客户互动的各种聊天机器人,利用自然语言处理技术的语音助手等。
AI的发展速度最终将依赖于AI PU。AI PU与GPU相比,可以将机器学习任务的计算速度提高近一万倍,并且与GPU和CPU相比,可以降低机器学习任务的功耗,提高资源利用率。
目前,对于AI芯片市场,根据不同的技术类型及应用场景可以细分出多种芯片。根据架构类型可以分为SoC、SIP及MCM。SoC芯片用于确定系统功能;SIP可以将多种功能芯片进行封装,从而实现一个具有完整功能的芯片;MCM则可以集成大规模集成电路芯片,该技术不仅可以完善芯片功能,还可以缩小电子整机的体积。根据集成电路类型芯片可以分为两种,一种是基于ASIC(Application Specific Integrated Circuit)技术的芯片,另一种是基于FPGA(Field Programmable Gate Array)技术的芯片。根据计算方式,主要有基于云计算和基于边缘计算的芯片。AI芯片被广泛应用于自然语言处理、机器人流程自动化、计算机视觉及网络安全等领域(见图2.11)。
图2.11 AI芯片的市场细分
人工智能本质上是使用人工神经网络对人脑的模拟,旨在替代我们大脑中的生物神经网络。神经网络由一堆协同工作的节点组成,可以调用它们来执行模型。这就是人工智能芯片发挥作用的地方。它特别擅长处理这些人工神经网络,旨在用它们做两件事:训练(training)和推理(inference)。
原始神经网络最初未得到充分开发或训练,因此我们需要训练AI芯片,以能够快速有效地处理庞大的数据。芯片越强大,网络学习的速度就越快。一旦神经网络经过训练,就需要设计推理芯片,以便在现实世界中使用,例如面部识别、手势识别、自然语言处理、图像搜索、垃圾邮件过滤等。可以将训练视为字典,而推理类似于查找单词并了解如何使用它们,两者是相互作用的。值得注意的是,对训练芯片可以进行推理,但对推理芯片不能进行训练。
我们需要注意AI芯片是为云计算设计的还是为边缘计算设计的,以及我们是否需要针对这些计算来训练芯片。云计算中,不需要设备上的芯片来处理任何推理,这可以节省功耗和成本。然而,因为数据是存储在云服务器上的,所以可能会因被黑客入侵或处理不当而泄露数据。相反,边缘计算的芯片比云计算的芯片更加私密和安全,因为所有数据都存储在设备上,并且芯片通常是为特定目的而设计的。例如,面部识别摄像头将使用特别擅长运行面部识别的模型的芯片。这也有缺点,向设备添加额外的芯片会增加成本和功耗。
目前市场上主要有以下几种人工智能芯片:
(1)基于云计算下的训练的AI芯片
目的是开发用于推理的AI模型,这些模型最终会被细化为特定于用例的AI应用程序。这种芯片功能强大且运行成本高,旨在尽快进行训练。
例如,NVIDIA的DGX-2系统,其处理能力总计为2 PetaFLOPS[2]。它由16个NVIDIA V100 Tensor Core GPU组成。另一个例子是英特尔Habana的Gaudi芯片。日常生活中,需要大量训练的应用程序,例如Facebook照片识别和谷歌翻译,并且这些模型的复杂度每隔几个月就会增加一次。
(2)基于云计算下的推理的AI芯片
在推理需要强大的处理能力的时候,不可能在设备上进行这种推理。这是因为应用程序需要使用更大的模型并处理大量数据。这里的示例芯片包括高通的Cloud AI 100,这是用于处理海量云数据的大型AI芯片。再比如阿里巴巴的环光800,或者Graphcore的Colossus MK2 GC200 IPU。
训练芯片用于训练Facebook的照片或谷歌翻译,而云推理芯片则用于处理创建模型所需要输入的数据,一般应用在人工智能聊天机器人或其他人工智能服务中。
(3)基于边缘计算下的推理的AI芯片
使用设备上的边缘芯片进行推理,可以消除网络不稳定或延迟问题,并且可以更好地保护所用数据的隐私及安全性。上传大量数据所需的带宽成本微乎其微,尤其是图像或视频等视觉数据,因此只要平衡成本和能效,它就可以比云计算推理更便宜、更高效。
这里的例子包括耐能的KL520和最近推出的KL720芯片,这些芯片是专为设备上使用而设计的低功耗且成本效益高的芯片,还有英特尔的Movidius和谷歌的Coral TPU。这些芯片可以用于面部识别监控摄像头、车辆中用于行人和危险检测或驾驶意识检测的摄像头,以及语音助手。
所有这些不同类型的芯片及其不同的使用环境对于物联网(IoT)未来的发展至关重要,人工智能芯片领域也将迅速发展,以适应我们对技术日益依赖的需求。
[1] 晶体管(transistor)是一种固体半导体器件,具有检波、整流、放大、开关、稳压、信号调制等多种功能。
[2] Peta,用于计量单位,表示1015,即千万亿次;FLOPS(FLoa-ting-point Operations Per Second,每秒浮点运算次数),是巨型计算机的计算速度单位,即1秒内浮点运算的次数。