资讯 人工智能
此为临时链接,仅用于文章预览,将在时失效

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

作者:AI研习社-译站
2018/03/16 10:33

雷锋网按:本文为雷锋字幕组编译的技术博客,原标题 Comparing Machine Learning as a Service: Amazon, Microsoft Azure, Google Cloud AI,作者为Altexsoft。

翻译 | 彭珍 陈明霏    整理 |  凡江

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

对于大多数的公司来说,机器学习似乎接近于火箭科学,看起来昂贵而且需要人才。而且,如果你的目标是构建另一个Netflix推荐系统,那确实是。但是,一切即服务的趋势也影响了这个复杂的领域。你可以在没有太多投资的情况下启动机器学习计划,如果你是数据科学的新手,并且希望抓住成果,这会是正确的举措。

机器学习最鼓舞人心的故事之一是关于一个日本农民的,他决定用自动给黄瓜分类的方法来帮助他的父母做这项艰苦的工作。与大量关于大型企业的故事不同的是,他既没有机器学习的专业知识,也没有大的预算。但是他确实设法掌握了TensorFlow,并且运用深度学习来识别不同类别的黄瓜。

通过使用机器学习云服务,你可以开始构建你的第一个工作模型,从相对较小的团队预测中来产出有价值的见解。我们已经讨论了机器学习策略。现在让我们一起看看市场上最好的机器学习平台,并考虑一些基础设施决策。

什么是服务型导向的机器学习

服务型导向的机器学习(MLaaS) 是自动化和半自动化云平台的一个概括性定义,这个云平台涵盖了大多数的基础设施,例如数据预处理、模型训练、模型评估、以及进一步的预测。预测结果可以通过REST API与你的内部IT基础设施进行衔接。

亚马逊机器学习服务、Azure机器学习和谷歌云AI是三个领先的云MLaaS服务,允许在只有少量或者没有数据科学专业知识的情况下进行快速模型训练和部署。如果用可用的软件工程师来组建一支本土化的数据科学团队,就应该首先考虑这些问题。来看看我们的数据科学团队结构的故事,以便于更好地了解角色分配。

在本篇文章中,我们将首先概述亚马逊、谷歌和微软的主要服务型导向的机器学习平台,然后比较这些供应商所支持的机器学习API。请注意,本概述并非旨在提供有关何时和如何使用这些平台的详尽指南,而是在开始阅读文档之前需要查找的内容。

用于自定义预测分析任务的机器学习服务

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

Azure 机器学习工作室拥有最全面的服务;然而,如果你的任务需要用到深度神经网络,我们还推荐查看亚马逊的SageMaker和谷歌的机器学习引擎。

亚马逊机器学习的预测性分析

亚马逊机器学习服务有两个层面:亚马逊机器学习的预测性分析和数据科学家的SageMaker工具。

同于预测性分析的亚马逊机器学习是市场上最自动化的解决方案之一,最适合于对截止时间敏感的操作。该服务可以载入多个来源的数据,包括亚马逊RDS,亚马逊Redshift,CSV文件等等。所有的数据预处理操作都是自动执行的:该服务区标识出哪些字段是分类的,哪些是数字的,并且不会要求用户选择进一步数据预处理的方法(降维和白化)

亚马逊机器学习的预测能力受限于三种选择:二元分类、多类分类和回归。也就是说,亚马逊的机器学习服务不支持任何无监督的学习方法,用户必须选择一个目标变量并在训练集中标注它。此外,用户不需要了解任何机器学习方法,因为亚马逊会在查看提供的数据后会自动选择它们。

这种高度自动化水平既是亚马逊机器学习使用的优势也是劣势。如果你需要一个全自动但有限的解决方案,这项服务会符合你的预期。如果不是,那就选择SageMaker。

亚马逊SageMaker和基于框架的服务

SageMaker是一个机器学习环境,通过提供库快速建模和部署的工具来简化同行数据科学家的工作。例如,它提供Jupyter,一款创作笔记本,来简化数据探索和分析,无需服务器管理的麻烦。亚马逊也有内置算法,针对分布式系统中的大型数据集和计算进行了优化。这些优化包括:

内置的SageMaker方法与亚马逊建议的机器学习API在很大程度上相交,但它允许数据科学家参与进来并使用他们自己的数据集。

如果你不想使用这些,你可以通过SageMaker利用其部署功能来添加你自己方法并运行模型。或者你可以将SageMaker与TensorFlow以及MXNeT深度学习库进行集成。

总的来说,亚马逊机器学习服务为经验丰富的数据科学家和那些只需要完成工作不需要深入数据集准备和建模的人来说,提供了足够的自由。这对那些使用了亚马逊环境并且不打算转移到另一家云提供商的公司来说,这将会是一个不二之选。

微软Azure机器学习工作室

Azure机器学习旨在为新手和经验丰富的数据科学家提供一个强大的操作环境。微软的机器学习产品名单与亚马逊的类似,但是就当前而言,Azure在开箱即用的算法方面显得更加灵活。

Azure提供的服务可以分为两个主要类型:Azure机器学习工作室和机器人服务。让我们了解下Azure机器学习工作室的内幕。我们将会在讲专用于特定API和工具的部门回到机器人服务。

机器学习工作室是主要的服务型导向机器学习软件包。在Azure机器学习工作室上的几乎所有操作都必须手动完成。这些操作包括数据探索、预处理、选择方法和验证建模结果。

使用Azure接近机器学习需要一些学习曲线。但最终会导致对该领域主要技术的更深入理解。另一方面,Azure机器学习支持图形化界面以可视化工作流中的每个步骤。或许使用Azure的主要优点在于可以使用各种算法。工作室支持近100种方法来处理分类(二元+多类)、异常检测、回归、推荐和文本分析。值得一提的是这个平台拥有一种聚类算法(K-means)。

Azure机器学习的另一大部分是Cortana Intelligence Gallery。它是由社区提供的机器学习解决方案集合,提供给数据科学家进行探索和再利用。Azure的产品是入门机器学习并将其能力介绍给新员工的强大工具。

谷歌预测API

谷歌在两个层面提供AI服务:为精明的数据科学家提供的机器学习引擎和高度自动化的谷歌预测API。不幸的是,谷歌预测API最近已被弃用,谷歌将在2018年4月30日停止这一服务。

注定失败的预测API与亚马逊的机器学习很像。它的简约方法缩小到解决两个主要问题:分类(二元和多类)和回归。训练好的模型可以通过REST API接口进行部署。

谷歌并没有公布会使用哪种算法来绘制预测,也不允许工程师自定义模型。另一方面,谷歌的环境最适合在紧迫的期限内进行机器学习,并推出早期的机器学习计划。但似乎产品并不如谷歌预期的那样受欢迎。很遗憾的是,正如临终常见问题解答中所建议的,使用预测性API将不得不使用其他平台来”重建现有模型“。

那么,接下来会是什么呢?

谷歌云机器学习引擎

预测API的高度自动化是以灵活性为代价的。谷歌的机器学习引擎则截然相反。它迎合有经验的数据科学家,它非常灵活,并建议将TensorFlow的云端基础架构来作为机器学习的驱动程序。那么,机器学习引擎原则上与SageMaker非常相似。

TensorFlow是谷歌的另一款产品,它是一个开源的机器学习库,包括各种各样的数据科学工具,而不是服务型导向的机器学习。它没有可视化界面,并且TensorFlow的学习曲线也会十分陡峭。然而,这个库的目标人群是那些计划转行到数据科学的软件工程师。TensorFlow十分强大,但主要针对深度神经网络任务。

基本上,TensorFlow与谷歌云服务的结合表明,基础架构即服务和平台即服务的解决方案取决于三层模型的云服务。我们在关于数字化转型的白皮书中讨论了这个概念。如果你不了解,那就看一看。

为了总结服务型导向的机器学习平台,似乎Azure当前在服务型导向的机器学习的市场上拥有功能最多的工具集。它涵盖了大多数的机器学习相关任务,为构建自定义模型提供了可视化界面,为那些不愿徒手处理数据科学的人提供了一组可靠的API。但是,它在亚马逊上仍缺乏自动化的能力。

比较亚马逊、微软和谷歌的机器学习API

