Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Ejecutar predicciones en tiempo real con una canalización de inferencia

Modo de enfoque
Ejecutar predicciones en tiempo real con una canalización de inferencia - 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.

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.

Puede utilizar modelos entrenados en una canalización de inferencia para realizar predicciones en tiempo real directamente sin realizar preprocesamiento externo. Al configurar la canalización, puede optar por utilizar los transformadores de funciones integrados que ya están disponibles en Amazon SageMaker AI. O bien, puede implementar su propia lógica de transformación con solo unas pocas líneas de código de scikit-learn o Spark.

MLeap, un formato de serialización y motor de ejecución para canalizaciones de aprendizaje automático, es compatible con Spark, scikit-learn y TensorFlow para entrenar canalizaciones y exportarlas a una canalización serializada denominada Bundle. MLeap Puedes volver a deserializar los paquetes para convertirlos en Spark para obtener una puntuación por lotes o en tiempo de ejecución para potenciar los servicios de API en tiempo real. MLeap

Los contenedores de una canalización escuchan en el puerto especificado en la variable de entorno SAGEMAKER_BIND_TO_PORT (en lugar de 8080). Cuando se ejecuta en una canalización de inferencias, la SageMaker IA proporciona automáticamente esta variable de entorno a los contenedores. Si esta variable de entorno no está presente, los contenedores de manera predeterminada asignan el uso del puerto 8080. Para indicar que el contenedor cumple con este requisito, ejecute el siguiente comando para añadir una etiqueta a su Dockerfile:

LABEL com.amazonaws.sagemaker.capabilities.accept-bind-to-port=true

Si su contenedor necesita escuchar en otro puerto, elija un puerto que esté en el intervalo especificado por la variable de entorno SAGEMAKER_SAFE_PORT_RANGE. Especifique el valor como un rango inclusivo en el formato"XXXX-YYYY", donde XXXX y YYYY son números enteros de varios dígitos. SageMaker La IA proporciona este valor automáticamente cuando se ejecuta el contenedor en una canalización de varios contenedores.

nota

Para utilizar imágenes de Docker personalizadas en una canalización que incluye algoritmos integrados de SageMaker IA, necesitas una política de Amazon Elastic Container Registry (Amazon ECR). Su repositorio de Amazon ECR debe conceder permiso a la SageMaker IA para extraer la imagen. Para obtener más información, consulte Solución de problemas de permisos de Amazon ECR para canalizaciones de inferencia.

Creación e implementación de un punto de conexión de canalización de inferencia

El siguiente código crea e implementa un modelo de canalización de inferencias en tiempo real con SparkML y XGBoost modelos en serie con el SDK de IA. SageMaker

from sagemaker.model import Model from sagemaker.pipeline_model import PipelineModel from sagemaker.sparkml.model import SparkMLModel sparkml_data = 's3://{}/{}/{}'.format(s3_model_bucket, s3_model_key_prefix, 'model.tar.gz') sparkml_model = SparkMLModel(model_data=sparkml_data) xgb_model = Model(model_data=xgb_model.model_data, image=training_image) model_name = 'serial-inference-' + timestamp_prefix endpoint_name = 'serial-inference-ep-' + timestamp_prefix sm_model = PipelineModel(name=model_name, role=role, models=[sparkml_model, xgb_model]) sm_model.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge', endpoint_name=endpoint_name)

Solicitar inferencia en tiempo real desde un punto de conexión de canalización de inferencia

El ejemplo siguiente muestra cómo realizar predicciones en tiempo real llamando a un punto de conexión de inferencia y trasladando una carga de solicitud en formato JSON:

import sagemaker from sagemaker.predictor import json_serializer, json_deserializer, Predictor payload = { "input": [ { "name": "Pclass", "type": "float", "val": "1.0" }, { "name": "Embarked", "type": "string", "val": "Q" }, { "name": "Age", "type": "double", "val": "48.0" }, { "name": "Fare", "type": "double", "val": "100.67" }, { "name": "SibSp", "type": "double", "val": "1.0" }, { "name": "Sex", "type": "string", "val": "male" } ], "output": { "name": "features", "type": "double", "struct": "vector" } } predictor = Predictor(endpoint=endpoint_name, sagemaker_session=sagemaker.Session(), serializer=json_serializer, content_type='text/csv', accept='application/json' print(predictor.predict(payload))

La respuesta que obtiene de predictor.predict(payload) es el resultado de la inferencia del modelo.

Ejemplo de canalización de inferencia en tiempo real

Puedes ejecutar este cuaderno de ejemplo con el SKLearn predictor que muestra cómo implementar un punto final, ejecutar una solicitud de inferencia y, a continuación, deserializar la respuesta. Encuentra este cuaderno y otros ejemplos en el GitHub repositorio de SageMaker ejemplos de Amazon.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.