AI芯片分类
从功能来看,可以分为Training(训练)和Inference(推理)两个环节。
Training环节通常需要通过大量的数据输入,或采取增强学习等非监督学习方法,训练出一个复杂的深度神经网络模型。训练过程由于涉及海量的训练数据和复杂的深度神经网络结构,运算量巨大,需要庞大的计算规模,对于处理器的计算能力、精度、可扩展性等性能要求很高。目前在训练环节主要使用NVIDIA的GPU集群来完成,Google自主研发的ASIC芯片TPU2.0也支持训练环节的深度网络加速。
Inference环节指利用训练好的模型,使用新的数据去“推理”出各种结论,如视频监控设备通过后台的深度神经网络模型,判断一张抓拍到的人脸是否属于黑名单。虽然Inference的计算量相比Training少很多,但仍然涉及大量的矩阵运算。在推理环节,GPU、FPGA和ASIC都有很多应用价值。
从应用场景来看,可以分成“Cloud/DataCenter(云端)”和“Device/Embedded(设备端)”两大类。
在深度学习的Training阶段,由于对数据量及运算量需求巨大,单一处理器几乎不可能独立完成一个模型的训练过程,因此,Training环节目前只能在云端实现,在设备端做Training目前还不是很明确的需求。
在Inference阶段,由于目前训练出来的深度神经网络模型大多仍非常复杂,其推理过程仍然是计算密集型和存储密集型的,若部署到资源有限的终端用户设备上难度很大,因此,云端推理目前在人工智能应用中需求更为明显。GPU、FPGA、ASIC(Google TPU1.0/2.0)等都已应用于云端Inference环境。在设备端Inference领域,由于智能终端数量庞大且需求差异较大,如ADAS、VR等设备对实时性要求很高,推理过程不能交由云端完成,要求终端设备本身需要具备足够的推理计算能力,因此一些低功耗、低延迟、低成本的专用芯片也会有很大的市场需求。
按照上述两种分类,我们得出AI芯片分类象限如下图所示。
除了按照功能场景划分外,AI芯片从技术架构发展来看,大致也可以分为四个类型:
通用类芯片,代表如GPU、FPGA;
基于FPGA的半定制化芯片,代表如深鉴科技DPU、百度XPU等;
全定制化ASIC芯片,代表如TPU、寒武纪 Cambricon-1A等;
类脑计算芯片,代表如IBM TrueNorth、westwell、高通Zeroth等。