ML训练成本降90%,被万家公司使用:进入中国的Amazon SageMaker你也能免费试试

近日,AWS 宣布机器学习平台服务 Amazon SageMaker 在国内开始正式开放。这标志着 AWS 人工智能、机器学习平台服务的关键技术已全面进入中国。


云计算逐渐向着 Serverless 方向发展,今后云计算平台向开发者提供的是「服务」而不仅「服务器」。Amazon SageMaker 就是这样一项完全托管的服务,大幅度降低构建机器学习模型的门槛。也许有小伙伴会感觉到,之前明明做的是算法,为什么*增长了很多 IT 知识?如今 SageMaker 就是为解决这一痛点诞生的。


不过机器学习平台已经那么多了,SageMaker 又怎样才能吸引炼丹师们的关注?从机器之心的体验上来说,特别明显的是它的「开放」与「好用」,虽然听上去比较泛,但「开放」表明它支持绝大多数机器学习框架与算法,「好用」指用 IDE 写代码、可视化、Debug 一气呵成。


这些亮点我们在后文都会着重介绍,现在,让我们从头理一理,Amazon SageMaker 到底是何许人。


SageMaker,走向「国服」


2020 年 4 月底,SageMaker 在 AWS 中国的 北京区域和宁夏区域上正式开放。这一次,SageMaker 几乎所有组件,包括去年底刚推出的在线 IDE 工具 SageMaker Studio 都与全球同步在中国正式发布了。


「AWS 在中国正式发布的 SageMaker、SageMaker Studio 等工具,目前绝大多数功能都已上线。这体现了 AWS 对于中国市场的重视程度。」AWS 首席云计算企业战略顾问张侠在发布活动中表示。


AWS 有一个愿景:把亚马逊在机器学习方面的经验和能力传递给所有的企业和机构,而 SageMaker 在实现这一愿景的过程中扮演着极为重要的角色。


ML训练成本降90%,被万家公司使用:进入中国的Amazon SageMaker你也能免费试试

亚马逊提供的全栈式机器学习服务包括三层:位于底层的虚拟机器镜像、机器学习框架和基础架构支持,位于中层的 SageMaker 机器学习服务平台,以及最上层的各类 AI 应用服务。


通过 SageMaker,ML 模型的训练无需开发者手动管理服务器、搭建工具链、以及繁杂的调参。从完整的平台 IDE,到具体代码与 API,SageMaker 都有一种 Pythonic 精神,简洁易用,同时提供高级的接口。


比如上图中的 Autopilot,这种 AutoML 模块全流程地简化算法人员的时间,小白也能轻松训练个不错的模型。而对于 ML 开发者,TF、PyTorch 甚至 Scikit-Learn 写的算法脚本都能导入,甚至也可以自带算法容器镜像。而且,这些都是有完善的支持,Debug、可视化、端部署功能一个都不能少。


张侠表示,SageMaker 包含的组件,这也正是构建、训练和部署机器学习应用所需要的所有能力,它们现在都已有了正式的「国服版」。


框架算法武器库:开放


机器学习框架与算法早就非常丰富了,从我们写的第一行 NumPy 代码开始,到走向 PyTorch、TensorFlow,我们会熟悉各种框架与算法。作为新一代的炼丹师,明显我们不会只是用一种框架,它们都各自有擅长的领域与特点。然而各种机器学习平台,它们能满足这样的特点吗,它们能做到这样开放吗?


诸多互联网大厂的机器学习平台,有的也还算成熟了,但它们总会偏爱自行维护的机器学习框架。这样确实没什么问题,自行维护的框架能针对硬件、UI 界面做出独特的优化,更有利于高效运行算法。然而对于广大开发者而言,似乎直接用自己熟悉的框架更方便,显然这对平台的「开放性」会提出更高的要求。


AWS 在中国正式发布的 SageMaker,就是这样一种「开放」的机器学习武器库。

从框架支持上来说,抛开亚马逊维护的 MXNet,它对 TensorFlow、PyTorch 甚至 Scikit-Learn 等众多框架都有很好的支持与优化。即使你用的自定义框架,那也可以直接通过容器在 SageMaker 中跑起来。


这种支持并不只是说让不同的框架在 SageMaker 能跑起来,它的重点同样在于优化。AWS 内部有很多研究者也都采用 PyTorch 或 TensorFlow,这就为进一步优化框架提供了基础。


举个栗子:TensorFlow


AWS 是运行 TensorFlow 的最佳平台,因为它提供了针对 TensorFlow 的大量优化。在 256 个 GPU 的集群扩展效率测试中,AWS 优化的 Tensorflow 的扩展效率高达 90 %,而默认的开源版本只有 65 %。


想象一下,如果我们在 GitHub 上找到一个好项目,那么不论它是用什么框架写的,我们都能导入到 SageMaker 中,充分利用 AWS 的底层优化与适配。


开放,不止框架


新一代炼丹师,从建模到部署,很多时候我们都有自己熟悉的一套工具,例如利用 TPU 做训练、利用 Cortex 做部署等等。SageMaker 强大的地方在于,尽管它支持全流程的端到端机器学习,但是如果我们只部分需要 AWS,那也是没问题的。


我们已有的武器库能与 SageMaker 完美融合,这种开放才是 SageMaker 机器学习平*特的魅力。


与此同时,「开放」还体现在模型上,用户自定义模型自不必说,SageMaker 还内置了众多通用算法。例如做数据科学少不了的 XGBoost,两行代码就能训练一个强大的模型。

ML训练成本降90%,被万家公司使用:进入中国的Amazon SageMaker你也能免费试试


