Piloto automático Amazon SageMaker, un servicio de aprendizaje automático (ML) de bajo código que crea, entrena y ajusta automáticamente los mejores modelos de ML basados en datos tabulares, ahora está integrado con Canalizaciones de Amazon SageMaker, el primer servicio de integración continua y entrega continua (CI/CD) especialmente diseñado para ML. Esto permite la automatización de un flujo de extremo a extremo de creación de modelos ML utilizando Autopilot e integrando modelos en pasos posteriores de CI/CD.
Hasta ahora, para lanzar un experimento de Autopilot dentro de Pipelines, debe crear un flujo de trabajo de creación de modelos escribiendo un código de integración personalizado con Pipelines. lambda or Procesamiento pasos. Para más información, ver Mueva los modelos de aprendizaje automático de Amazon SageMaker Autopilot de la experimentación a la producción mediante Amazon SageMaker Pipelines.
Con la compatibilidad con Autopilot como un paso nativo dentro de Pipelines, ahora puede agregar un paso de capacitación automatizado (AutoMLStep) en Pipelines e invoque un experimento de piloto automático con Modo de entrenamiento de ensamblaje. Por ejemplo, si está creando un flujo de trabajo de ML de capacitación y evaluación para un caso de uso de detección de fraude con Pipelines, ahora puede iniciar un experimento de Autopilot utilizando el paso de AutoML, que ejecuta automáticamente varias pruebas para encontrar el mejor modelo en un conjunto de datos de entrada determinado. . Después de crear el mejor modelo usando el paso modelo, su rendimiento se puede evaluar en datos de prueba utilizando el Transformar paso y Paso de procesamiento para un script de evaluación personalizado dentro de Pipelines. Eventualmente, el modelo se puede registrar en el registro de modelos de SageMaker mediante el paso modelo en combinación con un Paso de condición.
En esta publicación, mostramos cómo crear un flujo de trabajo de ML de extremo a extremo para entrenar y evaluar un modelo de ML generado por SageMaker mediante el paso de AutoML recientemente lanzado en Pipelines y registrarlo con el registro de modelos de SageMaker. El modelo de ML con el mejor rendimiento se puede implementar en un punto final de SageMaker.
Descripción general del conjunto de datos
Utilizamos los disponibles públicamente Conjunto de datos de ingresos del censo de adultos de UCI de 1994 para predecir si una persona tiene un ingreso anual mayor a $50,000 por año. Este es un problema de clasificación binaria; las opciones para la variable objetivo de ingresos son <=50K o >50K.
El conjunto de datos contiene 32,561 16,281 filas para entrenamiento y validación y 15 XNUMX filas para pruebas con XNUMX columnas cada una. Esto incluye información demográfica sobre individuos y class
como la columna de destino que indica la clase de ingresos.
Nombre de columna | Descripción |
edad | ASESORIA CONTINUA |
clase de trabajo | Privado, Auto-emp-not-inc, Self-emp-inc, Gobierno federal, Gobierno local, Gobierno estatal, Sin pago, Nunca trabajó |
fnlwgt | ASESORIA CONTINUA |
educación | Licenciatura, algo de universidad, 11.º, graduación de HS, escuela profesional, Assoc-acdm, Assoc-voc, 9.º, 7.º-8.º, 12.º, maestría, 1.º-4.º, 10.º, doctorado, 5.º-6.º, preescolar |
educación-num | ASESORIA CONTINUA |
estado civil | Casado-civ-cónyuge, Divorciado, Nunca casado, Separado, Viudo, Casado-cónyuge-ausente, Casado-AF-cónyuge |
Ocupación. | Soporte técnico, Reparación artesanal, Otros servicios, Ventas, Gestión ejecutiva, Especialidad profesional, Limpiadores de manipuladores, Inspección de máquinas, Administración administrativa, Agricultura-pesca, Transporte-mudanza, Priv-house-serv, Servicio de protección, Fuerzas Armadas |
relación | Esposa, Hijo propio, Esposo, Fuera de la familia, Otro pariente, Soltero |
raza | Blanco, asiático-pac-isleño, amer-indio-esquimal, otro, negro |
vie | Mujer hombre |
ganancia capital | ASESORIA CONTINUA |
perdida de capital | ASESORIA CONTINUA |
horas por semana | ASESORIA CONTINUA |
patria | Estados Unidos, Camboya, Inglaterra, Puerto Rico, Canadá, Alemania, EE. UU. (Guam-USVI-etc), India, Japón, Grecia, Sur, China, Cuba, Irán, Honduras, Filipinas, Italia, Polonia, Jamaica , Vietnam, México, Portugal, Irlanda, Francia, República Dominicana, Laos, Ecuador, Taiwán, Haití, Colombia, Hungría, Guatemala, Nicaragua, Escocia, Tailandia, Yugoslavia, El-Salvador, Trinidad y Tobago, Perú, Hong, Holanda-Países Bajos |
clase | Clase de ingresos, ya sea <=50K o >50K |
Resumen de la solución
Usamos Pipelines para orquestar diferentes pasos de canalización necesarios para entrenar un modelo de piloto automático. Creamos y ejecutamos un Experimento de piloto automático como parte de un paso de AutoML como se describe en este tutorial.
Se requieren los siguientes pasos para este proceso de capacitación integral de Autopilot:
- Cree y supervise un trabajo de entrenamiento de Autopilot usando el
AutoMLStep
. - Cree un modelo de SageMaker usando
ModelStep
. Este paso obtiene los mejores metadatos y artefactos del modelo representados por Autopilot en el paso anterior. - Evalúe el modelo de Autopilot entrenado en un conjunto de datos de prueba usando
TransformStep
. - Compare el resultado de la ejecución anterior
TransformStep
con las etiquetas objetivo reales usandoProcessingStep
. - Registre el modelo de ML en el Registro de modelos de SageMaker usando
ModelStep
, si la métrica de evaluación obtenida anteriormente supera un umbral predefinido enConditionStep
. - Implemente el modelo ML como punto final de SageMaker con fines de prueba.
Arquitectura
El siguiente diagrama de arquitectura ilustra los diferentes pasos de canalización necesarios para empaquetar todos los pasos en una canalización de capacitación de SageMaker Autopilot reproducible, automatizada y escalable. Los archivos de datos se leen desde el depósito de S3 y los pasos de canalización se llaman secuencialmente.
Tutorial
Esta publicación proporciona una explicación detallada de los pasos de canalización. Revisamos el código y discutimos los componentes de cada paso. Para implementar la solución, consulte la cuaderno de ejemplo, que proporciona instrucciones paso a paso para implementar un flujo de trabajo de MLOps de AutoPilot mediante Pipelines.
Requisitos previos
Complete los siguientes requisitos previos:
Cuando el conjunto de datos esté listo para usar, debemos configurar Pipelines para establecer un proceso repetible para construir y entrenar automáticamente modelos ML usando Autopilot. usamos el SDK de SageMaker para definir, ejecutar y rastrear mediante programación una canalización de capacitación de ML de extremo a extremo.
Pasos de canalización
En las siguientes secciones, repasamos los diferentes pasos en la canalización de SageMaker, incluida la capacitación de AutoML, la creación de modelos, la inferencia por lotes, la evaluación y el registro condicional del mejor modelo. El siguiente diagrama ilustra todo el flujo de la tubería.
Paso de entrenamiento de AutoML
An Objeto AutoML se usa para definir la ejecución del trabajo de entrenamiento de Autopilot y se puede agregar a la canalización de SageMaker usando el AutoMLStep
clase, como se muestra en el siguiente código. Es necesario especificar el modo de entrenamiento de ensamblaje, pero se pueden ajustar otros parámetros según sea necesario. Por ejemplo, en lugar de permitir que el trabajo de AutoML infiera automáticamente el ML tipo de problema y métrica objetiva, estos podrían codificarse especificando el problem_type
y job_objective
parámetros pasados al objeto de AutoML.
Paso de creación del modelo
El paso de AutoML se encarga de generar varios modelos de ML candidatos, combinarlos y obtener el mejor modelo de ML. Los artefactos y metadatos del modelo se almacenan automáticamente y se pueden obtener llamando al get_best_auto_ml_model()
en el paso de entrenamiento de AutoML. Estos se pueden usar para crear un modelo de SageMaker como parte del paso Modelo:
Transformación por lotes y pasos de evaluación
Usamos la Objeto transformador para inferencia por lotes en el conjunto de datos de prueba, que luego se puede utilizar con fines de evaluación. Las predicciones de salida se comparan con las etiquetas de verdad reales o reales mediante una función de métricas de aprendizaje de Scikit. Evaluamos nuestros resultados en base a la Puntuación F1. Las métricas de rendimiento se guardan en un archivo JSON, al que se hace referencia al registrar el modelo en el paso siguiente.
Pasos de registro condicional
En este paso, registramos nuestro nuevo modelo de Autopilot en el registro de modelos de SageMaker, si supera el umbral de métrica de evaluación predefinido.
Crear y ejecutar la canalización
Después de definir los pasos, los combinamos en una canalización de SageMaker:
Los pasos se ejecutan en orden secuencial. La canalización ejecuta todos los pasos de un trabajo de AutoML mediante Autopilot y Pipelines para el entrenamiento, la evaluación del modelo y el registro del modelo.
Puede ver el nuevo modelo navegando al registro del modelo en la consola de Studio y abriendo AutoMLModelPackageGroup
. Elija cualquier versión de un trabajo de entrenamiento para ver las métricas objetivas en la Calidad del modelo .
Puede ver el informe de explicabilidad en el Explicabilidad pestaña para comprender las predicciones de su modelo.
Para ver el experimento de Autopilot subyacente para todos los modelos creados en AutoMLStep
, navega hacia el AutoML página y elija el nombre del trabajo.
Implementar el modelo
Después de haber revisado manualmente el rendimiento del modelo de ML, podemos implementar nuestro modelo recién creado en un punto final de SageMaker. Para esto, podemos ejecutar las celdas en el cuaderno que crean el extremo del modelo utilizando la configuración del modelo guardada en el registro del modelo de SageMaker.
Tenga en cuenta que este script se comparte con fines de demostración, pero se recomienda seguir una canalización de CI/CD más sólida para la implementación de producción para la inferencia de ML. Para obtener más información, consulte Crear, automatizar, administrar y escalar flujos de trabajo de aprendizaje automático con Amazon SageMaker Pipelines.
Resumen
Esta publicación describe un enfoque de canalización de aprendizaje automático fácil de usar para entrenar automáticamente modelos de aprendizaje automático tabulares (AutoML) mediante Autopilot, Pipelines y Studio. AutoML mejora la eficiencia de los profesionales de ML, acelerando el camino desde la experimentación de ML hasta la producción sin la necesidad de una amplia experiencia en ML. Describimos los pasos de canalización respectivos necesarios para la creación, evaluación y registro del modelo ML. Comience probando el cuaderno de ejemplo para entrenar e implementar sus propios modelos AutoML personalizados.
Para obtener más información sobre Autopilot y Pipelines, consulte Automatice el desarrollo de modelos con Amazon SageMaker Autopilot y Canalizaciones de Amazon SageMaker.
Un agradecimiento especial a todos los que contribuyeron al lanzamiento.: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu y Dewen Qi.
Acerca de los autores
Janisha Anand es gerente sénior de productos en el equipo de aprendizaje automático de código bajo/sin código de SageMaker, que incluye SageMaker Autopilot. Le gusta el café, mantenerse activa y pasar tiempo con su familia.
marcelo aberle es un ingeniero de ML en AWS AI. Él ayuda Laboratorio de soluciones de Amazon ML los clientes construyen sistemas y marcos ML(-Ops) escalables. En su tiempo libre, disfruta del senderismo y el ciclismo en el Área de la Bahía de San Francisco.
Geremy Cohen es arquitecto de soluciones en AWS, donde ayuda a los clientes a crear soluciones de vanguardia basadas en la nube. En su tiempo libre, disfruta de caminatas cortas en la playa, explora el área de la bahía con su familia, arregla cosas en la casa, rompe cosas en la casa y hace barbacoas.
Shenghua Yue es ingeniero de desarrollo de software en Amazon SageMaker. Se enfoca en crear herramientas y productos de ML para los clientes. Fuera del trabajo, disfruta del aire libre, el yoga y el senderismo.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.Haga clic aquí
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/launch-amazon-sagemaker-autopilot-experiments-directly-from-within-amazon-sagemaker-pipelines-to-easily-automate-mlops-workflows/