为一个或多个算法创建超参数优化调整 Job(控制台) - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

为一个或多个算法创建超参数优化调整 Job(控制台)

要为一个或多个算法创建新的超参数优化 (HPO) 调整作业,您需要定义调整作业的设置,为每个正在调整的算法创建训练作业定义,并配置调整作业的资源。

定义作业设置

您的优化作业设置将应用于 HPO 优化作业中的所有算法。仅当优化单个算法时热启动和提前停止才可用。定义作业设置后,您将为要优化的每个算法或变体创建单独的训练定义。

热启动

如果克隆了此作业,则可以选择使用之前优化作业的结果来提高此新优化作业的性能。这是热启动功能,只有在优化单个算法时才可用。 选择此选项后,最多可以选择以前的五个超参数优化作业来使用。 或者,您可以使用迁移学习向父优化作业添加额外数据。选择此选项时,您可以选择以前的一个优化作业作为父作业。

注意

热启动仅与 2018 年 10 月 1 日之后创建的优化作业兼容。有关更多信息,请参阅运行热启动作业

提前停止

要减少计算时间并避免模型过度拟合,训练作业不太可能改善超参数优化作业的当前最佳目标度量,则可以提前停止训练作业。与热启动一样,此功能仅在优化单个算法时才可用。这是一个没有配置选项的自动功能,默认情况下它处于禁用状态。 有关早期停止的工作原理、支持它的算法以及如何将其与您自己的算法一起使用的详细信息,请参阅提前停止训练作业.

优化策略

优化策略可以是随机的,也可以是贝叶斯优化。它指定自动优化如何在指定的超参数范围内进行搜索。您可以在后面的步骤中指定范围。随机搜索从指定范围中选择值的随机组合,并且可以同步运行。贝叶斯搜索根据对先前选择的历史已知情况来选择可能获得最佳结果的值。有关搜索策略的更多信息,请参阅。超参数优化的工作方式.

Tags

输入标签作为键值对,以将元数据分配给优化作业以帮助您管理它们。值不是必需的。您可以只使用键。要查看与作业关联的键,请选择标签选项卡上调整作业。有关使用标签优化作业的更多信息,请参阅管理超参数调整和培训作业

创建训练 Job 定义

要创建训练作业定义,您需要配置算法和参数、定义数据输入和输出以及配置资源。您必须提供至少一个TrainingJobDefinition适用于每个 HPO 优化作业。每个训练定义都指定算法的配置。要为您的训练作业创建多个定义,您可以克隆作业定义。克隆作业可以节省时间,因为它会复制所有作业设置,包括数据通道和输出构件的 S3 存储位置。然后,您可以根据配置算法选项所需的更改编辑克隆的作业。

配置算法和参数

调整作业的每个训练作业定义都需要名称、访问服务的权限以及算法选项的规范、目标度量和值范围(如果需要),以便为每个培训作业配置超参数值集。

Name

为训练定义提供唯一名称。

Permissions

Amazon SageMaker 需要有权代表您调用其他服务。选择 IAM 角色,或让Amazon创建一个角色,该角色具有AmazonSageMakerFullAccess已附加 IAM 策略。

可选的安全设置

网络隔离设置阻止容器进行任何出站网络调用。此处是必填字段AmazonMarketplace 机器学习产品。

您还可以选择使用私有 VPC。

注意

仅当从 API 创建作业定义时,容器间加密才可用。

算法选项

您可以选择其中一种内置算法、您自己的算法、您自己的带算法的容器,也可以从AmazonMarketplace.

  • 如果您选择内置算法,则该算法预填充了 ECR 映像信息。

  • 如果您选择自己的容器,则必须指定 ECR 映像信息。 您可以选择算法的输入模式作为文件或管道。

  • 如果您计划使用 Amazon S3 中的 .CSV 文件提供数据,则应选择该文件。

Metrics

选择内置算法时,系统会为您提供指标。如果您选择自己的算法,则需要定义指标。您可为优化作业定义最多 20 个要监控的指标,必须选择其中一个作为目标指标。有关如何为优化作业定义指标的更多信息,请参阅定义指标.

目标指标

要找到最佳的训练作业,请设置目标指标以及是否最大化还是最小化它。训练作业完成后,您可以查看优化作业详细信息页面,了解使用此目标指标找到的最佳训练作业的摘要。

超参数配置

选择内置算法时,会使用针对所优化算法优化的范围为您设置超参数的默认值。您可以根据您认为合适的情况更改这些值。例如,您可以为超参数设置固定值,而不是范围,方法是将参数类型设置为静态. 每个算法都有不同的必需参数和可选参数。有关更多信息,请参阅 。超参数优化的最佳实践定义超参数范围.

定义数据输入和输出

调整作业的每个训练作业定义都必须为每个训练作业配置数据输入通道、数据输出位置以及任何检查点存储位置(可选)。

输入数据配置

输入数据由通道定义,每个通道都有自己的源位置(Amazon S3 或 Amazon Elastic File System)、压缩和格式选项。您最多可以定义 20 个输入源通道。如果您选择的算法支持多个输入通道,您也可以指定这些通道。例如,在使用 XGBoost 流失预测笔记本时,您可以添加两个通道:训练和验证。

检查点配置

在训练期间定期生成检查点。您必须选择要保存的检查点的 Amazon S3 位置。检查点用于指标报告,还用于恢复托管型 Spot 训练作业。有关更多信息,请参阅使用 Amazon SageMaker 中的检查点

输出数据配置

您必须为要存储的训练作业构件定义 Amazon S3 位置。您可以选择使用AmazonKey Management Service (AmazonKMS) 密钥。

配置培训 Job 资源

调整作业的每个培训作业定义都必须配置要部署的资源,包括实例类型和计数、托管竞价培训和停止条件。

资源配置

每个训练定义都可以具有不同的资源配置。您可以选择实例类型和节点数。

托管的 Spot 训练

如果允许 SageMaker 使用剩余容量来运行作业,您可以在开始和结束时间方面灵活地灵活地节省作业的计算机成本。有关更多信息,请参阅亚马逊 SageMaker 中的托管的 Spot 训练

停止条件

停止条件指定每个训练作业允许的最长持续时间。

添加或克隆训练 Job

为调整作业创建训练作业定义后,您将返回到培训 Job 定义面板,您可以在其中创建其他训练作业定义来训练其他算法。您可以选择添加训练作业定义并通过步骤重新确定培训工作,或选择Clone来自 的操作菜单复制现有训练作业定义,并为新算法编辑该定义。克隆选项可以节省时间,因为它会复制作业的所有设置,包括数据通道、S3 存储位置。有关克隆的更多信息,请参阅。管理超参数调整和培训作业

配置优化 Job 资源

资源限制

您可以指定超参数优化作业可同时运行的最大并发训练作业数(最多 10 个)和超参数优化作业可以运行的最大训练作业数(最多 500 个)。并行作业数不应超过您请求的节点数所有训练定义。作业总数不能超过您的定义预期运行的作业数。

查看和创建 HPO 调整 Job

查看作业设置、培训作业定义和资源限制。然后选择创建超参数优化作业.