众多模型库,再加上 SageMaker Autopilot 这样的自动机器学习利器,连小白都能在 10 分钟内搞定一个强大的机器学习模型。值得注意的是,Autopilot 是业内首个兼顾可控制和可视化的自动机器学习工具,它是 SageMaker 全流程开放中不可或缺的一部分。


为机器学习而生的 IDE


做机器学习算法,一半体验在框架等工具,另一半就在 IDE 上了。PyCharm、Jupyter Notebook 等都是我们最常用的 IDE,做展示、做复杂项目都有合适的选择。那么对于机器学习,什么样的 IDE 才是最方便的?SageMaker Studio 提供了一个思路,即在统一的可视化界面写代码、搭模型、管理训练、Debug 及做部署。

ML训练成本降90%,被万家公司使用:进入中国的Amazon SageMaker你也能免费试试


读者们应该都了解,ML 中的数据预处理是最麻烦的,而在 IDE 处理数据需要特别好用的可视化,从而给我们关于数据最直观的理解。与此同时,手动调参也需要特别好的可视化,来帮助我们对比不同算法和超参训练出来的模型效果。


但好用的可视化编程通常会带来一个问题,即 Debug 又变难了。因此建模看起来直观、代码可交互,同时又容易 Debug,这就是为机器学习而生的 SageMaker Studio。


Notebook 撸代码做实验


在机器学习中,Notebook 已经是常见的形式了,很多云平台都采用了这种编辑形式。因为可以与代码交互,用它来开发机器学习代码实在是再合适不过了。在 SageMaker Studio 中,除了 Notebook 传统擅长可视化,还额外加了一些可视化组件以管理模型的实验过程。


本来用 Notebook 写轻量代码就非常方便,再加上 SageMaker 自己提供的大量精炼 API,它们之间的配合特别融洽。对于那些费时费力的底层资源管理繁杂过程,交给 SageMaker API 就行了,剩下的只要在 Notebook 写下算法逻辑,这才是机器学习开发者最高效的姿势。


ML训练成本降90%,被万家公司使用:进入中国的Amazon SageMaker你也能免费试试


虽然 SageMaker Notebook 的使用很简单,但实际上 AWS 托管的底层计算资源、底层环境与依赖库还是需要管理的,正是 SageMaker 屏蔽了这些底层的复杂性。而且特别友好的是,SageMaker 可以自动打包这些底层配置,然后一键共享 Notebook,这样把底层都交给 SageMaker,连 ML 开发瞬间都友好了起来。


Debug 走一波


简单直观还只是一个方面,作为机器学习开发者,模型构建与训练经常也少不了 Debug,Python 代码脚本用 VS Code 等 IDE 也还好 Debug,但是对于 Notebook,目前基本上还没有成熟的 Debug 工具。就像大家比较熟悉的 Colab,它虽然也是采用了 Notebook,但并做不了 Debug。


SageMaker 虽然采用 了更直观的 Notebook,但 SageMaker Debbuger 能在训练期间自动捕获模型信息,例如节点的定义、张量的维度等等。这些都是 Debug 的常规操作,做到为 ML 而生的 IDE,SageMaker Debbuger 还装备了一些高级技能:检测梯度有没有消失,模型是否过拟合等。

ML训练成本降90%,被万家公司使用:进入中国的Amazon SageMaker你也能免费试试


加上 Debbuger,IDE 才算得上成熟,做机器学习业务或实验,也都离不开它。如上所示,训练和 Debbuger 是同时进行的,我们能实时理解模型都在干些什么,有没有出毛病。


最后,不论是「开放」还是「好用」,它们都只是 SageMaker 给我们的直观感受。本身来说,SageMaker 还有更多优质的特性,数据与模型的安全性自不必说,对机器学习流程的各个环节的支持,也为 SageMaker 赋予更多的灵活性。


SageMaker,你也可以


SageMaker 在 GitHub 上放了 160 多个示例笔记本与教程,我们现在也能免费试用两个月,建模、训练和部署服务器都有免费额度。所以不论是开发者还是小白,都能上手试一试,毕竟 AWS 的用户基础还是非常广的。


「目前已有数万家公司采用了 AWS 的机器学习服务,其数量超过其他云服务商至少两倍,」张侠表示。据介绍,使用 SageMaker 部署机器学习的既包括 Autodesk、拜耳、T-Mobile 等著名国际企业,也有虎牙、大宇无限、嘉谊互娱等中国客户。


之所以用户很多,还是在于它的功能足够强,效率足够高。从统计数据来看,使用 SageMaker 系列工具可以把机器学习的总体成本降低 54%,并将开发效率提升 10 倍。


「我们都知道 TensorFlow 很流行,这种工具全球大约 85% 的工作负载是由 AWS 平台承担的,」张侠说道。「在使用 SageMaker+TensorFlow 的实际案例中,开发者们可以将模型训练的并行扩展效率从 65% 提高到 90%,训练时间从 30 分钟缩短到了 14 分钟。」


SageMaker 的强大不仅来自于 AWS 多年积累的技术,也源于这家公司与众多使用者、合作伙伴共同建立起的生态。


「我们可以看到友商也已在提供类似的机器学习开发平台。从算法数量、服务完整性上来看,Amazon SageMaker 有很多领先的地方,」张侠表示。「最明显的地方在于我们提供对几乎所有主流机器学习框架的支持,同时也有大量内置算法和最新的重要功能。我们拥有大量合作伙伴,生态系统最为丰富。大量来自生产环境一线的反馈,可以不断促进工具的发展,将能够最快的机器学习落地方法融合在我们的产品中。」


已支持了上万客户的 SageMaker,其生命力不容小觑,既然有免费额度试用,它还是非常值得我们开发者入手一试的。

上一篇:为你的博客添加几分色彩


下一篇:#3 Linux常用的命令的使用方法