Previsión en tiempo real - Amazon SageMaker AI

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.

Previsión en tiempo real

La previsión en tiempo real resulta útil cuando se necesitan generar predicciones on-the-fly, como en el caso de aplicaciones que requieren respuestas inmediatas o cuando se realizan previsiones para puntos de datos individuales.

Al implementar su modelo AutoML como un punto de conexión en tiempo real, puede generar pronósticos bajo demanda y minimizar la latencia entre la recepción de nuevos datos y la obtención de predicciones. Esto hace que la previsión en tiempo real sea adecuada para aplicaciones que requieren capacidades de previsión inmediatas, personalizadas o basadas en eventos.

Para la previsión en tiempo real, el conjunto de datos debe ser un subconjunto del conjunto de datos de entrada. El punto de conexión en tiempo real tiene un tamaño de datos de entrada de aproximadamente 6 MB y un límite de tiempo de respuesta de 60 segundos. Recomendamos incluir uno o varios artículos a la vez.

Se puede utilizar SageMaker APIs para recuperar al mejor candidato de un trabajo de AutoML y, a continuación, crear un punto final de SageMaker IA con ese candidato.

También puede elegir la opción de implementación automática al crear el experimento de Piloto automático. Para obtener más información sobre cómo configurar la implementación automática de modelos, consulte Cómo habilitar la implementación automática.

Para crear un punto final de SageMaker IA utilizando tu mejor modelo candidato:
  1. Recuperación de los detalles del trabajo de AutoML.

    El siguiente ejemplo de AWS CLI comando utiliza la API DescribeAutoMLJobV2 para obtener detalles del trabajo de AutoML, incluida la información sobre el mejor modelo candidato.

    aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
  2. Extraiga la definición del InferenceContainerscontenedor del mejor modelo candidato.

    Una definición de contenedor es el entorno contenerizado que se utiliza para alojar el modelo de SageMaker IA entrenado para realizar predicciones.

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

    Este comando extrae la definición del contenedor para el mejor modelo candidato y la almacena en la variable BEST_CANDIDATE.

  3. Cree un modelo de SageMaker IA utilizando la mejor definición de contenedor candidata.

    Usa las definiciones de contenedor de los pasos anteriores para crear un modelo de SageMaker IA mediante la CreateModelAPI.

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

    El --execution-role-arn parámetro especifica la función de IAM que asume la SageMaker IA al utilizar el modelo para la inferencia. Para obtener más información sobre los permisos necesarios para este rol, consulte CreateModel API: Permisos del rol de ejecución.

  4. Cree una configuración de punto final de SageMaker IA utilizando el modelo.

    El siguiente AWS CLI comando usa la CreateEndpointConfigAPI para crear una configuración de punto final.

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

    Donde el archivo production-variants.json contiene la configuración del modelo, incluidos el nombre del modelo y el tipo de instancia.

    nota

    Se recomienda utilizar instancias m5.12xlarge para la previsión en tiempo real.

    [ { "VariantName": "variant-name", "ModelName": "model-name", "InitialInstanceCount": 1, "InstanceType": "m5.12xlarge" } ] }
  5. Cree el punto final de SageMaker IA mediante la configuración del punto final.

    En el siguiente AWS CLI ejemplo, se utiliza la CreateEndpointAPI para crear el punto final.

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

    Compruebe el progreso de la implementación de su punto final de inferencia en tiempo real mediante la DescribeEndpointAPI. Consulte el siguiente AWS CLI comando como ejemplo.

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

    Cuando EndpointStatus cambie a InService, el punto de conexión estará listo para usarse en la inferencia en tiempo real.

  6. Invoca el punto final de la SageMaker IA para hacer predicciones.
    aws sagemaker invoke-endpoint \ --endpoint-name 'endpoint-name' \ --region 'region' \ --body file://input-data-in-bytes.json \ --content-type 'application/json' outfile

    Donde el archivo input-data-in-bytes.json contiene los datos de entrada para la predicción.