【人工智能的架构趋势】AI专有芯片版百度大脑首次解密

在今年9月份召开的百度世界大会上,百度高级副总裁王劲在接受采访时曾透露,百度已经打造了FPGA版的百度大脑,性能远超此前的版本。“这在当年是百度的一个秘密项目,不过,现在可以对外公开了”。

王劲所提到的“当年”就是2012年——这一年,百度决定自主设计深度学习专有的体系结构和芯片。经过深入研究和论证,为让项目快速落地及迭代,工程师们最后“相中”了FPGA,使用FPGA来实现百度的第一版自主设计的深度学习专有芯片。于是,基于AI专有芯片的百度大脑——FPGA版百度大脑由此诞生。这使得百度成为了全球最早将FPGA规模应用在人工智能领域的公司。

而本文,是第一次系统阐述其背后历程。

【新智元名词解释】FPGA 是什么?

FPGA(Field-ProgrammableGate Array),即现场可编程门阵列,是一种半定制的IC芯片。原厂(如XILINX、ALTERA、LATTICE等)生产出的是空白的不含配置信息的FPGA芯片,顾客可根据自己的需要,利用片上所提供的各种资源开发自己的逻辑,将生成的配置信息写入,从而将其变成自己所需功能的芯片,FPGA可近乎不限次数反复重配。

对计算能力及效率的需求,催生AI专有芯片版百度大脑

大数据和人工智能的发展与应用,使得百度面临一大问题:数据和模型规模不断膨胀,必须有更强的计算能力来支撑。不仅如此,出于企业成本考虑,还必须控制能耗效率和成本效率,即在相同计算性能下,成本和能耗要更低。

从大规模部署应用的角度看,无论是哪种类型的应用,对体系结构最终的衡量标准是performance/dollar及performance/Watt,也就是效率,包括能耗效率和成本效率。只有这两个效率足够高,这种体系结构才有生命力。例如在嵌入式终端里面,往往需要考虑极致的能耗和成本效率,有时候甚至需要对算法做些剪枝和模型规模限制。在数据中心里面,成本和功耗也是规模部署要考虑的第一要素。

如今,人们提到深度学习的硬件架构,会首先想到GPU。这主要是因为,在能方便采购到的硬件里,GPU确实能提供较好的数学计算能力和访存带宽。但对于能耗和成本效率,即使在数据中心应用,GPU离百度的目标仍有很大的改进空间。所以百度需要重新思考,面向人工智能的典型应用和算法,自主设计一种新的、通用的体系结构以及芯片,能实现极致的能耗和成本效率,还能灵活延伸扩展。

接下来,百度需要考虑的是,率先应用这种新型体系结构和芯片的场景。

人工智能的应用场景,包括云(数据中心)和端(智能设备)两部分;其中,云端又包括离线训和在线服务。离线训练是指利用海量数据,选择合适的训练方法,训练出一个模型。在线服务是指,利用训练出来的模型来响应在线响应用户的请求。端部分也对人工智能有着很大的需求:很多终端设备,也都需要能运行人工智能的算法,能智能地响应外部请求,如无人车、智能摄像头等。

“我们发现,在离线训练上,GPU可以阶段性地满足要求,智能设备虽然炒得火,但时机仍未成熟。而在在线服务方面,对提升计算能力的需求是客观存在且比较急迫的。但GPU因为功耗、成本等原因,不适合线上大规模部署。”百度AI专有芯片项目负责人、主任架构师欧阳剑道出了彼时决策的过程。

经过深入思考,百度决定率先在在线服务上应用AI专有芯片版百度大脑。

百度如何实现AI专有芯片版大脑?从系统、架构和硬件层面

【AI专有芯片版大脑】系统定义

深度学习算法的核心算子都比较容易抽象,例如DNN主要算子是矩阵乘法和激活函数,RNN/LSTM是向量乘矩阵和激活函数,CNN是卷积。这三种算法,核心计算都可以抽象成向量的内积及激活函数。为了保证系统的灵活性,该系统设计成SOC形式,设计专有的硬件加速器来加速深度学习算法。在数据中心, SOC里面的处理器很自然就是X86的CPU,深度学习协处理器通过PCIE总线和CPU互联。协处理的控制调度,都是由X86CPU完成。这种架构以后如果要延伸到嵌入式智能设备领域,只需要把处理器换成ARM即可,加速器部分仍可以保持不变。

【AI专有芯片版大脑】架构设计

向量的内积硬件比较好实现,只要堆足够多的ALU,性能就能线性提高,而且这个功能的流水线也很规则,很容易实现。但向量内积的瓶颈一般都在访问内存,所以主要挑战在于怎么利用cache/片内buffer的局部性,提高访存效率。这里需要跟进ALU的数量、运行频率、DDR的带宽来精细计算所需要的片内buffer的大小,及片内buffer的访问模式,以充分利用数据的局部性。加速器的硬件的架构如下,该架构有两级的memoryhierarchy,芯片外的DDR3和芯片内部的SRAMbuffer,高效的访存控制是该系统的关键。

向量ALU部分的微架构如下,主要由乘法器,加法树,累加器及激活函数计算单元等几级流水线组成。

为了保证硬件的可扩展性,ALU做成阵列模式,每个array实现长度为64的两个向量内积,可以按照不同的场景需求,堆放不同数量的array。例如在数据中心应用场景,追求最大的性能,所以可以在一定的cost和功耗budget前提下,堆放尽可能多的array,而在嵌入式领域,功耗和成本严格受限,就可以堆放少一些的array。

【AI专有芯片版大脑】硬件实现

