对于深度学习技术实现来说,FPGA无疑是具有重要潜质的。在过去,玩得起FPGA的往往都是有着充足资金的大公司,因为FPGA首先硬件成本高,另外对于复杂算法的实现有太多限制。但是,FPGA相对于GPU有着独特的优势:功耗低,实时性强,业界普遍看好其发展前景。
在国内,2017年1月份,腾讯云和阿里云也相继推出了FPGA云服务器产品。1月21日,阿里云发布异构计算解决方案:弹性GPU实例和FPGA解决方案。阿里云作为目前国内云市场的领头羊,这次发布针对深度学习技术的异构计算解决方案,无疑将助力国内人工智能技术的前进。
此前报道过,英伟达首席科学家、斯坦福并发 VLSI 架构小组的负责人William J. Dally曾说过,对于深度学习的硬件选择,主要有三个不同领域要考虑,其中两个就是:
数据中心的训练。指的是任何深度学习系统需要做的第一步:调整神经元之间的数百万连接,让神经网络来执行分配的任务。对训练来说,计算机往往需要以较高的精确度运算。
数据中心的推理。指的是基于云端、被训练来处理特定任务的神经网络的连续运行。对于推理,精确度可以适当牺牲,换取更快的速度和更低的能耗。
而阿里云这次发布的弹性GPU实例和FPGA解决方案,就是分别针对这两种任务要求所做的设计。
负责开发这套异构计算解决方案的,是阿里云的虚拟化平台团队。针对这套平台方案,日前采访了阿里云虚拟化平台职位高级技术专家游亮,以下是采访内容。
1、为什么在这个时候推出阿里云异构计算解决方案?
其实阿里巴巴内部的很多业务早已经在异构计算的平台上成功
应用了,比如拍立淘、以图搜图、商品分类等,阿里已经验证了这套解决方案在阿里各业务线的加速作用,现在阿里云把这套解决方案通过云服务的形式输出出去,也是把阿里的技术和经验输出,让业界能够非常容易地享受到异构计算的便利性和高速性,帮助业界降低使用成本,提高业务性能。
当前人工智能、深度学习目前已经成为业界一股强烈浪潮,对各行各业都将产生深远的影响。而人工智能、深度学习对计算能力的需求相当的高,阿里云推出的异构计算同时包括GPU和FPGA的解决方案,拥有比传统服务器强大得多的计算能力和每瓦计算能力,推异构计算解决方案也能够满足人工智能、深度学习对强大计算性能、计算能效以及计算实时性的需求,推动和加速整个人工智能、深度学习生态的迅速发展。
目前GPU和FPGA云服务器的邀测申请链接已经放挂到官网了,在https://www.aliyun.com的产品->弹性计算下面,但是FPGA的还没有,这一部分,我们的客户可以通过联系售后来获得。
2、这套异构计算解决方案具体能解决哪些问题?详细讲讲解决方案在AI领域的应用场景?
这套异构计算解决方案能够解决机器学习、深度学习、虚拟桌面、渲染、图形图像处理、非线性编辑、
视频编解码、基因分析、网络分析、网络安全、金融分析对计算能力、计算效能、计算实时性等方面的问题。
对于AI来说,这套解决方案能够非常好地加速AI领域的训练和预测/分类等问题,包括图像识别、语音识别、
视频识别、视频监控、文字识别、人脸识别、车辆识别、自动驾驶、机器翻译等AI的应用场景。GPU的解决方案比较擅长做AI领域的模型训练,能够达到非常高的批量计算能力,而FPGA的解决方案比较适合做AI领域的在线的预测/分类,能够达到非常高的吞吐量和非常低的延迟。
3、请详细谈谈弹性GPU实例?
“弹性”就是指会根据业务量去弹性伸缩,比如说你在线做
图片的预测分类,假设你日常业务只需要N10台云服务器机器,某一天一个突发事件,让你的业务爆发一倍,请求量突然增大,那现在弹性的支持就可以就很快创建出来增加的N台云服务器,让你的业务能够平滑支持暴增的业务请求。然后当你的业务量下去之后,多余的云服务器支持就可以释放掉。然后,计费也是按量来的,就是用多长时间就收多长时间的费用,实现客户成本最大节约化。
这个弹性的范围,可以参考阿里云上支撑的天猫业务。这个范围内的,我们都可以支撑。
4、你们的 FPGA 方案采用了Arria 10系列,在深度学习算法实现过程中,成本普通民众能接受不?可以用低端的芯片实现吗?
阿里云的FPGA方案面向用户。普通FPGA开发者如果自己采购测试用的FPGA、开发板还有服务器,价格是非常之昂贵的。阿里云从芯片原厂、OEM统一采购芯片和机器,不需要经过层层代理,大大降低采购成本,而且在云上提供按需使用的FPGA对于普通FPGA开发者来说,使用成本是极大降低的。
阿里云推出的FPGA方案,在定价上也会非常亲民。因为,我们初期阶段,主要目的不是为了赚取多少利润,而是为了方便FPGA开发者开发,繁荣FPGA的生态环境,促进FPGA产业的发展。因为现在FPGA整个生态并不是很理想。第一个方面,就是开发人员不多,然后开发人员的质量也参差不齐。FPGA之前面向的是非常小众的市场,今后可能会面向更广阔的市场,这个情况下,FPGA开发人员可能会跟不上需求;第二个方面,就是现有的FPGA开发工具不是非常的友好,而且像Verilog和VHDL这样的开发语言,学习的门槛比较高。所以对开发者来说,要想开发出性能比较高的软件,需要对FPGA了解非常深入才行,所以这个开发难度比较大。
但是,FPGA又是非常重要的,我们觉得FPGA今后在运营上,将会推动中国整个人工智能产业的前进。所以我们觉得阿里云有义务来承担这个责任,去繁荣FPGA的生态环境。当然,这需要各界人士的通力合作,我们会着力去吸引包括FPGA芯片厂商、FPGA板卡厂商、FPGA的IP开发商、FPGA的工具开发商以及FPGA开发者到阿里云的这个云平台上来等等,繁荣云上的FPGA生态,这样建立起一个好的生态之后,大家也都能从这个生态中获得合理的回报,然后大家才会有持续的动力,一起努力、共同协作建立一个围绕FPGA的健康的、可持续发展的生态。
5、这套异构计算解决方案,如何适应不同领域的开发者需求?
阿里云计划提供FPGA IP市场,所有第三方的商业应用都可以把自己的IP放到IP市场上来销售给最终用户,这些IP都是根据阿里云的标准来定制的。IP的开发、仿真、验证和测试都可以非常方便、快速地在 FPGA 云计算实例上进行部署和运行。针对不同领域里的开发人员的具体需求,比如图像识别CV领域,用CNN的IP比较多,语音识别NLP领域用DNN和LSTM的IP比较多,那么就可以通过提供丰富的IP市场这个IP市场调节大家的特定需求。
FPGA IP市场有利于第三方企业或者开发者来开发和销售IP给最终用户,有利于聚拢FPGA开发人气,建立FPGA生态环境,第三方商业应用和最终用户都能从中获益。
6、这套异构计算解决方案在开发过程中遇到了哪些难题?怎么解决的?
这套解决方案在开发过程中遇到了很多前所未有难题。比如,如何在公共环境下保证用户间的强隔离、怎么保证用户的数据安全、怎么去支持远程调试、怎么定义用户的交互接口......等等这些问题。还有这当中最难的部分,就是如何“上云”,传统的异构计算服务商不懂云上的虚拟化环境,提供的一些解决方案并不适用。
我们大概从1年多以前就已经开始进行预研,那时亚马逊的云计算实例都还没有正式推出来。这方面可供学习的经验比较少,因为现在世界范围内能够做这部分的厂商都是不多的,我们还是属于比较领先的厂商,所以会遇到各种各样的问题在这上面有很多坑。
我们经过和合作伙伴深入合作、联合开发和长时间的测试、验证工作,最终解决了这些难题问题,沉淀了一些阿里云独有的架构和设计,满足高可用、弹性伸缩、用户隔离、IP安全、故障恢复、监控报警等服务化需求。
7、目前基于 FPGA 的深度学习算法实现,阿里的现状如何?这套解决方案与其他基于 FPGA 的深度实现比较有什么优势?
目前阿里开发了基于FPGA的DNN、LSTM等深度学习算法的实现,和其他实现相比,阿里做了非常深入的优化,在逻辑资源的使用上、时序的优化上、对内存带宽的优化上都做了非常深入和细致的调优,相同器件上能够达到更高的吞吐量和更低的延迟。
8、你们觉得这套方案还有哪些需要优化和提高的地方?未来打算如何解决?
没有一种固定架构能适应所有应用场景,异构计算解决方案优势在于可以组合多种不同类型实例为用户定制专用架构,千人千面,阿里云愿意同更多特定行业进行合作,深度定制,共同为节省社会计算成本而努力,让计算服务成为水电煤这样随时可用,随处可用,人人可用的社会公共资源。