使用 Amazon SageMaker 的机器学习 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon SageMaker 的机器学习

本节介绍了典型的机器学习工作流程并总结了如何使用 Amazon SageMaker 完成这些任务。

在机器学习中,您“指导”计算机进行预测或推理。首先,您使用一种算法和示例数据来训练模型。然后,您将模型集成到应用程序中,以实时且大规模地生成推理。在生产环境中,模型通常从数以百万计的示例数据项目学习,并在数百毫秒至不到 20 毫秒的时间里生成推理。

下图说明了创建机器学习模型的典型工作流程:

如图所示,您通常会执行以下活动:

  1. 生成示例数据 — 要训练模型,您需要示例数据。所需数据的类型取决于您希望模型解决的业务问题 (您希望模型生成的推理)。例如,假设您要创建一个模型以预测提供给手写体数字输入图像的编号。要训练此类模型,您需要手写体数字的示例图像。

    数据科学家经常花费大量时间来探索和预处理或“争辩”示例数据,然后再将其用于模型训练。要对数据进行预处理,您通常执行以下操作:

    1. 获取数据 — 您可能拥有内部示例数据存储库,或者您可能使用公开可用的数据集。通常,您将一个或多个数据集提取到单个存储库中。

    2. 清理数据 — 要改进模型训练,请检查数据并根据需要进行清理。例如,如果您的数据具有值为 country nameUnited StatesUS 属性,您可能想要编辑数据以保持一致。

    3. 准备或转换数据 — 您可以执行额外的数据转换,以提高性能。例如,您可以选择合并属性。如果您的模型预测到需要为飞机除冰的条件,您可以将温度和湿度属性合并为一种新的属性以获得更好的模型,而不是单独使用这些属性。

    在 SageMaker 中,您对笔记本实例上的 Jupyter 笔记本中的示例数据进行预处理。您使用笔记本获取数据集,探索并准备用于模型训练。有关更多信息,请参阅 探索、分析和处理数据。) 有关在 AWS Marketplace 中准备数据的更多信息,请参阅数据准备

  2. 训练模型 — 模型训练包括训练和评估模型,如下所示:

    • 训练模型 — 要训练模型,您需要一种算法。您选择的算法取决于许多因素。要想获得快速、现成的解决方案,您可以使用 SageMaker 提供的其中一种算法。关于 SageMaker 提供的算法列表以及相关注意事项,请参阅使用 Amazon SageMaker 内置算法

       

      您还需要适用于训练的计算资源。根据训练数据集的大小以及需要获得结果的速度,您可以使用从单个通用实例到 GPU 实例的分布式集群等各种资源。有关更多信息,请参阅 通过 训练模型Amazon SageMaker。)

       

    • 评估模型 — 训练模型之后,您对其进行评估,以确定推理的准确性是否可接受。在 SageMaker 中,您使用 AWS SDK for Python (Boto) 或 SageMaker 提供的高级 Python 库将请求发送到模型以获得推理。

      您使用 SageMaker 笔记本实例中的 Jupyter 笔记本来训练和评估您的模型。

  3. 部署模型 — 通常,您会对模型进行一些重新设计,以将其与应用程序集成并部署。借助 SageMaker 托管服务,您可以独立部署模型,将其与您的应用程序代码解耦。有关更多信息,请参阅 在 SageMaker 托管服务上部署模型。)

机器学习是连续的周期。部署模型后,您监控推理,收集“基本实际情况”并评估模型以识别偏差。然后,您可以更新训练数据以包含新收集的基本实际情况,从而提高推理准确性。通过使用新数据集重新训练模型,即可实现这一点。随着越来越多的示例数据变得可用,您继续重新训练模型以提高准确性。