随着人工智能产业链的火速延伸,GPU并不能满足所有场景(如手机)上的深度学习计算任务, GPU并不是深度学习算力痛点的唯一解。目前以深度学习为代表的人工智能计算需求,主要采用GPU、FPGA等已有适合并行计算的通用芯片来实现加速。
FPGA人工智能芯片.jpg
在产业应用没有大规模兴起之时,使用这类已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险。但是,由于这类通用芯片设计初衷并非专门针对深度学习,因而天然存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。
一项深度学习工程的搭建,可分为训练(training)和推断(inference)两个环节:训练环境通常需要通过大量的数据输入,或采取增强学习等非监督学习方法,训练出一个复杂的深度神经网络模型。训练过程由于涉及海量的训练数据(大数据)和复杂的深度神经网络结构,需要的计算规模非常庞大,通常需要GPU集群训练几天甚至数周的时间,在训练环节GPU目前暂时扮演着难以轻易替代的角色。
推断(inference)环节指利用训练好的模型,使用新的数据去“推断”出各种结论,如视频监控设备通过后台的深度神经网络模型,判断一张抓拍到的人脸是否属于黑名单。虽然推断环节的计算量相比训练环节少,但仍然涉及大量的矩阵运算。在推断环节,除了使用CPU或GPU进行运算外,FPGA以及ASIC均能发挥重大作用。
FPGA(可编程门阵列,Field Programmable Gate Array)是一种集成大量基本门电路及存储器的芯片,可通过烧入FPGA配置文件来来定义这些门电路及存储器间的连线,从而实现特定的功能。而且烧入的内容是可配置的,通过配置特定的文件可将FPGA转变为不同的处理器,就如一块可重复刷写的白板一样。因此FPGA可灵活支持各类深度学习的计算任务,性能上根据百度的一项研究显示,对于大量的矩阵运算GPU远好于FPGA,但是当处理小计算量大批次的实际计算时FPGA性能优于GPU,另外FPGA有低延迟的特点,非常适合在推断环节支撑海量的用户实时计算请求(如语音云识别)。
ASIC(专用集成电路,Application Specific Integrated Circuit)则是不可配置的高度定制专用芯片。特点是需要大量的研发投入,如果不能保证出货量其单颗成本难以下降,而且芯片的功能一旦流片后则无更改余地,若市场深度学习方向一旦改变,ASIC前期投入将无法回收,意味着ASIC具有较大的市场风险。但ASIC作为专用芯片性能高于FPGA,如能实现高出货量,其单颗成本可做到远低于FPGA。
FPGA的灵活性,很多使用通用处理器或ASIC难以实现的下层硬件控制操作技术利用FPGA可以很方便的实现,从而为算法的功能实现和优化留出了更大空间。同时FPGA一次性成本(光刻掩模制作成本)远低于ASIC,在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片是最佳选择。在众多领域都有替代ASIC的趋势,据市场机构GRANDVIEW RESEARCH的数据,FPGA市场将从2015年的63.6亿增长到2024年的约110亿美元,年均增长率在6%。
尽管FPGA倍受看好,甚至新一代百度大脑也是基于FPGA平台研发,但其毕竟不是专门为了适用深度学习算法而研发,实际仍然存在不少局限:第一,基本单元的计算能力有限。为了实现可重构特性,FPGA内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠LUT查找表)都远远低于CPU和GPU中的ALU模块。第二,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距; 第三,FPGA价格较为昂贵,在规模放量的情况下单块FPGA的成本要远高于专用定制芯片。
近几年来,定制芯片的性能提升非常明显。例如英伟达首款专门为深度学习从零开始设计的芯片Tesla P100数据处理速度是其2014年推出GPU系列的12倍。谷歌为机器学习定制的芯片TPU将硬件性能提升至相当于当前芯片按摩尔定律发展7年后的水平。正如CPU改变了当年庞大的计算机一样,人工智能ASIC芯片也将大幅改变如今AI硬件设备的面貌。如大名鼎鼎的AlphaGo使用了约170个图形处理器(GPU)和1200 个中央处理器(CPU),这些设备需要占用一个机房,还要配备大功率的空调,以及多名专家进行系统维护。而如果全部使用专用芯片,非常可能只需要一个盒子大小,且功耗也会大幅降低。
下游需求促进人工智能芯片专用化。从服务器,计算机到无人驾驶汽车、无人机再到智能家居的各类家电,至少数十倍于智能手机体量的设备需要引入感知交互能力和人工智能计算能力。而出于对实时性的要求以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑,这将带来海量的人工智能芯片的需求。
朗锐智科(www.lrist.com)认为在芯片需求还未成规模、深度学习算法暂未稳定需要不断迭代改进的情况下,利用具备可重构特性的FPGA芯片来实现半定制的人工智能芯片是最佳选择。随着人工智能算法和应用技术的日益发展,以及人工智能专用芯片ASIC产业环境的逐渐成熟,人工智能ASIC将成为人工智能计算芯片发展的必然趋势。