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:
-
AWS Batch recebe sua
SubmitServiceJob
solicitação e valida os parâmetros AWS Batch específicos. OserviceRequestPayload
é passado sem validação. -
O trabalho entra no
SUBMITTED
estado e é colocado na fila de trabalhos especificada -
AWS Batch avalia se há capacidade disponível no ambiente de serviço para
RUNNABLE
trabalhos na frente da fila -
Se a capacidade estiver disponível, o trabalho será transferido para a IA
SCHEDULED
e o trabalho será passado para a SageMaker IA -
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 para
STARTING
. -
Quando a SageMaker IA começa a executar o trabalho, seu status é alterado para
RUNNING
. -
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
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:
-
Ambiente de serviço — Um ambiente de serviço que define limites de capacidade. Para obter mais informações, consulte Crie um ambiente de serviço em AWS Batch.
-
SageMaker fila de trabalhos — Uma fila de SageMaker trabalhos para fornecer agendamento de trabalhos. Para obter mais informações, consulte Crie uma fila SageMaker de trabalhos de treinamento em AWS Batch.
-
Permissões do IAM — Permissões para criar e gerenciar filas de AWS Batch trabalhos e ambientes de serviço. Para obter mais informações, consulte AWS Batch Políticas, funções e permissões do IAM.
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.