要想达到最优的能耗效率,流片做成ASIC是最好的选择。但是,流片需要大量的资金,需要较长的时间周期和工程周期,而且深度学习算法也在快速迭代,很难在这个时期做一个成熟的硬件方案。所以百度选择了FPGA。

百度利用大量的DSP单元实现ALU,BRAM单元实现片内的buffer。实际上的工程实现,远比预估的要困难,为了追求极致的能耗效率,光是PCB就迭代了几个大版本,FPGA的逻辑实现迭代的版本更多,整个实现历时一年多。

逐步应用于百度产品,服务性能提升3~4倍

通过不断地创新、优化,AI专有芯片版百度大脑迭代了许多版本,大脑的能力不断提升,功耗不断下降:最终版本比第一个版本的功耗下降了约50%。

随后,这版百度大脑逐步应用在百度产品中,包括语音识别、广告点击率预估模型等。据了解,应用了该版本百度大脑后,语音在线服务、广告点击率预估模型等的计算性能皆提升了3~4倍。这一代芯片的性能和同时代的K20GPU相当,而功耗只有GPU的大概1/8。

百度关于FPGA的研究成果也得到了业界的肯定,并于2014年8月在第26届Hotchips会议(全球体系结构和芯片设计领域的顶级权威学术会议)上发表相关论文。

人工智能时代,定制芯片及体系结构是未来趋势

定制芯片和体系结构能大幅度提高大数据和AI计算效率。而FPGA给定制芯片提供了一种灵活而快速的实现方式。

不妨看看最近的几条新闻:

1、英特尔将明年一季度推首款FPGA至强芯片。

2、英特尔167亿美元并购FPGA生产商Altera,以期能够实现在大型云数据中心或物联网领域的新增长。

3、微软开发了带有FPGA“硬件加速芯片”的主板来提升Bing数据中心的整体性能。

(1)FPGA相比于传统CPU在处理Bing的自定义算法时快出40倍;

(2)整个系统将会比Bing现有的系统快出2倍,缩减一半现有服务器数量。

4、微软采用AlteraArria 10 FPGA实现基于卷积神经网络(CNN)算法的数据中心加速。

大型互联网企业的数据中心电耗费用的开销是非常昂贵的,FPGA本身的实现结构高效,在许多应用场景比处理器方案具备更佳的性能功耗比,FPGA方案对数据中心有很大吸引力。

人工智能实现算法例如卷积神经网络(CNN)等,对卷积运算量具有非常密集需求,目前GPGPU是较好的计算承载平台,但对于数据中心和低功耗嵌入式设备而言,都有降低功耗的需求作为驱动力,FPGA在这方面有独特优势,出现了越来越多的应用实例。

所以像百度、微软和intel这样的公司,都看到了定制芯片的前景,并使用FPGA来实现这样的技术方向。

据悉,百度从2012年开始在这一领域探索实践,自主研发人工智能体系结构,并且用FPGA实现了人工智能芯片,该芯片已大规模应用于百度的产品。根据公开资料,这也是世界首次人工智能芯片的规模应用。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2015-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

中兴禁令扎“芯”了吗?揭秘AI芯片国内外现状

导读:近日,美国对中兴发起一张长达七年的禁令,在这期间,美国公司将禁止向中兴出售任何元器件。有分析认为,美国禁令直击中国软肋,简直扎“芯”。那么在AI领域,国内...

702
来自专栏腾讯研究院的专栏

AI产业核心研究:芯片四大流派论剑,中国能否弯道超车

?   随着AI产业快速突破,各大公司在AI领域的人才动向也在引起极大关注,你来我往、归去来兮,AI江湖上大有一片血雨腥风之势。当然,AI领军人物的变动,会对...

1965
来自专栏新智元

柯洁中盘再败!谷歌乘AlphaGo之势强推TPU,与英伟达必有一战

【新智元导读】人机对战第二场,柯洁认输,AlphaGo中盘获胜将比分改写为2:0,TPU可谓是本次AlphaGo升级的秘密武器。 由此,许多人认为,谷歌与英伟达...

3447
来自专栏吉浦迅科技

内建NVIDIA Tegra K1的超强穿戴式装置改变视障人生活

阅读食物标签、经过行人穿越道、认出自己的朋友,这些事情对大多数的人来说简单容易,但对那些视力受损的人来说,却是相当困难。 为了让视力有缺陷的人们能够更独立,一个...

34110
来自专栏人工智能头条

2016年人工智能技术进展大盘点

1864
来自专栏机器人网

美科学家开发4D相机,让机器人可以看清物体有多远

时需要收集不同视角的信息,以便理解周围环境的特点,比如不同物体的运动和材料构成。 由美国斯坦福大学和加利福尼亚大学圣迭戈分校研究人员专为机器人研制的这种4D相...

3345
来自专栏ATYUN订阅号

【行业】三星推出增加了深度学习和图像处理功能的Exynos 7应用处理器

AiTechYun 编辑:nanan ? 三星新推出的中端移动应用处理器Exynos 7 9610具有深度学习和更快的图像处理能力,并将于2018年下半年推出。...

2668
来自专栏机器人网

这只3D打印机械手要做手语“翻译官”:手指可逐个拼写字母

对于广大不会手语的普罗大众而言,跟听障者沟通是一件非常困难的事情,为了解决这个问题,比利时研究团队开发了一只机械手,连接了电脑后,它能把文字和话语翻译成手语,帮...

2726
来自专栏镁客网

拔刺 | 为什么有人说5G基站不能在4G基站的基础上升级?

5G基站的确是不可以在4G基站的基础上升级,因为5G的形式、核心网、天线构造、无线频率都和4G完全不同。

781
来自专栏新智元

【AI芯片格局最全分析】国内AI芯片百家争鸣,何以抗衡全球技术寡头

1113

扫码关注云+社区