本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊机器学习概述 SageMaker
本节描述了典型的机器学习工作流程,并总结了如何使用亚马逊完成这些任务SageMaker。
在机器学习中,您“指导”计算机进行预测或推理。首先,您使用一种算法和示例数据来训练模型。然后,您将模型集成到应用程序中,以实时且大规模地生成推理。在生产环境中,模型通常从数以百万计的示例数据项目学习,并在数百毫秒至不到 20 毫秒的时间里生成推理。
下图说明了创建机器学习模型的典型工作流程:

如图所示,您通常会执行以下活动:
-
生成示例数据-要训练模型,需要示例数据。所需数据的类型取决于您希望模型解决的业务问题 (您希望模型生成的推理)。例如,假设您要创建一个模型以预测提供给手写体数字输入图像的编号。要训练此类模型,您需要手写体数字的示例图像。
数据科学家经常花费大量时间来探索和预处理或“争辩”示例数据,然后再将其用于模型训练。要对数据进行预处理,您通常执行以下操作:
-
获取数据-您可能有内部示例数据存储库,或者您可能使用公开可用的数据集。通常,您将一个或多个数据集提取到单个存储库中。
-
清理数据-要改进模型训练,请检查数据并根据需要进行清理。例如,如果您的数据具有值为
country name
和United States
的US
属性,您可能想要编辑数据以保持一致。 -
准备或转换数据-为了提高性能,您可以执行其他数据转换。例如,您可以选择合并属性。如果您的模型预测到需要为飞机除冰的条件,您可以将温度和湿度属性合并为一种新的属性以获得更好的模型,而不是单独使用这些属性。
在 SageMaker 中,您对笔记本实例上的 Jupyter 笔记本中的示例数据进行预处理。您使用笔记本获取数据集,探索并准备用于模型训练。有关更多信息,请参阅探索、分析和处理数据:有关在AWS商城中准备数据的更多信息,请参阅数据准备
。 -
-
训练模型-模型训练包括训练和评估模型,如下所示:
-
训练模型-要训练模型,需要算法或预先训练的基础模型。您选择的算法取决于许多因素。要获得快速的out-of-the-box解决方案,你可以使用SageMaker提供的算法之一。关于 SageMaker 提供的算法列表以及相关注意事项,请参阅使用亚马逊SageMaker内置算法或预先训练的模型。有关提供算法和模型的基于 UI 的训练解决方案,请参阅SageMaker JumpStart。
您还需要适用于训练的计算资源。根据训练数据集的大小以及需要获得结果的速度,您可以使用从单个通用实例到 GPU 实例的分布式集群等各种资源。有关更多信息,请参阅使用亚马逊训练模型 SageMaker:
-
评估模型-训练模型后,对其进行评估以确定推断的准确性是否可接受。在 SageMaker 中,您使用 AWS SDK for Python (Boto) 或 SageMaker 提供的高级 Python 库将请求发送到模型以获得推理。
您使用 SageMaker 笔记本实例中的 Jupyter 笔记本来训练和评估您的模型。
-
-
部署模型-传统上,在将模型与应用程序集成并部署之前,您需要重新设计模型。借助 SageMaker 托管服务,您可以独立部署模型,将其与您的应用程序代码解耦。有关更多信息,请参阅部署模型进行推理:
机器学习是连续的周期。部署模型后,您监控推理,收集“基本实际情况”并评估模型以识别偏差。然后,您可以更新训练数据以包含新收集的基本实际情况,从而提高推理准确性。通过使用新数据集重新训练模型,即可实现这一点。随着越来越多的示例数据变得可用,您继续重新训练模型以提高准确性。