在中提交服务作业 Amazon Batch - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在中提交服务作业 Amazon Batch

要向提交服务任务 Amazon Batch,请使用 SubmitServiceJobAPI。您可以使用 Amazon CLI 或 SDK 提交作业。

如果您还没有执行角色,则必须先创建一个执行角色,然后才能提交服务作业。要创建 SageMaker AI 执行角色,请参阅 SageMaker AI 开发者指南中的如何使用 SageMaker AI 执行角色。

服务作业提交工作流程

提交服务任务时,请 Amazon Batch 遵循以下工作流程:

  1. Amazon Batch 接收您的SubmitServiceJob请求并验证 Amazon Batch特定参数。未经验证serviceRequestPayload即通过。

  2. 作业进入SUBMITTED状态并被置于指定的作业队列中

  3. Amazon Batch 评估服务环境中是否有可用容量用于排在RUNNABLE队列前面的作业

  4. 如果容量可用,则任务将移至SCHEDULED,任务已传递给 SageMaker AI

  5. 获得容量并且 SageMaker AI 下载了服务作业数据后,服务作业将开始初始化并将任务更改为STARTING

  6. 当 SageMaker AI 开始执行任务时,其状态将更改为RUNNING

  7. 当 SageMaker AI 执行任务时, Amazon Batch 监视其进度并将服务状态映射到 Amazon Batch 作业状态。有关如何映射服务作业状态的详细信息,请参阅 将 Amazon Batch 服务作业状态映射到 SageMaker AI 状态

  8. 当服务作业完成后,它会移至SUCCEEDED,任何输出都准备好下载了。

先决条件

在提交服务任务之前,请确保您已经:

使用 Amazon CLI 提交服务作业

以下说明如何使用 Amazon CLI 提交服务作业:

aws batch submit-service-job \ --job-name "my-sagemaker-training-job" \ --job-queue "my-sagemaker-job-queue" \ --service-job-type "SAGEMAKER_TRAINING" \ --service-request-payload '{\"TrainingJobName\": \"sagemaker-training-job-example\", \"AlgorithmSpecification\": {\"TrainingImage\": \"123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.8.0-cpu-py3\", \"TrainingInputMode\": \"File\", \"ContainerEntrypoint\": [\"sleep\", \"1\"]}, \"RoleArn\":\"arn:aws:iam::123456789012:role/SageMakerExecutionRole\", \"OutputDataConfig\": {\"S3OutputPath\": \"s3://example-bucket/model-output/\"}, \"ResourceConfig\": {\"InstanceType\": \"ml.m5.large\", \"InstanceCount\": 1, \"VolumeSizeInGB\": 1}}' --client-token "unique-token-12345"

有关 serviceRequestPayload 参数的更多信息,请参阅 中的服务任务有效负载 Amazon Batch