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 ainda não tiver um perfil de execução, você deverá criar um 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 serviço
Quando você envia um trabalho de serviço, AWS Batch segue este fluxo de trabalho:
-
AWS Batch recebe sua
SubmitServiceJobsolicitação e valida os parâmetros AWS Batch específicos. OserviceRequestPayloadpassa sem validação. -
O trabalho entra no estado
SUBMITTEDe é colocado na fila de trabalhos especificada -
AWS Batch avalia se há capacidade disponível no ambiente de serviço para
RUNNABLEtrabalhos na frente da fila -
Se a capacidade estiver disponível, o trabalho será transferido para a IA
SCHEDULEDe 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 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
SUCCEEDEDe qualquer saída está pronta para o download.
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 Criar uma fila de trabalhos do SageMaker Training no AWS Batch.
-
Permissões do IAM: permissões para criar e gerenciar filas de trabalhos AWS Batch 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.