在2016年11月底举办的AWSre:invent大会上,AWS正式推出了自己的AI产品线。以此为标志,AWS正式加入全球人工智能大战。
AWS产品战略总经理MattWood说,在过去5-6年间出现了对机器学习的大量需求,而这些需求主要受三大因素影响:算法、效能计算以及丰富与大型的数据集。在算法方面,虽然今天的算法与20年前相比没有太多变化,但它们开始变得越来越复杂并结合了人工智能的算法。在丰富与大型的数据集方面,由于云计算的出现,获得和使用丰富而海量的数据成为可能。在效能计算方面,GPU可以创造出高度复杂和规模化的计算能力,从而把算法与海量数据相结合。
Matt表示,深度学习的出现解决了计算科学中一些特殊的场景,包括语音识别、图像识别、自然语言识别、个性化推荐以及自主计算(自动驾驶及自主机器人)等。但在现实世界中,应用和使用深度学习算法却遇到很多挑战:可编程性、可移植性及性能。其中,可编程性指如何能够大幅简化神经元网络编程的复杂性,可移植性指在云中训练神经元网络后在手机上、智能汽车上等使用这些神经元网络模型,性能即指神经元网络的训练及推理性能。
就在2016AWSre:invent大会前几周,AWS推出了名为P2的GPU计算实例(云服务器),P2专门用于支持机器学习、高性能计算以及其它需要海量浮点并行计算的应用,同时提供预置优化的数种开源机器学习计算框架,其中包括mxnet、TensorFlow、Caffe、theano、Torch和CNTK等。P2提供了多达4万2千个CUDA计算内核,AWS同时预建了基于P2的深度学习计算集群,让普通程序员能轻松完成规模化的机器学习编程和应用。
Matt介绍说,自从P2产品上线以来,就受到了广大程序员的高度关注。一家叫做图森的中国创业公司正把P2用于研发智能汽车算法,通过使用车载图像识别设备和深度学习算法,图森软件可以在白天和夜间识别行驶汽车的周边,还能在平面图像中精准识别三维空间里的汽车的位置,精度达到厘米级。
在所有的开源深度学习框架中,AWS选择mxnet作为官方机器学习首选平台。Matt介绍说,之所以选择mxnet是因为它的可编程性、可移植性以及性能等。首先,mxnet支持包括Go、Python、Scala、R语言、JavaScript、C++等在内的广泛的计算语言,这是因为mxnet实际上由前端和后端两层组成,前端支持多种计算语言,但在后端却使用统一系统和通用运算符。
其次,在编程模式的选择上,mxnet同时支持命令行式编程和描述性编程这两大主流编程方式。对于Python或Groovy等支持命令行式编程模式的语言来说,命令行编程方式虽然灵活并能使用语言本身提供的多种原生功能,但却难以优化和用于大规模计算。而对于SQL等描述性编程语言来说,优化起来更加容易也支持更多的语言,但却缺乏灵活性,Caffe、theano、Caffe等都属于这种情况。mxnet则让程序员能同时获得这种两种编程方式,大幅提高深度学习编程的效率与灵活性。
第三,在可移植性方面,mxnet只需要很少量的存储空间即可运行,上千层的神经元网络也只需4G存储空间。在云中训练好的神经元模型,可以部署在智能手机、物联网设备、无人机等机器人设备甚至是基于JavaScript的浏览器里,因此mxnet程序的可移植性非常好。
第四,在编写并行高性能计算方面,mxnet也能创造更好的性能。mxnet可以轻松把串行算法改编为并行计算模式,并在一个GPU里的多个CUDA内核上运行,也能很容易地扩展到多个GPU上。
基于mxnet,AWS在本次re:invent大会上正式推出了自己的AI产品线,首批产品包括支持24种语言47种声音的文本到语音转换服务AmazonPolly、基于深度学习的图像和人脸识别服务AmazonRekognition以及可编写自然人机交互的AmazonLex。其中,AmazonLex使用了同样用于AmazonAlexa的自动语言识别和自然语言理解技术。由于与AWS编程环境Lamda集成在一起,开发者可以轻松使用Lex开发各种聊天机器人和服务机器人,并把这些机器人用于网络应用、即时通信工具,或为手机及物联网设备添加自然语言交互功能。
自2016年11月30日起,AmazonPolly、AmazonRekognition在美国东部、美国西部、欧洲等地的AWS区域推出,未来将陆续扩展到其它区域,而用户自即日起也开始申请使用AmazonLex的预览了。
本文出处:畅享网
本文来自云栖社区合作伙伴畅享网,了解相关信息可以关注vsharing.com网站。