在 中提交服務任務 AWS Batch - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 中提交服務任務 AWS Batch

若要提交服務任務給 AWS Batch,您可以使用 SubmitServiceJob API。您可以使用 AWS CLI 或 SDK 提交任務。

如果您還沒有執行角色,則必須建立一個,才能提交您的服務任務。若要建立 SageMaker AI 執行角色,請參閱 SageMaker AI 開發人員指南中的如何使用 SageMaker AI 執行角色SageMaker

服務任務提交工作流程

當您提交服務任務時, AWS Batch 會遵循此工作流程:

  1. AWS Batch 會接收您的SubmitServiceJob請求並驗證 AWS Batch特定參數。serviceRequestPayload 會在未驗證的情況下傳遞。

  2. 任務進入 SUBMITTED 狀態,並放置在指定的任務佇列中

  3. AWS Batch 評估佇列前方RUNNABLE任務的服務環境中是否有可用的容量

  4. 如果容量可用,任務會移至 ,SCHEDULED且任務已傳遞至 SageMaker AI

  5. 當容量已取得且 SageMaker AI 已下載服務任務資料時,服務任務將開始初始化,並將任務變更為 STARTING

  6. 當 SageMaker AI 開始執行任務時,其狀態會變更為 RUNNING

  7. 當 SageMaker AI 執行任務時, AWS Batch 會監控其進度並將服務狀態映射至 AWS Batch 任務狀態。如需如何映射服務任務狀態的詳細資訊,請參閱 將 AWS Batch 服務任務狀態映射至 SageMaker AI 狀態

  8. 當服務任務完成時,它會移至 ,SUCCEEDED並且任何輸出都已準備好下載。

先決條件

提交 servicde 任務之前,請確定您已:

使用 CLI AWS 提交服務任務

以下說明如何使用 CLI AWS 提交服務任務:

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參數的詳細資訊,請參閱 中的服務任務承載 AWS Batch