执行自动模型优化 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

执行自动模型优化

Amazon SageMaker 自动模型优化也称为超参数优化,它使用您指定的算法和超参数范围,在您的数据集上运行多个训练作业来查找模型的最佳版本。然后,它会选择超参数值来生成性能最佳的模型(按所选指标衡量)。

例如,假设您希望解决营销数据集上的二进制分类问题。您的目标是通过训练 模型来最大化算法的曲线 (auc)https://docs.amazonaws.cn/general/latest/gr/glos-chap.html#AUC 指标下的XGBoost 算法区域。您不知道应该使用 etaalphamin_child_weightmax_depth 超参数的哪些值来训练最佳模型。要查找这些超参数的最佳值,您可以指定 SageMaker 超参数优化搜索的值范围,根据您选择的目标指标进行评估,查找在训练作业中获得最佳表现的值组合。超参数优化会启动训练作业,使用您指定范围中的超参数值,然后返回具有最高 auc 的训练作业。

您可以将 SageMaker 自动模型优化与内置算法、自定义算法和机器学习框架的 SageMaker 预构建容器结合使用。

Amazon SageMaker 自动模型优化可以使用 Amazon EC2 Spot 实例来优化运行训练作业时的成本。有关托管的 Spot 训练的更多信息,请参阅 中的托管的 Spot 训练Amazon SageMaker

在开始使用超参数优化之前,您应该已经具有明确定义的机器学习问题,包括下列内容:

  • 一个数据集

  • 了解需要训练的算法的类型

  • 明确了解如何衡量成功

您还应准备数据集和算法,使其可用于 SageMaker 中并至少成功运行训练作业一次。有关设置和运行训练作业的信息,请参阅 入门Amazon SageMaker

自动模型优化资源限制

SageMaker 设置下列资源的默认限制:

  • 并发超参数优化作业数 - 100

  • 可搜索的超参数 - 20

    注意

    分类超参数中的每个可能值都计入这一限制中。

  • 每个超参数优化作业的定义的指标数 - 20

  • 每个超参数优化作业的并发训练作业数 - 10

  • 每个超参数优化作业的训练作业数 - 500

  • 超参数优化作业的最长运行时间 - 30 天

在计划超参数优化作业时,还必须考虑到训练资源限制。有关 SageMaker 训练作业的默认资源限制的信息,请参阅 SageMaker 限制。所有超参数优化作业的所有并发训练实例都计入所允许的训练实例总数内。例如,假设您运行 10 个并发超参数优化作业。每个超参数优化作业又各运行 100 个总训练作业和 20 个并发训练作业。每个训练作业在一个 ml.m4.xlarge 实例上运行。那么,下列限制适用:

  • 并发超参数优化作业数 - 不需要放宽限制,因为 10 个优化作业低于 100 这一限制。

  • 每个超参数优化作业的训练作业数 - 不需要放宽限制,因为 100 个优化作业低于 500 这一限制。

  • 每个超参数优化作业的并发训练作业数 - 需要将限制放宽到 20,因为默认限制为 10。

  • SageMaker 训练 ml.m4.xlarge 实例 – 需要请求将限制放宽到 200,因为您有 10 个超参数优化作业,每个超参数优化作业又各运行 20 个并发训练作业。默认限制为 20 个实例。

  • SageMaker 训练总实例计数 – 需要请求将限制放宽到 200,因为您有 10 个超参数优化作业,每个超参数优化作业又各运行 20 个并发训练作业。默认限制为 20 个实例。

有关请求放宽 AWS 资源限制的信息,请参阅 AWS 服务限制