Previsão em tempo real - SageMaker IA da Amazon

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á.

Previsão em tempo real

A previsão em tempo real é útil quando você precisa gerar previsões on-the-fly, como para aplicativos que exigem respostas imediatas ou ao fazer previsões para pontos de dados individuais.

Ao implantar o modelo AutoML como um endpoint em tempo real, você pode gerar predições sob demanda e minimizar a latência entre o recebimento de novos dados e a obtenção de predições. Isso torna a previsão em tempo real adequada para aplicações que exigem recursos de previsão imediatos, personalizados ou orientados por eventos.

Para previsão em tempo real, o conjunto de dados deve ser um subconjunto do conjunto de dados de entrada. O endpoint em tempo real tem um tamanho de dados de entrada de aproximadamente 6 MB e uma limitação de tempo limite de resposta de 60 segundos. Recomendamos trazer um ou alguns itens por vez.

Você pode usar SageMaker APIs para recuperar o melhor candidato de um trabalho do AutoML e, em seguida, criar SageMaker um endpoint de IA usando esse candidato.

Como alternativa, você pode escolher a opção de implantação automática ao criar seu experimento de Autopilot. Para obter informações sobre como configurar a implantação automática de modelos, consulte Como habilitar a implantação automática.

Para criar um endpoint de SageMaker IA usando seu melhor candidato a modelo:
  1. Recupere os detalhes do trabalho de AutoML.

    O exemplo de AWS CLI comando a seguir usa a API DescribeAutoMLJobV2 para obter detalhes da tarefa do AutoML, incluindo as informações sobre o melhor candidato a modelo.

    aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
  2. Extraia a definição do contêiner InferenceContainerspara o melhor candidato a modelo.

    Uma definição de contêiner é o ambiente em contêiner usado para hospedar o modelo de SageMaker IA treinado para fazer previsões.

    BEST_CANDIDATE=$(aws sagemaker describe-auto-ml-job-v2 \ --auto-ml-job-name job-name --region region \ --query 'BestCandidate.InferenceContainers[0]' \ --output json

    Esse comando extrai a definição do contêiner para o melhor candidato a modelo e a armazena na variável BEST_CANDIDATE.

  3. Crie um modelo de SageMaker IA usando a melhor definição de contêiner candidato.

    Use as definições de contêiner das etapas anteriores para criar um modelo de SageMaker IA usando a CreateModelAPI.

    aws sagemaker create-model \ --model-name 'your-candidate-name>' \ --primary-container "$BEST_CANDIDATE" --execution-role-arn 'execution-role-arn>' \ --region 'region>

    O --execution-role-arn parâmetro especifica a função do IAM que a SageMaker IA assume ao usar o modelo para inferência. Para obter detalhes sobre as permissões necessárias para essa função, consulte CreateModel API: Permissões da função de execução.

  4. Crie uma configuração de endpoint de SageMaker IA usando o modelo.

    O AWS CLI comando a seguir usa a CreateEndpointConfigAPI para criar uma configuração de endpoint.

    aws sagemaker create-endpoint-config \ --production-variants file://production-variants.json \ --region 'region'

    Onde o arquivo production-variants.json contém a configuração do modelo, incluindo o nome do modelo e o tipo de instância.

    nota

    Recomendamos usar instâncias m5.12xlarge para previsão em tempo real.

    [ { "VariantName": "variant-name", "ModelName": "model-name", "InitialInstanceCount": 1, "InstanceType": "m5.12xlarge" } ] }
  5. Crie o endpoint de SageMaker IA usando a configuração do endpoint.

    O AWS CLI exemplo a seguir usa a CreateEndpointAPI para criar o endpoint.

    aws sagemaker create-endpoint \ --endpoint-name 'endpoint-name>' \ --endpoint-config-name 'endpoint-config-name' \ --region 'region'

    Verifique o progresso da implantação do endpoint de inferência em tempo real usando a DescribeEndpointAPI. Veja o AWS CLI comando a seguir como exemplo.

    aws sagemaker describe-endpoint \ --endpoint-name 'endpoint-name' \ --region 'region'

    Depois que EndpointStatus muda para InService, o endpoint está pronto para ser usado para inferência em tempo real.

  6. Invoque o endpoint de SageMaker IA para fazer previsões.
    aws sagemaker invoke-endpoint \ --endpoint-name 'endpoint-name' \ --region 'region' \ --body file://input-data-in-bytes.json \ --content-type 'application/json' outfile

    Onde o arquivo input-data-in-bytes.json contém os dados de entrada para a predição.