除了成熟的平台,你可以使用高级API。这些会提供底层训练好的模型服务,你可以输入数据然后获取结果。API完全不需要机器学习的专业知识。目前,这三家供应商的API大致可以分为三大类:

1)文本识别、翻译和文本分析

2)图像+视频识别和相关分析

3)其他,包括特定的未分类服务

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

微软提供了最丰富的功能列表。但是,所有供应商都提供最重要的功能。

语音和文本处理API:亚马逊

亚马逊针对文本分析中的常见任务提供了多种API。就机器学习而言这些是高度自动化的,仅需要适当的集成就可以工作。

亚马逊Lex。Lex API是用来在你的应用程序中内嵌包含自动语音识别(ASR)和自然语言处理(NLP)能力的聊天机器人。这些都基于深度学习模型。这个API可以识别书面和口头文本,Lex接口允许你将已识别的输入连接到各种后端解决方案。显然,亚马逊鼓励使用它的Lambda云环境。那么,在订阅Lex之前,也需要熟悉Lambda。除了独立的应用程序,Lex目前支持为 Facebook Messenger、Slack和Twilio部署聊天机器人。

亚马逊Transcribe。虽然Lex是一个以聊天机器人为导向的复杂工具,Transcribe仅仅是为了识别口头文本而生。该工具可以识别多个说话者,并且在低质量的电话音频中起作用。这使得这个API成为编目音频档案的一种解决方案,或者为呼叫中心数据的进一步文本分析提供良好的支持

亚马逊Polly。Polly服务与Lex相反。它将文本转换成语音,让你的聊天机器人用语音来回复。它不会创作文本,只是让文本听起来更接近于人。如果你体验过Alexa,那么你就能明白。目前,它支持25种语言的女声和男声,大部分是英语和西欧语言。一些语言还有多个女声和男声,所以就有多种选择。Polly推荐与Lambda一起使用。

亚马逊 Comprehend。与Lex和Transcribe不同,Comprehend是另一组NLP的APL,针对不同的文本分析任务。目前,Comprehend支持:

这项服务可以帮助你分析社交媒体的反应、评论和其他不适合手动分析的大量文本数据美丽如,Comprehend和Transcribe 的组合将有助于你分析你的以电话为主的客户服务中的情绪。

亚马逊 Translate。正如名字所示,Translate服务翻译文本。亚马逊声称它使用的是神经网络,相比于基于规则的翻译方法,神经网络方法提供更好的翻译质量。不幸的是,当前的版本仅支持六种语言翻译成英语,以及由英语翻译成这六种语言。这些语言是阿拉伯语、中文、法语、德语、葡萄牙语和西班牙语。

语音、文字处理应用程序接口: 微软 Azure 认知服务

像亚马逊一样, 微软开发出的高级应用程序接口—— 认知服务,能与你的基础开发环境兼容,非数据科学方面的专业人士也可以使用它进行工作。

语音。语音设置包含了四个应用程序接口,将不同的自然语言处理方法应用于自然语言识别以及其他操作:

语言。接口的语言组主要类似于Amazon Comprehend进行文本分析 

语音、文本处理应用程序接口:谷歌云服务

虽然这种接口主要综合了亚马逊和微软Azure开发的功能, 但是它也有一些有趣、特别的亮点值得一看

Dialogflow。随着多样的聊天机器人越来越流行,谷歌也开发出了一些产品。Dialogflow通过自然语言处理技术来支持运行,目标功能为解析文本的意图并说明文本主体人的意愿。可以根据需要使用Java、Node.js和 Python语言对这个接口进行修改和定制。

自然语言云处理接口。这个接口在内核特征上几乎与亚马逊的Amazon Comprehend和微软的Language相同。 

云语音接口。该服务用于自然语音识别,可能与类似接口相比最显著的优势是谷歌丰富的语言库。当前,语音云的词汇可覆盖超过110种全球性语言及其变体语言。它也有一些其他特征:

云翻译接口。总之,你可以用这个接口来在自己的产品上使用谷歌翻译。它支持超过一百种语言,具有语种自动识别功能。

