你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

深度揭秘百度大脑AI专有芯片,缘何用FPGA而非GPU?

发布者:jackzhang 时间:2016-06-02 20:54:25

  作为全球最大的中文搜索引擎公司,百度在近几年却与系统底层硬件结下了不解之缘。自研万兆交换机SSD(软件定义SSD),全球首次规模商用ARM服务器……一个互联网服务巨头,在系统底层软硬件创新上不遗余力。而这一次,它再一次将创新的触角延伸到了服务器芯片领域。

  百度自主设计芯片?它要唱的是哪一出?

  百度大脑的“烦恼”

  刚刚落幕的2015世界机器人大会上,形态各异的机器人,让人在大饱眼福的同时,也不禁对未来充满无限想象和期待:机器将拥有近似甚至超过人类的智慧。

  如何让机器拥有如此超凡智慧?关键就是要让它们拥有和人一样会学习、能思考的“大脑”。百度大脑正是这样一个智慧的产物。

  如果你不理解百度大脑是如何成长并拥有智慧的,就试想一下从小到大,人的大脑是如何变得越来越聪明的:

  一方面,从生理构造上看,人脑的各个区域都在不断发展,以使人有更好的能力去认知、去记忆、去学习。百度大脑的软硬件架构以及人工智能等相关技术,就好似这“生理构造”。

  近年来,百度在人工智能,特别是深度学习技术上不断发力,使百度大脑在“生理构造”上拥有了更强大的学习、认知能力。一个月前,在媒体上热炒的“百度语音技术攻克10年难题,取得重大突破”,便是百度在人工智能领域发力的重要作证。而在更早之前,百度就已在人脸识别两个最为权威的国际评测FDDB与LFW中,获双料世界第一。

  另一方面,就是信息。人脑需要不断地获取各种信息、处理信息,并形成知识,才能变得更加聪明。在这一方面,百度大脑拥有着海量信息优势。

  据了解,百度服务覆盖6亿网民,每天要响应60亿次搜索请求,150亿次定位请求,同时还拥有海量社区数据。这些大数据使得百度大脑能够学会更加海量、多维度的知识。

  百度大脑正在不断学习、不断成长,变得越来越聪明。然而,就在这样成长的过程中,百度大脑遇到了“烦恼”:数据和模型规模不断膨胀,需要有更强的计算能力来支撑。不仅如此,出于企业成本考虑,还必须考虑能耗效率(性能/能耗)和成本效率(性能/价格),即在相同能耗或成本下,性能越高。

  如何解决这一问题?三年多前,百度就开始寻求解决方案——

  开启秘密项目

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

  王劲所提到的“当年”就是2012年——这一年,面对百度大脑对计算能力的强烈需求,百度决定自主设计深度学习专有的体系结构和芯片。

  说到提升计算性能,很多人会先想到用GPU。“GPU确实能提供较好的计算能力,但对于能耗效率和成本效率而言,它离我们的目标仍存在一定差距。”百度AI专有芯片项目负责人、主任架构师欧阳剑解释道。

  百度对这种差距有着深刻的体会。欧阳剑表示,为了提高深度学习算法的计算速度,他们已经在GPU和CPU上做了很多优化,也发表了一些深度学习算法GPU加速的论文,得到了外界的认可。“经过这些工作,我们更能深刻理解GPU、CPU在深度学习应用中的成本效率、能耗效率离目标间的差距”。

  在充分考量各种芯片的特性后,可编程、低功耗并拥有超强并行计算能力的FPGA走进了百度工程师们的视野。百度开始尝试用FPGA打造AI专有芯片,并成就了第一版AI专有芯片版百度大脑——FPGA版百度大脑。这使得百度成为了全球最早将FPGA规模应用在人工智能领域的公司。

  从在线服务切入,性能提升3~4倍

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

  离线训练、在线服务、智能终端——面对这些细分场景,在项目之初,选择AI专有芯片的切入点成为了重中之重。

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

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

  通过不断地创新、优化,FPGA版百度大脑迭代了许多版本,大脑的计算能力不断提升,功耗不断下降:最终版本比第一个版本功耗下降了约50%。对比近期热炒的超级计算机天河二号,FPGA版百度大脑的能耗效率是天河二号的10倍以上,即在同样功耗下,该版百度大脑的计算性能是天河二号10倍以上。

  随后,FPGA版百度大脑逐步应用在百度产品中,包括语音识别、广告点击率预估模型等。据了解,应用了该版本百度大脑后,语音在线服务、广告点击率预估模型等的计算性能皆提升了3~4倍。

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

  实际上,作为一家搜索引擎公司,同时也是一家O2O公司,百度旨在链接人和信息及服务,其背后有着强大的云计算、大数据和人工智能等技术做支撑。和一般互联网公司不同,百度除了在软件上创新,还进行了大量硬件上的、甚至到芯片级的创新,以此打造一体化技术优势。自主设计更加适合人工智能的AI专有芯片、自研万兆交换机,都是很好的例证。其中的很多创新,国内外大型互联网公司中都没有做过。

  然而,这只是一个开始,许多软硬件创新还在进行中——据了解,百度已经在孕育新版本的百度大脑,在体系结构和芯片领域进行着更大的创新。

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了