C114通信网  |  通信人家园

资讯
2017/1/4 11:29

建立FPGA深度学习加速生态圈,为人工智能赋能

厂商供稿  

毫无疑问,如果评选2016年度科技界十大最耀眼热词,人工智能&深度学习必定会华丽丽地上榜。从年初阿尔法狗战胜世界围棋冠军李世石,到年末世界互联网大会上BAT大佬们的集体AI秀,每一个信号都在不断提示着我们,人工智能时代来了,未来已来,且就在我们身边。

1956年,约翰·麦卡锡等人出席的达特茅斯会议正式标志着人工智能的诞生。经过60年的发展,人工智能历经了三次浪潮,发展可谓起起落落。

第一次,达特茅斯会议确立了人工智能这一术语,第一款感知神经网络软件和聊天软件诞生,数学定理被证明,人类第一次进入了人工智能的狂欢时期。然而,人们很快发现,这些理论和模型只能解决一些非常简单的问题,他们把问题想得过于简单,人工智能随即进入低谷。

第二次,八十年代Hopfield神经网络和BT训练算法的提出,使得人工智能再次兴起,出现了语音识别、语音翻译模型也为第二次人工智能的热潮点燃了希望之火。但这些设想迟迟未能进入人们的生活之中,第二次浪潮也随之破灭。

第三次,随着2006年Hinton提出的深度学习技术,以及2012年ImageNet竞赛在图像识别领域带来的突破,人工智能再次迎来了烈火烹油式的爆发。特别是到了2016年,大数据技术的日臻成熟以及高性能计算和算法的跨越式进步,为人工智能的发展带来了真正的动力。

高性能计算加速深度学习落地,GPUFPGA各有所长

而这一次人工智能热潮的兴起,与前两次有着截然不同的本质区别,其中高性能计算应用加速能力的大幅提升功不可没。在恒扬数据应用加速部门产品经理张军看来,深度学习模型是构建在海量的数据和强有力超算能力基础之上的,传统计算架构已经无法支撑深度学习大规模并行计算需求,因此,通过底层应用加速计算过程结合深度学习算法上的优化,是推动人工智能整个产业链发展的重要环节。

目前针对深度学习的分布式加速主要有三种方式:GPU、FPGA和NPU。GPU是最先被引入深度学习领域的,我们熟知的阿尔法狗就是由1920个CPU+280个GPU搭建的超算平台,作为最早看好深度学习应用加速的公司,英伟达是该领域当仁不让的领导者,通过打造CUDA平台,GPU在SIMD单指令多数据流架构中的优势被全面激发,结合高并行计算和高计算吞吐的特点,GPU可以大规模适用于具备计算密集、高并行、SIMD应用等特点的深度学习训练模型领域。目前,GPU已经在深度学习训练模型领域开创性地创建了包含CNN、DNN、RNN、LSTM以及强化学习网络等算法在内的应用加速平台和完整的生态系统。

GPU虽火,但从技术上讲,也有一定的局限性。

首先,运行能效比不佳。相比较而言,运行深度学习算法实现同样的性能,GPU所需功耗远大于FPGA,通常情况下,GPU只能达到FPGA能效比的一半或更低。

其次,应用过程中无法充分发挥并行计算优势。深度学习包含两个计算环节,即训练(Off-line)和推理(On-line)环节。GPU在深度学习算法模型训练上非常高效,但在推理时一次性只能对于一个输入项进行处理,并行计算的优势不能发挥出来。

第三,硬件结构固定不具备可编程性。目前来看,深度学习算法还未完全成熟,算法还在迭代衍化过程中,若深度学习算法发生大的变化,GPU无法像FPGA一样可以灵活的配置硬件结构,快速切入市场。 而以上这些不足,恰恰可以通过FPGA加速的方式来弥补。

可以说,GPU和FPGA在加速深度学习算法方面各有所长。 据张军介绍,单纯从性能角度来看,目前看FPGA的性能要弱于GPU,但FPGA在性能功耗比方面的表现却非常惊艳,以恒扬NSA系列深度学习加速卡来看,性能功耗比可以做到70GFlops/W,是英伟达M4的2倍多,是Intel众核芯片的5倍,优势还是相当明显的。这一点,对大型数据中心而言至关重要,可以节省大量服务器部署及机房建设、用电成本。

从计算优势来讲,目前大家看到在深度学习模型训练领域基本使用的是SIMD架构,即只需一条指令可以平行处理大量数据,这一点正好可以发挥GPU并行计算优势,但是容易让人忽略的是,在完成训练模型后,深度学习还需要进行推理计算环节,即MISD单一数据需要用多条指令平行处理,而这部分计算,正是FPGA最为擅长的。