除了文本和语音,亚马逊、微软和谷歌还开发了应用于图像、视频分析的多功能接口。

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

虽然图像分析与视频分析接口有许多交叉之处,但是许多视频工具仍在发展或处于良好的版本中。例如,谷歌对多种图像处理任务可提供许多支持,但是明显缺乏一些微软和亚马逊已能实现的视频分析特征功能。

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

微软看似是赢家,虽然我们仍认为亚马逊有最高效的视频分析接口,如亚马逊可支持流媒体处理。这个特征功能显然拓宽了视频分析技术的应用面。

图像和视频处理应用程序接口:亚马逊 Rekognition

我们绝对没有拼错单词。Rekognition应用程序接口是用于图像识别以及最近的视频识别任务。包括:

图像与视频处理应用程序接口: 微软 Azure 认知服务

微软的图像包结合了针对不同种类图像、视频和文本分析的六个应用程序接口

图像和视频处理应用程序接口: 谷歌云服务

云视觉应用程序接口。该工具被用于图像识别任务,并非常擅长查找特定的图像属性:

云视频智能。该谷歌的视频识别应用程序接口处于发展的早期,因此它缺少许多亚马逊Rekognition和微软认知服务的特征功能。现在该接口提供以下工具箱:

虽然从特征表级别上来说,谷歌人工智能服务也许缺少一些功能,但是谷歌应用程序接口的优势力量在于谷歌握有的大数据集。

特种应用程序接口与工具

在这里,我们将讨论微软和谷歌开发的特种应用程序接口产品及工具。由于亚马逊仅有上文提到的几种用于文本分析和图像/视频分析的应用程序接口产品,我们这里的讨论不包括亚马逊。但是,这些特种应用程序接口拥有的一些功能也被亚马逊的某些产品拥有。

Azure 服务机器人框架。微软做了大量努力为其用户提供灵活的机器人开发工具。总而言之,该服务包含一个可使用不同编程语言搭建、测试、部署机器人的全面环境。

有意思的是,该机器人服务不一定需要应用机器学习的方法。比如微软开发了五个版本的机器人(基础版、成型版、语言理解型、主动式,以及问答机器人),只有语言理解型机器人需要应用高级人工智能技术。

现在,你可以使用.NET和Node.js技术来通过Azure搭建机器人并在以下平台和技术服务中部署它们:

微软必应搜索。微软开发了7个与必应搜索特征功能相连的应用程序接口,包括自动提示、新闻、图像和视频搜索接口

微软Knowledge。该应用程序接口群将文本分析与各种各样的特别任务相结合:

谷歌云职位搜索。该应用程序接口仍处于发展阶段早期,但不久就可能颠覆如今我们拥有的职位搜索能力。不像依赖于精确关键字匹配的传统职位搜索引擎,谷歌应用机器学习方法来寻找高度多样的职位描述与避免模糊之间的联系。例如,它致力于减少不相关或者过于宽泛的返回结果,比如对“销售助理”的搜索询问返回所有关键字带“助理”的职位。这个接口有哪些主要的特征功能呢?

IBM 沃森以及其他

三个平台都在拿出一份非常详尽的文件来起动机器学习试验以及在公司的基础设备上部署训练好的模型之前就被提出了。也有大量来自创业的其他服务型导向的机器学习的解决方案,为数据科学家所尊敬,比如PredicSisBigML

但是IBM沃森分析是什么情况呢?

以商业预测为目标功能的IBM 沃森分析现在还不是一个羽翼丰满的机器学习平台。当前,沃森的主打是数据可视化以及描绘不同的价值如何相互作用。它也有与谷歌提供的相似的视觉识别服务以及一串其他认知服务(应用程序接口)。当前沃森的问题是系统执行的是狭隘、相对简单并易于被非专业人士操作的任务。当涉及到定制机器学习或者预测的职责时,处于发展阶段太早期的IBM沃森就难以驾驭了。

数据存储

通过机器学习找到正确的存储来收集数据以及进一步处理数据已经不再是个重大挑战,数据科学家有足够的学识来实施流行的存储解决方案。

