でサービスジョブを送信する 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 を使用してサービスジョブを送信する

AWS 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 パラメータの詳細については、「 のサービスジョブペイロード AWS Batch」を参照してください。