本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。
众所周知,在三大云提供商中 AWS 拥有最丰富的机器学习能力组合。随着 Sagemaker Studio 于 2020 年初公开发布,他们创建了一个全集成的 ML 开发环境——这是业界首创。
在所有 ML 产品的中心锚定一个 IDE 是一个明智的举动——只要你的相关服务正确地填补了关键运维层面的空白。如果一切顺利,亚马逊将有机会一劳永逸地重塑行业中机器学习的面貌。
甚至在 Sagemaker Studio 之前,AWS 就有了一些针对 MLOps 的服务。但是,Re:invent 2020 更进一步。他们发布了一系列产品 / 服务,填补了大多数已知的空白。
现在他们做得怎么样?他们是否为正确的受众构建了正确的工具?这个问题还需要几年时间才能得出答案。但是 AWS 肯定在这场竞赛中处于领先位置。现在,我们来研究一些关键的新服务,从中了解 AWS 在这场游戏中的优势所在。
亚马逊的现有产品完全基于 Sagemaker Studio。它为 ML 开发提供了业内首创的集成开发环境。下面介绍一些基于它实现的功能,这些功能让这个平台颇具吸引力:
Sagemaker Studio notebooks 提供无服务器的 Jupyter 笔记本代替你的本地笔记本。它还支持本地模式。但我强烈建议你围绕中心化笔记本设置构建开发环境。
Sagemaker Autopilot 将 AutoML 引入了 AWS,从而消除了 ML 流程中的所有繁重工作。
Sagemaker Experiments 允许你保存和跟踪你的训练实验。它还允许将一个模型与另一个模型对比,从而允许用户从实验结果表中手动选择最佳模型。
Sagemaker Model tuning 允许你利用云来自动执行超参数优化。
Multimodel endpoints 能大大降低推理成本。
Model monitor 能帮助你跟踪生产中的指标,从而轻松跟踪模型漂移。
尽管 AWS 是 ML 服务的运维提供商,但它仍然不能声称自己拥有用于所有机器学习目的的,打通的开发环境。MLOps 在几个领域存在重大差距。
没有连贯的 CI/CD 管道可以将它们连在一起。没有这样的管道,感觉用户在使用一系列不同的服务。机器学习过程各个阶段(数据准备、训练、验证、推理、监控)的相关产品也还不完整。
但这种情况正在改变。随着 re:invent 2020 和之前发布的一些新服务的出现,AWS 在今年已经填补了大部分空白,而其他多数提供商则远远落后。
下面是一些例子。
AWS Sagemaker Data Wrangler 提供了一种干净的 Jupyter 风格的 IDE,用于机器学习数据准备。它直接建立在 Sagemaker Studio 上,因此利用了 Studio 的所有强大功能(比如它的数据可视化)。
即使从技术上讲这是一种无代码工具,但 Data Wrangler 还是可以使用代码自定义的。你可以将 300 多种内置的自动转换应用于你的训练数据。你只需单击即可将工作流程导出到 Sagemaker 笔记本并构建就地模型。它还直接支持多个数据存储,包括 Snowflake、MongoDB 和 Databricks。
Data Wrangler 解决了亚马逊在 ML 数据准备方面的巨大空白。他们声称,以这种方式简化数据准备工作可以大大减少用户花费在数据准备上的时间。
Data Brew 也是无代码数据准备工具。但这两种工具面向的是两类不同的受众。Data Wrangler 专门针对 ML,而 Data Brew 专注在通用探索性数据分析(EDA)上。另外,Data Brew 是一个以 UI 为中心的工具。
EDA 通常是 ML 的先决条件,因此它们完全可以同时使用。Data Brew 的一键分析和精心设计的界面(适合不会编写代码的用户)让作业变得更加简单明了。
两种工具都可以用来完成特征工程。但是只有 Data Wrangler 支持将特征空间导出到 AWS Feature Store,所以更合适一些。
另一个空白,填补完毕。
这是一个重要的发布,解决了关键的 特征工程缺失 的问题。许多机器学习实践在脱机(批处理)和在线(实时)特征工程之间存在差异。复杂的特征工程转换和在批处理期间构建的新特征很难很好地转换为推理 / 预测管道。
Feature Store 在这两点之间放置了一个专有的针对特征空间的存储库来解决这一问题。训练期间你在 Sagemaker Studio 中对原始数据所做的所有操作都可以导出到 Feature Store 中,并且可以保证在推理过程中可以正确地复制这些数据。
除了解决这个在线 - 离线问题外,它还支持特征可发现、共享和特征重用。它的设计还考虑了延迟——这是大规模场景中必须做的。
对我来说,这项服务是本年度最重要的运维发布。
尽管可扩展 ML 的重要先决条件是可靠的 CI/CD 流程 / 框架,但之前并没有好用的产品选项。大家要么用的是没那么理想的 MLOps 流程,要么建立了自己的 CI/CD 版本。
ML 的自制 CI/CD 框架存在的问题是它们无法推广,因此无法轻松开源。框架不可避免地要在代码中写入许多领域知识——既是为了缩短开发时间,也是为了与现有服务更好地集成。AWS 打算通过用于 ML 的通用 CI/CD 框架解决这一问题。
Sagemaker Pipelines 允许你创建、可视化和管理 ML 工作流。它使你能够创建单独的开发和生产环境并进行跟踪。环境允许你进行工件升级。它还带有一个模型注册表,可让你跟踪和选择正确的部署模型。
这一管道的一个不太明显的效果是,它还将其他所有用于 ML 的 Sagemaker 服务编织在一起。这为 AWS 带来了明显的优势,因为它可以实现真正的端到端 ML。
跨 e2e Sagemaker 工作流的偏见检测。对于 B2C 公司而言这是一大优势。
训练期间对资源利用情况进行监视和深度 profiling。特别是在深层神经网络上。
Sagemaker edge manager 基于 AWS Neo 之上,引入了边缘设备的模型管理。如果你在物联网行业,它会非常有用。
虽然不太算是 MLOps,但亚马逊新的数据库 ML 服务确实属于一个共同的主题——建立一个平稳的生产级 ML 流程,从而完全消除了对运维的需求。
Amazon Redshift ML:将 Sagemaker Autopilot 集成到 Amazon Redshift 中
Amazon Neptune ML:集成 Graph ml
Amazon Aurora ML:使用 SQL 查询将 ML 直接集成到 Postgres 中。
Amazon Athena ML:在 Athena 上提供经过预训练的模型。
Azure Machine Learning 和 Google Cloud AI platform 是排名靠前的云提供商中的两家头部 MlOps 提供商。两者都具有强大的管道和 CI/CD 功能。但是,Google AI 管道仍处于测试阶段,而其 AWS 竞品已经具备通用性。Azure Machine Learning Studio 感觉与 Sagemaker 非常相似,但并没有提供那么多服务。
其他提供商所用的模式并没有在中心包含集成的 IDE。Azure ML Studio 似乎在这方面做了尝试。但它在功能集方面局限很大。
与其他头部提供商相比,亚马逊确实投入了更多资源来提供更好的数据科学运维解决方案。这样是否可以让他们牢牢地把持最集成的 MLOps 套件的领先地位?我想是这样。亚马逊在开发云解决方案方面具有 3 到 5 年的领先优势(或更多?这里我找不到参考数据)。但是,现在预测谁将赢得 MLOps 竞赛还为时过早。
原文链接:
https://medium.com/analytics-vidhya/amazon-is-reinventing-mlops-57f36c0b2d0a
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!