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.
Implemente la lógica de preprocesamiento en un modelo de aprendizaje automático en un único punto final mediante una canalización de inferencias en Amazon SageMaker
Creado por Mohan Gowda Purushothama (AWS), Gabriel Rodríguez García (AWS) y Mateusz Zaremba (AWS)
Resumen
Este patrón explica cómo implementar varios objetos del modelo de canalización en un único punto final mediante una canalización de inferencia en Amazon SageMaker. El objeto del modelo de canalización representa diferentes etapas del flujo de trabajo del machine learning (ML), como el preprocesamiento, la inferencia de modelos y el posprocesamiento. Para ilustrar el despliegue de objetos del modelo de canalización conectados en serie, este patrón muestra cómo implementar un contenedor Scikit-learn de preprocesamiento y un modelo de regresión basado en el algoritmo de aprendizaje lineal incorporado en él. SageMaker La implementación se aloja en un único punto final. SageMaker
nota
La implementación de este patrón usa el tipo de instancia ml.m4.2xlarge. Le recomendamos usar un tipo de instancia que se ajuste a sus requisitos de tamaño de datos y a la complejidad de su flujo de trabajo. Para obtener más información, consulta los SageMaker precios de Amazon
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Amazon SageMaker Python SDK
y biblioteca Boto3 Función de AWS Identity and Access Management (AWS IAM) con SageMaker permisos básicos y permisos de Amazon Simple Storage Service (Amazon S3)
Versiones de producto
Arquitectura
Pila de tecnología de destino
Amazon Elastic Container Registry (Amazon ECR)
Amazon SageMaker
Amazon SageMaker Studio
Amazon Simple Storage Service (Amazon S3)
Punto final de inferencia en tiempo real para Amazon SageMaker
Arquitectura de destino
El siguiente diagrama muestra la arquitectura para el despliegue de un objeto del modelo de SageMaker canalización de Amazon.

En el diagrama, se muestra el siguiente flujo de trabajo:
Un SageMaker cuaderno despliega un modelo de canalización.
Un bucket de S3 almacena los artefactos del modelo.
Amazon ECR obtiene las imágenes del contenedor de origen del bucket de S3.
Herramientas
Herramientas de AWS
Amazon Elastic Container Registry (Amazon ECR) es un servicio de registro de imágenes de contenedor administrado que es seguro, escalable y fiable.
Amazon SageMaker es un servicio de aprendizaje automático gestionado que le ayuda a crear y entrenar modelos de aprendizaje automático y, a continuación, a implementarlos en un entorno hospedado listo para la producción.
Amazon SageMaker Studio es un entorno de desarrollo integrado (IDE) basado en la web para el aprendizaje automático que le permite crear, entrenar, depurar, implementar y supervisar sus modelos de aprendizaje automático.
Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
Código
El código de este patrón está disponible en GitHub Inference Pipeline con los repositorios Scikit-learn
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Prepare el conjunto de datos para la tarea de regresión. | Abre una libreta en Amazon SageMaker Studio. Para importar todas las bibliotecas necesarias e inicializar su entorno de trabajo, utilice el siguiente código de ejemplo en su bloc de notas:
Para descargar un conjunto de datos de muestra, añada el siguiente código a su bloc de notas:
notaEl ejemplo de este patrón utiliza el conjunto de datos Abalone | Científico de datos |
Cargue el conjunto de datos en un bucket de S3. | En el bloc de notas en el que preparó su conjunto de datos anteriormente, añada el siguiente código para cargar los datos de muestra en un bucket de S3:
| Científico de datos |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Prepare el script preprocessor.py. |
| Científico de datos |
Cree el objeto del SKLearn preprocesador. | Para crear un objeto SKLearn preprocesador (denominado SKLearn Estimator) que pueda incorporar a su proceso de inferencia final, ejecute el siguiente código en su bloc de notas: SageMaker
| Científico de datos |
Pruebe la inferencia del preprocesador. | Para confirmar que el preprocesador está definido correctamente, inicie un trabajo de transformación por lotes introduciendo el siguiente código en su bloc de notas: SageMaker
|
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un objeto modelo. | Para crear un objeto modelo basado en el algoritmo de aprendizaje lineal, introduzca el siguiente código en su SageMaker bloc de notas:
El código anterior recupera la imagen de Docker de Amazon ECR correspondiente del registro público de Amazon ECR del modelo, crea un objeto estimador y, a continuación, utiliza ese objeto para entrenar el modelo de regresión. | Científico de datos |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Implemente el modelo de canalización. | Para crear un objeto de modelo de canalización (es decir, un objeto de preprocesador) e implementar el objeto, introduzca el siguiente código en su SageMaker bloc de notas:
notaPuede ajustar el tipo de instancia utilizado en el objeto del modelo para adaptarlo a sus necesidades. | Científico de datos |
Pruebe la inferencia. | Para confirmar que el punto final funciona correctamente, ejecute el siguiente código de inferencia de ejemplo en su SageMaker bloc de notas:
| Científico de datos |