跳至主要内容

Amazon SageMaker

Amazon SageMaker

适用于每位开发人员和数据科学家的机器学习

什么是 SageMaker

Amazon SageMaker 是一项完全托管的服务,可为每位开发人员和数据科学家提供快速构建、训练和部署机器学习(ML)模型的能力。SageMaker 消除了机器学习过程中的每个步骤的繁重工作,让您能够更轻松地开发高质量模型。

传统 ML 开发是一个复杂、昂贵的迭代过程,而没有适用于整个机器学习工作流程的集成工具使得这一过程更加困难。您需要将工具和工作流程整合到一起,而这非常耗时并且容易出错。SageMaker 在单个工具集中提供了用于机器学习的所有组件,使您能够以更低的成本、更轻松地在更短的时间内将模型投入生产,从而解决了这一挑战。

Missing alt text value

构建机器学习模型

Amazon SageMaker Studio 提供了一个基于 Web 的单一视觉界面,您可以在其中执行所有 ML 开发步骤。对于构建、训练和部署模型所需的每个步骤,SageMaker Studio 为您提供了完整的访问、控制权和可见性。您可以快速上传数据、新建笔记本、训练和调试模型、在各个步骤之间来回移动,从而实现在一处调整实验、比较结果,并将模型部署到生产环境中,使您的生产效率大大提高。可以在统一的 SageMaker Studio 可视界面中执行所有的 ML 开发活动,包括笔记本、实验管理、自动模型创建,调试和模型偏差检测。

#仅在 AMAZON SAGEMAKER 上

通过管理计算实例来查看、运行或共享笔记本非常繁琐。Amazon SageMaker 笔记本提供了一键式 Jupyter 笔记本,使您能够在几秒钟之内立即开始工作。底层的计算资源具有充分的弹性,因此您可以轻松地调高或调低可用资源,并且后台会自动进行更改,而不会中断您的工作。SageMaker 还支持一键分享笔记本。所有代码依赖关系都是自动捕获的,因此您可以与他人轻松协作。他们会得到完全相同的笔记本,保存在同一位置。

#仅在 AMAZON SAGEMAKER 上

Amazon SageMaker Autopilot 是业界首个自动机器学习工具,实现了 ML 模型的完全控制和可见性。典型的自动化机器学习方法无法让您深入了解用于创建模型的数据或模型创建背后的逻辑。因此,即使是普通的模型,也无法使之进化。另外,由于典型的自动化 ML 解决方案只能提供一个模型供选择,因此您无法灵活地权衡,例如牺牲一些准确性实现较低延迟的预测。

SageMaker Autopilot 会自动检查原始数据、应用特征处理器、选择最佳算法集、训练和调试多个模型、跟踪其性能,并在随后根据性能对模型进行排名,所有这些仅需几次单击。结果就是,最佳性能模型的部署时间只相当于该模型通常所需训练时间的一小部分。模型的创建方式以及内容对您来说完全可视,并且 SageMaker Autopilot 与 Amazon SageMaker Studio 是集成在一起的。在 SageMaker Studio 中,您可以探索最多 50 种由 SageMaker Autopilot 生成的不同模型,因此很容易为您的应用场景选择最佳模型。没有机器学习经验的人们也可以使用 SageMaker Autopilot 轻松生成模型,或者经验丰富的开发人员使用它快速开发出基础模型,然后各团队可以据此进一步迭代。

#仅在 AMAZON SAGEMAKER 上

成功的机器学习模型是建立在大量高质量训练数据的基础上的。但是,建立这些模型所需的训练数据的创建过程往往非常昂贵、复杂和耗时。Amazon SageMaker Ground Truth 可帮助您快速构建和管理高度准确的训练数据集。通过 Amazon Mechanical Turk,Ground Truth 提供了对标签机的便捷访问,并为它们提供了预构建工作流和接口,用于执行常见的标记任务。您还可以使用自己的标签机,或通过亚马逊云科技 Marketplace 使用 Amazon 推荐的供应商。此外,Ground Truth 还不断学习人类制作的标签,制作高质量的自动注释,显著降低标记成本。

#仅在 AMAZON SAGEMAKER 上

支持的框架包括:TensorFlow、PyTorch、Apache MXNet、Chainer、Keras、Gluon、Horovod、Scikit-learn 和 Deep Graph Library。

训练机器学习模型

Amazon SageMaker Experiments 可帮助您组织和跟踪机器学习模型的迭代。训练 ML 模型通常需要进行多次迭代,才能分离和衡量更改数据集,算法版本和模型参数的影响。在这些迭代过程中,您将生成数百个构件,如模型、训练数据、平台配置、参数设置和训练指标。通常会使用电子表格等繁琐的机制来跟踪这些实验。

