View a markdown version of this page

Mengirimkan pekerjaan ke pembagian kuota - AWS Batch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengirimkan pekerjaan ke pembagian kuota

Antrian pekerjaan manajemen kuota mengharuskan semua pekerjaan menentukan pembagian kuota pada pengajuan pekerjaan. Untuk mengirimkan pekerjaan ke pembagian kuota, tentukan quotaShareName di SubmitServiceJob. A preemptionConfiguration secara opsional dapat diberikan untuk membatasi jumlah upaya pencegahan sebelum upaya pekerjaan masuk. FAILED Untuk membatasi jumlah preemption yang dialami pekerjaan, tetapkan ServiceJobPreemptionConfigurationpada preemptionRetriesBeforeTermination pengajuan pekerjaan.

Prasyarat

Sebelum mengirimkan pekerjaan ke pembagian kuota, pastikan Anda memiliki:

  • Sumber daya manajemen kuota — Kebijakan penjadwalan, lingkungan layanan, dan antrian pekerjaan yang dikonfigurasi untuk manajemen kuota. Untuk informasi selengkapnya, lihat Buat sumber daya manajemen kuota.

  • Pembagian kuota — Setidaknya satu pembagian kuota dibuat pada antrian pekerjaan. Untuk informasi selengkapnya, lihat Membuat pembagian kuota.

  • Izin IAM — Izin untuk mengirimkan pekerjaan ke. AWS Batch Untuk informasi selengkapnya, lihat AWS Batch Kebijakan, peran, dan izin IAM.

Kirim pekerjaan layanan ke pembagian kuota

Tabel di bawah ini menunjukkan cara mengirimkan pekerjaan layanan ke pembagian kuota menggunakan SDK SageMaker Python atau CLI: AWS

Submit using the SageMaker Python SDK

SageMaker Python SDK memiliki dukungan bawaan untuk mengirimkan pekerjaan ke antrian pekerjaan yang diaktifkan manajemen kuota. Contoh berikut menunjukkan cara membuat pelatih model, membuat antrian pelatihan, dan mengirimkan pekerjaan ke pembagian kuota. Untuk contoh lengkap, lihat contoh buku catatan lengkap di GitHub.

Buat ModelTrainer yang mendefinisikan konfigurasi pekerjaan pelatihan.

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), )

Buat TrainingQueue objek yang mereferensikan antrian pekerjaan yang diaktifkan manajemen kuota Anda berdasarkan nama.

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

Kirim pekerjaan ke pembagian kuota dengan menelepon queue.submit dan menentukan. quota_share_name Anda harus menetapkan priority untuk mempengaruhi pemesanan pekerjaan dalam pembagian kuota. Dunia nyata ModelTrainer akan membutuhkan inputs sehingga memiliki data untuk dilatih.

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

Contoh berikut menggunakan submit-service-job perintah untuk mengirimkan pekerjaan ke pembagian kuota.

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}}'"