View a markdown version of this page

할당량 공유에 작업 제출 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

할당량 공유에 작업 제출

할당량 관리 작업 대기열에서는 모든 작업이 작업 제출 시 할당량 공유를 지정해야 합니다. 할당량 공유에 작업을 제출하려면 SubmitServiceJobquotaShareName에서를 지정합니다. 선택적으로를 제공하여 작업 시도가에 들어가기 전에 선점 시도 횟수를 제한할 preemptionConfiguration 수 있습니다FAILED. 작업 경험의 선점 횟수를 제한하려면 작업 제출 시 ServiceJobPreemptionConfiguration preemptionRetriesBeforeTermination 내에서를 설정합니다.

사전 조건

할당량 공유에 작업을 제출하기 전에 다음을 갖추어야 합니다.

  • 할당량 관리 리소스 - 할당량 관리를 위해 구성된 예약 정책, 서비스 환경 및 작업 대기열입니다. 자세한 내용은 할당량 관리 리소스 생성 단원을 참조하십시오.

  • 할당량 공유 - 작업 대기열에 하나 이상의 할당량 공유가 생성되었습니다. 자세한 내용은 할당량 공유 생성 단원을 참조하십시오.

  • IAM 권한 - 작업을 제출할 수 있는 권한입니다 AWS Batch. 자세한 내용은 AWS Batch IAM 정책, 역할 및 권한 단원을 참조하십시오.

할당량 공유에 서비스 작업 제출

아래 표는 SageMaker Python SDK 또는 AWS CLI를 사용하여 할당량 공유에 서비스 작업을 제출하는 방법을 보여줍니다.

Submit using the SageMaker Python SDK

SageMaker Python SDK는 할당량 관리가 활성화된 작업 대기열에 작업을 제출할 수 있도록 기본적으로 지원됩니다. 다음 예제에서는 모델 트레이너를 생성하고, 훈련 대기열을 생성하고, 할당량 공유에 작업을 제출하는 방법을 보여줍니다. 전체 예제는 GitHub의 전체 샘플 노트북을 참조하세요.

훈련 작업 구성을 ModelTrainer 정의하는를 생성합니다.

from sagemaker.train.model_trainer import ModelTrainer from sagemaker.train.configs import SourceCode, Compute, StoppingCondition source_code = SourceCode(command="echo 'Hello World'") model_trainer = ModelTrainer( training_image="123456789012.dkr.ecr.us-east-1.amazonaws.com/pytorch-training:2.5-gpu-py311", source_code=source_code, base_job_name="my-training-job", compute=Compute(instance_type="ml.g5.xlarge", instance_count=1), stopping_condition=StoppingCondition(max_runtime_in_seconds=300), )

할당량 관리가 활성화된 작업 대기열을 이름으로 참조하는 TrainingQueue 객체를 생성합니다.

from sagemaker.train.aws_batch.training_queue import TrainingQueue queue = TrainingQueue("my-sagemaker-job-queue")

를 호출queue.submit하고를 지정하여 할당량 공유에 작업을 제출합니다quota_share_name. 할당량 공유 내에서 작업 순서에 영향을 미치priority려면를 설정해야 합니다. 실제 환경에서ModelTrainer는 훈련할 데이터가 inputs 있어야 합니다.

job = queue.submit( job_name="my-training-job", training_job=model_trainer, quota_share_name="my_quota_share", priority=3, inputs=None, )
Submit using the AWS CLI

다음 예제에서는 submit-service-job 명령을 사용하여 할당량 공유에 작업을 제출합니다.

aws batch submit-service-job \ --job-name "my-sagemaker-training-job" \ --job-queue "my-sagemaker-job-queue" \ --service-job-type "SAGEMAKER_TRAINING" \ --quota-share-name "my_quota_share" \ --timeout-config '{"attemptDurationSeconds":3600}' \ --scheduling-priority 5 \ --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}}'"