他,揭开了开发者青睐AWS的秘密

版权声明:本文为CSDN原创文章,未经博主允许不得转载。 https://blog.csdn.net/sunhf_csdn/article/details/81938778

伊恩·马幸哈姆是亚马逊AWS全球技术与开发者布道师团队负责人,他从2008年以来一直从事云计算技术相关的工作。他和他在全世界的团队一起,跟开发者以及从创业公司到大型企业各种规模的AWS客户中的技术用户交流,增加AWS云服务在开发者群体的知名度和采用率。伊恩及其团队是活跃的会议发言人,参加各种开发者大会,技术聚会和其它开发者社区,以便联结开发者。在伊恩团队和其他团队的努力下,AWS在开发者中获得了有口皆碑的好声誉。

而在本次AWS Summit北京站活动中,伊恩亲自来到中国,在介绍AWS的技术实践的同时,向媒体记者揭开了AI开发者青睐AWS的秘密。

普遍应用的人工智能技术

伊恩介绍说,为了给用户打造独一无二的用户体验,亚马逊在各个层面的运营中普遍使用了人工智能和深度学习技术。

例如,由于亚马逊在全球有多个运营中心,运营中心实际上就是一些大型的仓库。亚马逊在这些运营中心中使用了自动机器人系统。机器人本身随机分布在大型运营中心的某些角落里,它们会自动去分拣货物,当它们拣出一个货物之后,会选择路径交到人工手里,由人工贴上具体的标签。

又比如,由于在美国亚马逊的网站上,有两亿种不同的产品在销售,每个产品还各有自己的库存数量。因此,亚马逊也普遍使用了推荐算法,能够根据用户的消费习惯和历史数据,来计算出购买某一个产品的概率,实际上也是一种预测性的算法。这样的算法非常强大,对客户来说也非常有价值。AWS的大客户Netflix使用了这样的算法,使得其75%的视频通过推荐引擎达成。

亚马逊也在尝试用无人机来递送包裹,这些无人机并不是由人来操控的,而是由一系列的组合算法来进行操控。比如说基于GPS的路径规划的算法以及计算机视觉,来避免可能会碰到一些障碍物等等。

同时,在亚马逊的硬件产品——智能音箱Echo中也大量使用了人工智能和深度学习技术。Echo服务通过AWS云端来调用,这时候用户所说的声音的文档,会被转化成令牌化的文本的文档,再去调用自然语言理解NLU的服务,然后解包一系列各种各样的服务。

三层架构为软件开发者赋能

伊恩表示,人工智能和深度学习技术在亚马逊的普遍应用,使得亚马逊能够深刻理解开发者的实际需求,因此,AWS平台能够将人工智能和深度学习的能力交付到了每一位开发者的手中。

亚马逊发现不同的开发人员需求不一样,关注的开发领域也不一样,愿意使用的工具类型也不一样。所以亚马逊顺应这种多元化的需求,将软件开发的平台进行了框架和基础设施、平台服务、应用的三层划分,并在不断丰富的过程中,为每一层加入新的功能。

框架和基础设施层

该层提供比较低层的工具、资源类型以及计算的环境。在机器学习方面的专家、软件开发人员以及数据科学家,可以选用自己需要的工具来开发出自己的机器学习模型。比如,上海的图森公司,他们使用的是比较高性能的计算,主要是GPU以及FPU。这些高性能的并行计算的环境,能够使大规模的并行计算变得更加高效、高速,主要是用于去培训深度学习神经网络。

其中,AWS EC2 P3就是一个非常专用的计算环境,相当于4万个并行计算的浮点的和。通过使用P3,能够让用户输入更多的数据给机器学习的系统来更快速的对模型进行培训。所以短时期内,可以根据自己专门的目的,去做更快的迭代,更快速的做神经网络的培训。

而AWS的AMI,非常适合深度学习以及统计学习。AMI中包含了所有开源的框架以及所需要的工具,包括英伟达的硬件驱动程序,即CUDA驱动。开发人员和数据科学家只要在AWS中的用户界面,点击几个键,就可以自动完成软件的配置,来开始深度学习的培训。

