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 trabajos de servicio a AWS Batch, usa 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 enviar el 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 el envío del trabajo de servicio
Cuando envíes un trabajo de servicio, AWS Batch sigue este flujo de trabajo:
-
AWS Batch recibe su
SubmitServiceJobsolicitud y valida los parámetros AWS Batch específicos.serviceRequestPayloadse pasa sin validación. -
El trabajo entra en el estado
SUBMITTEDy se coloca en la cola de trabajos especificada -
AWS Batch evalúa si hay capacidad disponible en el entorno de servicio para los
RUNNABLEtrabajos que se encuentran al principio de la cola -
Si hay capacidad disponible, el trabajo se traslada a AI
SCHEDULEDy se ha transferido a AI SageMaker -
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á a
STARTING. -
Cuando la SageMaker IA comience a ejecutar el trabajo, su estado cambiará a
RUNNING. -
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 asignan los estados de las tareas de servicio, consulte Asignar el estado del trabajo del AWS Batch servicio al estado de la SageMaker IA.
Cuando se completa el trabajo de servicio, pasa a
SUCCEEDEDy cualquier salida estará lista para descargarse.
Requisitos previos
Antes de enviar un trabajo de servicio, asegúrese de disponer de lo siguiente:
-
Entorno de servicio: entorno de servicio que define los límites de capacidad. Para obtener más información, consulte Creación de un entorno de servicio en AWS Batch.
-
SageMaker cola de trabajos: cola de SageMaker trabajos que permite programar los trabajos. Para obtener más información, consulte Creación de una cola de trabajos de entrenamiento de SageMaker en AWS Batch.
-
Permisos de IAM: permisos para crear y administrar colas de trabajos y entornos de servicio de AWS Batch . Para obtener más información, consulte AWS Batch Políticas, funciones y permisos de IAM.
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.