Envie um trabalho de serviço em AWS Batch - AWS Batch

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Envie um trabalho de serviço em AWS Batch

Para enviar trabalhos de serviço para AWS Batch, você usa a SubmitServiceJobAPI. Você pode enviar trabalhos usando o SDK AWS CLI ou.

Se você ainda não tiver uma função de execução, deverá criar uma antes de enviar seu trabalho de serviço. Para criar a função de execução de SageMaker IA, consulte Como usar funções de execução de SageMaker IA no guia do desenvolvedor de SageMaker IA.

Fluxo de trabalho de envio de trabalhos de

Quando você envia um trabalho de serviço, AWS Batch segue este fluxo de trabalho:

  1. AWS Batch recebe sua SubmitServiceJob solicitação e valida os parâmetros AWS Batch específicos. O serviceRequestPayload é passado sem validação.

  2. O trabalho entra no SUBMITTED estado e é colocado na fila de trabalhos especificada

  3. AWS Batch avalia se há capacidade disponível no ambiente de serviço para RUNNABLE trabalhos na frente da fila

  4. Se a capacidade estiver disponível, o trabalho será transferido para a IA SCHEDULED e o trabalho será passado para a SageMaker IA

  5. Quando a capacidade for adquirida e a SageMaker IA fizer o download dos dados do trabalho de serviço, o trabalho de serviço iniciará a inicialização e o trabalho será alterado paraSTARTING.

  6. Quando a SageMaker IA começa a executar o trabalho, seu status é alterado paraRUNNING.

  7. Enquanto a SageMaker IA executa o trabalho, AWS Batch monitora seu progresso e mapeia os estados do serviço para os estados do AWS Batch trabalho. Para obter detalhes sobre como os estados dos trabalhos de serviço são mapeados, consulte Mapeando AWS Batch o status do trabalho do serviço para o status de SageMaker IA

  8. Quando o trabalho de serviço é concluído, ele passa para SUCCEEDED e qualquer saída está pronta para ser baixada.

Pré-requisitos

Antes de enviar um trabalho de serviço, verifique se você tem:

Envie um trabalho de serviço com a AWS CLI

Veja a seguir como enviar um trabalho de serviço usando a 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 obter mais informações sobre o parâmetro serviceRequestPayload, consulte Cargas úteis de trabalho de serviço em AWS Batch.