View a markdown version of this page

Jobs an eine Quotenbeteiligung weiterleiten - AWS Batch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Jobs an eine Quotenbeteiligung weiterleiten

In den Warteschlangen für die Quotenverwaltung ist es erforderlich, dass bei der Auftragsübergabe für alle Aufträge ein Kontingentanteil angegeben wird. Um Jobs an eine Quotenquote weiterzuleiten, geben Sie den quotaShareName in SubmitServiceJoban. Optional preemptionConfiguration kann A angegeben werden, um die Anzahl der Präemptionsversuche zu begrenzen, bevor ein Auftragsversuch erfolgt. FAILED Um die Anzahl der Präemptionen zu begrenzen, die bei einer Stellenausschreibung auftreten, geben Sie dies bei der Stellenabgabe anpreemptionRetriesBeforeTermination. ServiceJobPreemptionConfiguration

Voraussetzungen

Stellen Sie sicher, dass Sie über folgende Voraussetzungen verfügen, bevor Sie Jobs an eine Quote weitergeben:

Senden Sie einen Serviceauftrag an eine Quotenfreigabe

Die folgende Tabelle zeigt, wie Sie einen Servicejob mit dem SageMaker Python-SDK oder der AWS CLI an eine Quotenfreigabe senden:

Submit using the SageMaker Python SDK

Das SageMaker Python-SDK bietet integrierte Unterstützung für das Senden von Jobs an eine Job-Warteschlange mit aktivierter Quotenverwaltung. Die folgenden Beispiele zeigen, wie Sie einen Modelltrainer und eine Trainingswarteschlange erstellen und Jobs an eine Quotenfreigabe weiterleiten. Ein vollständiges Beispiel finden Sie im vollständigen Beispielnotizbuch unter GitHub.

Erstellen Sie eineModelTrainer, die die Konfiguration des Trainingsjobs definiert.

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

Erstellen Sie ein TrainingQueue Objekt, das namentlich auf Ihre Jobwarteschlange mit aktivierter Quotenverwaltung verweist.

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

Senden Sie Jobs an eine Quotenfreigabe, indem Sie die aufrufen queue.submit und angebenquota_share_name. Sie sollten a festlegenpriority, um die Reihenfolge der Jobs innerhalb der Quotenquote zu beeinflussen. Eine reale Welt ModelTrainer erfordert, inputs dass sie Daten hat, auf denen sie trainieren kann.

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

Im folgenden Beispiel wird der submit-service-job Befehl verwendet, um einen Job an eine Quotenfreigabe weiterzuleiten.

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