本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用亚马逊训练模型 SageMaker
下图显示了如何使用 Amazon 的同一区域 Amazon 同一区域 Amazon 同一SageMaker区域:

标记为 SageMaker 的区域突出显示 SageMaker 模型训练和模型部署这两个组件。
要在 SageMaker 中训练模型,请创建一个训练作业。该训练作业包含以下信息:
-
您将训练数据存储到的 Amazon Simple Storage Service(Amazon S3)桶的同一区域。
-
您希望 SageMaker 用于模型训练的计算资源。计算资源是由管理的机器学习 (ML) 计算实例SageMaker。
-
您要存储作业输出的 S3 存储桶的 URL。
-
存储训练代码的亚马逊弹性容器注册表路径。有关更多信息,请参阅 Docker 注册表路径和示例代码。
注意
必须位于您的同一区域区域区域区域区域区域区域区域区域区域Amazon Web Services 区域区域区域区域区域区域区域区域。
对于训练算法,您可以使用以下选项:
-
使用由 SageMaker — 提供的算法,SageMaker提供数十种内置训练算法和数百个预训练模型。如果其中之一符合您的需求,那么它是快速模型训练的绝佳out-of-the-box解决方案。关于 SageMaker 提供的算法列表,请参阅 使用亚马逊SageMaker内置算法或预先训练的模型。要尝试使用 SageMaker 提供的算法进行练习,请参阅开始使用。您还可以通过 Studio 用户界面使用算法和模型。SageMaker JumpStart
-
使用 SageMaker Debugger —在使用、和 Apache MXNet 学习框架或 XGBoost 算法时PyTorch,在TensorFlow整个训练过程中检查训练参数和数据。调试程序会自动检测常见错误并向用户发出警报,例如参数值变得太大或太小。有关使用调试程序的更多信息,请参阅使用 Amazon Debu SageMaker gger 调试和分析训练任务。调试器示例笔记本可在亚马逊SageMaker调试器
示例中找到。 -
使用 Apache Spark SageMaker — SageMaker 提供了一个可以在 Apache Spark 中用来训练模型的库。SageMaker使用 SageMaker 提供的库类似于使用 Apache Spark MLLib。有关更多信息,请参阅在亚马逊上使用 Apache Spark SageMaker:
-
提交自定义代码以使用深度学习框架进行训练 — 您可以提交使用TensorFlow、或 Apache MXNet 进行模型训练的自定义 Python 代码。PyTorch有关更多信息,请参阅TensorFlow与亚马逊一起使用 SageMaker、PyTorch与亚马逊一起使用 SageMaker和在亚马逊上使用 Apache mxNet SageMaker。
-
使用您自己的自定义算法-将您的代码组合成一个 Docker 镜像,并在 SageMaker
CreateTrainingJob
API 调用中指定图像的注册表路径。有关更多信息,请参阅使用 Docker 容器构建模型:
创建训练作业后,SageMaker 将启动 ML 计算实例,并使用训练代码和训练数据集来训练模型。它将生成的模型构件和其他输出保存在您为该目的指定的 S3 存储桶中。
您可使用 SageMaker 控制台或 API 创建训练作业。有关使用 API 创建训练作业的信息,请参阅 CreateTrainingJob
API。
当您使用 API 创建训练作业时,默认情况下 SageMaker 复制 ML 计算实例上的整个数据集。要使 SageMaker 复制各个 ML 计算实例上的数据子集,您必须将 S3DataDistributionType
字段设置为 ShardedByS3Key
。您可以使用低级开发工具包设置此字段。有关更多信息,请参阅 S3DataSource
中的 S3DataDistributionType
。
重要
为了防止您的算法容器争夺内存,我们为您的 ML 计算实例上的SageMaker关键系统进程预留了内存,因此您不能指望看到您的实例类型的所有内存。