Envíe un trabajo de servicio en AWS Batch - AWS Batch

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.

Envíe un trabajo de servicio en AWS Batch

Para enviar los trabajos de servicio AWS Batch, utilice la SubmitServiceJobAPI. Puede enviar trabajos mediante el SDK AWS CLI o el SDK.

Si aún no tiene un rol de ejecución, debe crear uno antes de poder enviar su trabajo de servicio. Para crear la función de ejecución de SageMaker IA, consulte Cómo utilizar las funciones de ejecución de SageMaker IA en la guía para desarrolladores de SageMaker IA.

Flujo de trabajo para la presentación de trabajos

Al enviar un trabajo de servicio, AWS Batch sigue este flujo de trabajo:

  1. AWS Batch recibe su SubmitServiceJob solicitud y valida los parámetros AWS Batch específicos. serviceRequestPayloadSe pasa sin validación.

  2. El trabajo entra en el SUBMITTED estado y se coloca en la cola de trabajos especificada

  3. AWS Batch evalúa si hay capacidad disponible en el entorno de servicio para los RUNNABLE trabajos que se encuentran al principio de la cola

  4. Si hay capacidad disponible, el trabajo se traslada a AI SCHEDULED y se ha transferido a AI SageMaker

  5. Cuando se haya adquirido capacidad y la SageMaker IA haya descargado los datos del trabajo de servicio, el trabajo de servicio comenzará a inicializarse y el trabajo cambiará aSTARTING.

  6. Cuando la SageMaker IA comience a ejecutar el trabajo, su estado cambiará aRUNNING.

  7. Mientras la SageMaker IA ejecuta la tarea, AWS Batch supervisa su progreso y asigna los estados del servicio a los estados de las AWS Batch tareas. Para obtener más información sobre cómo se mapean los estados de las tareas de servicio, consulte Asignar el estado del trabajo del AWS Batch servicio al estado de la SageMaker IA

  8. Cuando se completa el trabajo de servicio, pasa a SUCCEEDED y cualquier resultado está listo para descargarse.

Requisitos previos

Antes de enviar un trabajo de servicio, asegúrese de tener:

Envíe un trabajo de servicio con la AWS CLI

A continuación, se muestra cómo enviar un trabajo de servicio mediante la 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"

Para obtener más información acerca de los parámetros serviceRequestPayload, consulte Cargas útiles de trabajos de servicio en AWS Batch.