因为广泛的框架选择对用户来说是非常重要的,因此在AWS的平台之上,除了自家之外还有许多其他机器学习的框架,AWS对所有机器学习的框架都是一视同仁的。而事实上,不同的框架能够适合不同的使用场景。

平台服务层

中间的平台服务层可以帮助一般的软件开发人员,把他们在软件开发方面的通识应用到机器学习的过程当中。其实,平台服务层的主要工作是深度学习工作流管理。实际上,对于机器学习,工作流程基本上一成不变。首先要对数据进行清洗,定好数据格式,把数据准备好。这部分工作包括数据的输入、打标签、注释以及数据进行清洗,这会相当耗时,在一般的机器学习流程中,90%的工作量都是用在了数据的预处理部分。

数据预处理之后,就是对数据的训练,它会输出一个模型,这个模型的计算结果当然是要和预测的数字越接近越好。而要想达到理想的效果,需要不断对数据模型进行迭代,开发人员将从这种迭代中找出最为优化的模型。

而事实上,对于迭代来说,非常关键的一点是自动化,而AWS的Amazon SageMaker就是这样一款自动化的工具,可以提供诸如自动扩展功能、监控等功能。实际上,SageMaker能够胜任全工作流的管理,它提供了一系列的工具链,方便开发人员来开发和定制机器学习模型。

应用服务层

最上面的应用服务,是亚马逊已经做了预抽取或者预培训的机器学习的服务或者模型,开发人员可以直接使用。应用服务分成三大类,分别是:视觉、语音、语言。对于开发人员来说,他们通常会把这样的一些服务,通过SDK内嵌到自己的某些应用中。

在视觉服务方面,AWS提供了DeepLens,它是一款可编程的智能摄像头,上面加载了GPU以及CPU,可以通过经过培训的深度学习神经网络,进行实时的视频的分析。AWS提供了12个样板的项目,预制了30种不同的对象识别,开发人员可以直接通过DeepLens构建诸如图像识别、人脸识别等应用。

在语音服务方面,AWS支持的语言种类非常之多,比如冰岛语这种基本上只有30万人在讲的语言也在AWS支持之列。AWS在语言的渗透度上非常好,可以把语言转换成文本,也可以所生成不同嗓音的语音,而开发者需要做的仅仅是调用这些服务。

对于语言服务来说,AWS有一个专门的Amazon Comprehend服务。它其实是一种对非结构化数据的理解,它可以对一段文本进行分析,并挑出一些主体的词汇。利用该服务,开发人员就可以非常简单的对一段文字进行结构化的搜索了。

更重要的是,AWS可以支持多达14种编程语言,这使得各类开发者都可以顺畅的使用AWS的服务。

开发者青睐AWS的秘密

“为什么有这么多开发人员以及客户选择在AWS平台之上来运行他们的深度学习和机器学习呢?有两个原因,第一,AWS本身这个平台之上已经有大量的数据,同时还有很多全球的客户与AWS分享的数据。第二,我们机器学习和深度学习的服务,可以和AWS的其他云服务进行结合。同时,我们已经把ML和AI的技术打包成服务,即使在这方面不是专家,也可以轻松去使用。同时,我们支持不同的使用场景,开发人员可以针对不同的使用场景选择不同的机器学习框架和工具。同时,因为AWS广泛的客户基础,我们也有非常多元化的客户和使用场景。而这些,都是开发者选择AWS的原因”,伊恩说。

“实际上,不仅仅是在深度学习和机器学习领域,所有关注自己生产效率的开发人员都非常喜欢AWS的平台,因为我们的工具,他们用起来简单容易、得心应手、顺畅平滑。可以说AWS的平台给开发人员来提供了最优的选择。因为我们有最好的SDK的支持,我们是框架中立的,我们是开发语言中立的,给了开发人员更多灵活的选择。”伊恩最后补充道。

猜你喜欢

转载自blog.csdn.net/sunhf_csdn/article/details/81938778