SageMaker Experiments 帮助您管理迭代的方式是,自动捕获输入参数、配置和结果,并将它们另存为“实验”。您可以在 SageMaker Studio 的可视化界面中工作,在其中浏览活动的实验、按特征搜索以前的实验、查看以前的实验及其结果,以及直观地比较实验结果。

#仅在 AMAZON SAGEMAKER 上

ML 训练过程在很大程度上是不透明的,并且它在训练模型上所消耗的时间可能很长,且难以优化。因此,通常很难阐述和解释模型。Amazon SageMaker Debugger 可以使训练过程更加透明,它通过在训练期间自动捕获实时指标(例如训练和验证、混淆矩阵和学习梯度)来帮助提高模型准确性。

SageMaker Debugger 中的指标会在 SageMaker Studio 中直观呈现出来,便于您理解。当检测到常见的训练问题时,SageMaker Debugger 还可以生成警告和修正建议。使用 SageMaker Debugger,您可以阐述模型的工作方式,这是迈向模型可解释性的第一步。

#仅在 AMAZON SAGEMAKER 上

TensorFlow 优化可以跨数百个 GPU 提供近乎线性的扩展效率,可在云端运行而无需花费大量处理开销,可在更短的时间内训练更准确、更复杂的模型。

Amazon SageMaker 提供托管的竞价型训练,帮助降低最多 90% 的训练成本。此功能使用了 Amazon EC2 竞价型实例,这是备用的亚马逊云科技计算容量。当计算容量可用时,训练作业将自动运行,并且能在容量变化引起的中断后恢复,让您可以灵活地安排训练作业的运行时间,节省成本。

部署机器学习模型

只需单击一下,Amazon SageMaker 即可轻松将经过训练的模型部署到生产中,从而使您可以开始为实时或批处理数据生成预测。您可以将模型一键部署到跨多个可用区的自动扩缩 Amazon ML 实例上,实现高冗余。只须指定实例的类型,以及所需的最大和最小数量,其余的事情就交给 SageMaker 处理吧。SageMaker 将启动实例,部署您的模型,并为您的应用程序设置安全的 HTTPS 终端节点。您的应用程序只需要包含一个对此端点的 API 调用,即可实现低延迟、高吞吐量推理。此架构使您可以在几分钟内将新模型集成到应用程序中,因为模型更改不再需要改变应用程序代码。

Amazon SageMaker Model Monitor 允许开发人员检测并修正概念偏差。今天,影响已部署模型精度的一个重要因素是,正在用于生成预测的数据是否与用于训练模型的数据不同。例如,不断变化的经济状况可能会催生新利率,影响购房预测。这就是概念偏差,此时模型用来进行预测的模式不再适用。SageMaker Model Monitor 将自动检测已部署模型中的概念偏差,并提供详细的警报,帮助识别问题的来源。在 SageMaker 中训练的所有模型都会自动发布关键指标,这些指标可以在 SageMaker Studio 中收集和查看。在 SageMaker Studio 内部,您可以配置要收集的数据、它的查看方式,以及接收提醒的时间。

#仅在 AMAZON SAGEMAKER 上

许多机器学习应用程序都要求人工审查低置信度的预测,以确保结果正确无误。但是,将人工审查纳入工作流程可能既耗时又昂贵,涉及复杂的流程。Amazon Augmented AI 服务可以轻松构建人工审查 ML 预测所要求的工作流。Augmented AI 为常见的机器学习应用场景提供了内置的人工审查工作流。您还可以为基于 Amazon SageMaker 构建的模型创建自己的工作流。借助 Augmented AI,当模型不能做出高可信度的预测时,您可以让人工审查人员介入。

#仅在 AMAZON SAGEMAKER 上

Kubernetes 是一个开源系统,用于自动部署、扩展和管理容器化应用程序。许多客户都希望使用 Amazon SageMaker 的完全托管的功能实现机器学习,但也希望平台和基础设施团队继续使用 Kubernetes 编排和管理管道。SageMaker 允许用户使用 Kubernetes 运算符和管道在 SageMaker 中训练和部署模型。Kubernetes 用户可以通过 Kubeflow 本地访问 SageMaker 的所有功能。

在大多数深度学习应用程序中,使用经过训练的模型(这个过程称之为推理)进行预测可能是影响应用程序计算成本的一个主要因素。一个完整的 GPU 实例可能过大,无法进行模型推理。此外,很难优化深度学习应用程序的 GPU、CPU 和内存需求。Amazon Elastic Inference 解决了这些问题,它允许您将正好适量的 GPU 驱动的推理加速连接到任何 Amazon EC2 / Amazon SageMaker 实例类型或 Amazon ECS 任务上,而无需更改代码。借助 Elastic Inference,您可以选择最适合应用程序整体 CPU 和内存需求的实例类型,然后分别配置有效使用资源并降低运行推理成本所需的推理加速量。