View a markdown version of this page

Real-time previsión - 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.

Real-time previsión

Real-time la previsión es útil cuando se necesita generar predicciones sobre la marcha, por ejemplo, para aplicaciones que requieren respuestas inmediatas o cuando se pronostican 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.

Puede usar SageMaker las API para recuperar el 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 usa la DescribeAutoMLJobV2API para obtener detalles del trabajo de AutoML, incluida la información sobre el mejor candidato para el modelo.

    aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
  2. Extraiga la definición del contenedor de InferenceContainers para el mejor candidato modelo.

    Una definición de contenedor es el entorno contenerizado que se utiliza para alojar el modelo de SageMaker IA entrenado para hacer 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 del 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.