Inteligencia de datos de Platón.
Búsqueda vertical y Ai.

Inicie experimentos de Amazon SageMaker Autopilot directamente desde Amazon SageMaker Pipelines para automatizar fácilmente los flujos de trabajo de MLOps

Fecha:

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 usando ProcessingStep.
  • 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 en ConditionStep.
  • 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.

automl = AutoML( role=execution_role, target_attribute_name=target_attribute_name, sagemaker_session=pipeline_session, total_job_runtime_in_seconds=max_automl_runtime, mode="ENSEMBLING",
)
train_args = automl.fit( inputs=[ AutoMLInput( inputs=s3_train_val, target_attribute_name=target_attribute_name, channel_type="training", ) ]
)
step_auto_ml_training = AutoMLStep( name="AutoMLTrainingStep", step_args=train_args,
)

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:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model( execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

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:

pipeline = Pipeline( name="AutoMLTrainingPipeline", parameters=[ instance_count, instance_type, max_automl_runtime, model_approval_status, model_package_group_name, model_registration_metric_threshold, s3_bucket, target_attribute_name, ], steps=[ step_auto_ml_training, step_create_model, step_batch_transform, step_evaluation, step_conditional_registration, ], sagemaker_session=pipeline_session,
)

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.

punto_img

Información más reciente

punto_img