Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Someter los trabajos a una cuota de cuota
Las colas de trabajos de administración de cuotas requieren que todos los trabajos especifiquen una cuota de cuota al enviar el trabajo. Para enviar los trabajos a una cuota compartida, especifique la entradaquotaShareName. SubmitServiceJob Opcionalmente, se preemptionConfiguration puede proporcionar una para limitar el número de intentos de prioridad antes de que se produzca un intento de trabajo. FAILED Para limitar el número de preferencias que puede tener un trabajo, establézcalo en el momento de la presentación preemptionRetriesBeforeTermination del ServiceJobPreemptionConfigurationtrabajo.
Requisitos previos
Antes de enviar los trabajos a una cuota compartida, asegúrate de tener:
Envíe un trabajo de servicio a una cuota compartida
La siguiente tabla muestra cómo enviar un trabajo de servicio a una cuota compartida mediante el SDK de SageMaker Python o la AWS CLI:
- Submit using the SageMaker Python SDK
-
El SDK de SageMaker Python tiene soporte integrado para enviar trabajos a una cola de trabajos habilitada para la administración de cuotas. Los siguientes ejemplos muestran cómo crear un formador modelo, crear una cola de formación y enviar los trabajos a una cuota compartida. Para ver un ejemplo completo, consulte el ejemplo completo del cuaderno en GitHub.
Cree una ModelTrainer que defina la configuración del trabajo de formación.
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),
)
Cree un TrainingQueue objeto que haga referencia a su cola de trabajos habilitada para la gestión de cuotas por su nombre.
from sagemaker.train.aws_batch.training_queue import TrainingQueue
queue = TrainingQueue("my-sagemaker-job-queue")
Envíe los trabajos a una cuota compartida llamando queue.submit y especificando elquota_share_name. Debe establecer una priority para influir en la ordenación de los trabajos dentro de la cuota. El mundo real ModelTrainer necesitará datos con los inputs que entrenarse.
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
-
En el siguiente ejemplo, se utiliza el submit-service-job comando para enviar un trabajo a una cuota compartida.
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}}'"