在大部分情况下,机器学习要求SQL和NoSQL两个数据库结构支持,这两个数据库可被许多已建立的、值得信赖的解决方案支持,比如Hadoop Distributed File System (HDFS)、Cassandra、Amazon S3和Redshift。. 对于在开始机器学习之前使用强有力的存储系统的组织来说,这将不会是个障碍。如果你计划做一些服务型导向的机器学习系统,最直接的方法就是选择可用于存储和机器学习两者的供主,这将减少配置数据源的时间消耗。

然而,这些平台中有一些很容易与其他存储相融合。比如Azure机器学习,主要与其他微软产品相融(Azure SQL, Azure 表格, Azure Blob) 但是也支持Hadoop 以及大量其他数据资源的选择。 这些包含直接从桌面上传数据或者部署服务器的功能。如果你的机器学习工作流程多样化并且数据来自多种资源,也许会面临更大的挑战。

建模与计算

我们讨论过主要提供计算力的服务型导向的机器学习解决方案。但是如果机器学习工作流程在内部进行,计算挑战将会迟早敲响钟声。 在大部分情况下,机器学习需要大量的计算力。即使忽略大数据时代已经到来的事实,数据集(做一个策划的子集) 仍是一个相关实践。虽然模型原型可以在笔记本电脑中完成构建,但是使用一个大数据集训练复杂模型需要投入更多强有力的硬件。数据处理也是如此,它可以在正规的办公设备上占用几天时间,在快到截止日期时 ——有时候模型需要每周或每天修改、重新训练——这显然不是一种合理选择。有三种可行方案来保持高效表现:

1)加速硬件。如果你做的是相对简单的任务并且不用将模型应用到大数据中,那么针对这些任务使用固态硬盘作为数据准备或者使用分析软件。计算集中处理能被放置在一个或几个图形处理单元 (GPUs)上执行。大量可获得的库能让GPUs 的处理模型能被用像Python一样的高级语言编写。

2)采用分布式计算。分布式计算指使用多台机器处理分别切分之后的任务。然而,这个方法不能适用于所有的机器学习方法。

3)使用云计算的可扩展性。如果你的模型在处理有集中高峰时段的顾客相关的数据,云计算服务将具有急速可扩展性。对于要求拥有其内部数据的公司,值得考虑架构私有云设施 。

下一步计划

我们很容易在大量可获得的解决方案中迷失。 它们算法不同、要求的技术不同,最终他们做的任务也不同。此情况对于这个年轻的市场非常普遍,甚至我们之前谈论的三大领先解决方案并没有产生完全的相互竞争关系。不仅如此,变化的速度是非常快的。有很大可能你坚守一个供应商,然后突然另一个供应商意外跳出来满足你的商业需求。

正确的做法是尽早明了你打算通过机器学习获得什么。这并不容易。如果你缺乏数据科学或相关领域专业知识,在数据科学与商业价值中搭一座连接桥是非常困难的。我们在AltexSoft 与客户讨论机器学习应用时,经常遇到这样的问题。这通常是一个一般问题化为单一属性的问题。无论是价格预测还是其他数值,确定对象的类别还是将对象分散成多个组, 一旦你找到这个单一属性,确定供应商和选择提议内容将会简单一些。

DCVC创立合伙人,Bradford Cross,认为服务型导向的机器学习不是一种可行的商业模式。据他所说,服务型导向的机器学习落入了倾向使用开源产品的数据科学家与倾向购买能解决更高级任务工具的高管之间的差异鸿沟中。然而,这个行业似乎现在还在克服它长期以来存在的问题,最终我们将看到更多的公司通过转向服务型导向的机器学习方向来避免昂贵的人才收录,并同时拥有多功能的数据处理工具。

博客原址:

https://www.altexsoft.com/blog/datascience/comparing-machine-learning-as-a-service-amazon-microsoft-azure-google-cloud-ai/


更多文章,关注雷锋网

添加雷锋字幕组微信号(leiphonefansub)为好友

备注「我要加入」,To be a  AI  Volunteer !

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

雷锋网

长按图片保存图片,分享给好友或朋友圈

谷歌云AI、微软Azure、亚马逊的机器学习服务,究竟有啥区别?

扫码查看文章

正在生成分享图...

取消
相关文章