根据赛灵思全球战略与市场营销高级副总裁Steve Glasev介绍,他认为FPGA未来在超级数据中心将成主流应用,尤其是在深度学习方面,在这方面GPU强在训练,而FPGA强在推断。一旦需要大规模部署训练模型,就必须大幅度提高效率,这需要新的推断引擎来提升效率,比如3到4倍,同时还要最小限度损失精确性,这正是FPGA的强项。他预测,未来至少95%的机器学习计算都是用于推断,只有不到5%是用于模型训练,这是两者的区别。

另外,不同架构的FPGA由于底层DSP有所不同,因此在不同领域的利用率和计算效率也有所不同。

从灵活性来说,GPU一旦设计完成就无法根据应用去调整硬件资源,但FPGA可以根据特定的应用给硬件编程,能针对任何新型应用和算法进行硬件优化。正是这种特有的可重配置和可重编程特性,FPGA能在一秒之内快速切换成不同的设计方案,面对下一个工作负载进行硬件优化,成为超大规模数据中心应用提供高度灵活、复杂多变的和高能效的最佳计算方案。

打造深度学习生态闭环,为人工智能赋能

作为第二代分布式计算联盟创始成员以及OpenPower组织联盟成员,恒扬数据与赛灵思、IBM在分布式计算领域有着深入密切合作。据恒扬数据张军介绍,2015年起,恒扬就关注到在全球7大超级数据中心,特别是在机器学习、深度学习领域,FPGA会成为主流应用之一,今年10月百度宣布设计出用以加速机器学习推断的赛灵思 UltraScale FPGA池以及11月AWS大会上Amazon EC2 F1实例,更加坚定了我们的想法。

比如Amazon EC2 F1实例,它是第一个用于FPGA应用加速的可编程硬件云实例,用户可以选择最高集成8块高性能16nm Xilinx UltraScale+ VU9P FPGA的方式,将FPGA架设在云端,类似于Vivado HLS/SDSoC remote server模式,用户只需要购买云服务,即可获得相应的开发工具,包括集成深度学习主流框架的应用开发套件、应用函数库、配置管理工具等等,进行开发、仿真、调试、编译等工作,定制FPGA硬件加速,从而大幅降低开发难度,缩减开发时间,让云服务用户更加便捷地加速深度学习推断、基因分析、金融分析、视频处理、大数据、安全等工作负载。

目前,恒扬非常看好类似的应用,正在与国内的几大数据中心展开联手合作,我们致力于与赛灵思联手,与超大数据中心进行深度合作,挖掘FPGA在深度学习中的潜能。

如果说与数据中心展开深入合作是恒扬建立深度学习生态圈组合拳的第一记重拳,那么丰富自身算法库,与行业应用深入结合,形成完整的商业闭环,则是恒扬的第二记重拳。相比较而言,FPGA的开发难度是比较高的,它要求开发人员必需对底层硬件编程语言例如Verilog非常熟悉,即便是使用类C的OpenCL进行开发,对软件开发人员而言,还是具有一定难度,因此必须集成快速开发工具、算法库、算法框架集成包及参考设计样板,为应用深度学习算法开发人员和平台设计人员提供最快速、最便捷的开发和部署途径。目前,恒扬重点开发的算法库包括CNN卷积神经网络、压缩算法、视频图像缩放等,下一步恒扬还将逐步完善对主流caffe、tensorflow算法框架的支持,将体系进一步完善化。

在完善算法的同时,将技术与行业紧密结合,打通商业闭环也是恒扬重点布局的方向。FPGA的特性决定了它在某些特定行业应用上具有得天独厚的优势,例如在医疗领域,医学影像比普通图像纹理更多,分辨率更高,相关性更大,存储空间要求更大,必须严格确保临床应用的可靠性,其压缩、分割等图像预处理、图像分析及图像理解等要求更高。这些特点恰恰可以充分发挥FPGA的优势,通过FPGA加速图像压缩进程,删除冗余,提高压缩比、并确保图像诊断的可靠性。类似的医疗领域应用还有基因测序加速。

再比如在金融领域,由于采用流水线逻辑体系结构,数据流处理要求低延时,高可靠,这在金融交易风险建模算法应用中是极大的关键点,FPGA正具备了此种优势。类似的行业和领域还有很多,比如视频转码直播、内容过滤、视频安防等等。

除了在云端构建恒扬深度学习生态圈外,对于特定的不适合放在云端的终端应用,如无人机、自动驾驶、机器人,恒扬也开始逐步探索,我们相信,在智能时代,FPGA会扮演越来越重要的角色,成为变革全球经济的重要技术手段,更多地改变我们的学习、工作和娱乐方式。

给作者点赞
0 VS 0
写得不太好

  免责声明:本文仅代表作者个人观点,与C114通信网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

热门文章
    最新视频
    为您推荐

      C114简介 | 联系我们 | 网站地图 | 手机版

      Copyright©1999-2024 c114 All Rights Reserved | 沪ICP备12002291号

      C114 通信网 版权所有 举报电话:021-54451141