Logotipo de Zephyrnet

Ponga en producción los modelos de aprendizaje automático creados en Amazon SageMaker Canvas con Amazon SageMaker Model Registry.

Fecha:

Ahora puede registrar modelos de aprendizaje automático (ML) integrados Lienzo de Amazon SageMaker con un solo clic a la Registro de modelos de Amazon SageMaker, lo que le permite operacionalizar modelos ML en producción. Canvas es una interfaz visual que permite a los analistas de negocios generar predicciones precisas de ML por sí mismos, sin necesidad de tener experiencia en ML ni tener que escribir una sola línea de código. Si bien es un excelente lugar para el desarrollo y la experimentación, para obtener valor de estos modelos, es necesario ponerlos en funcionamiento, es decir, implementarlos en un entorno de producción donde se puedan usar para hacer predicciones o tomar decisiones. Ahora, con la integración con el registro del modelo, puede almacenar todos los artefactos del modelo, incluidos los metadatos y las líneas base de las métricas de rendimiento, en un repositorio central y conectarlos a los procesos CI/CD de implementación del modelo existente.

El registro de modelos es un repositorio que cataloga modelos de ML, administra varias versiones de modelos, asocia metadatos (como métricas de capacitación) con un modelo, administra el estado de aprobación de un modelo y los implementa en producción. Después de crear una versión del modelo, normalmente desea evaluar su rendimiento antes de implementarlo en un punto final de producción. Si cumple con sus requisitos, puede actualizar el estado de aprobación de la versión del modelo a aprobado. Establecer el estado en aprobado puede iniciar la implementación de CI/CD para el modelo. Si la versión del modelo no cumple con sus requisitos, puede actualizar el estado de aprobación a rechazado en el registro, lo que evita que el modelo se implemente en un entorno escalado.

Un registro de modelos juega un papel clave en el proceso de implementación de modelos porque empaqueta toda la información del modelo y permite la automatización de la promoción del modelo a los entornos de producción. Las siguientes son algunas formas en que un registro modelo puede ayudar a poner en funcionamiento los modelos ML:

  • Control de versiones – Un registro de modelo le permite rastrear diferentes versiones de sus modelos ML, lo cual es esencial al implementar modelos en producción. Al realizar un seguimiento de las versiones del modelo, puede volver fácilmente a una versión anterior si una nueva versión causa problemas.
  • Colaboración – Un registro de modelos permite la colaboración entre científicos de datos, ingenieros y otras partes interesadas al proporcionar una ubicación centralizada para almacenar, compartir y acceder a modelos. Esto puede ayudar a agilizar el proceso de implementación y garantizar que todos trabajen con el mismo modelo.
  • Gobierno – Un registro modelo puede ayudar con el cumplimiento y la gobernanza al proporcionar un historial auditable de los cambios e implementaciones del modelo.

En general, un registro modelo puede ayudar a agilizar el proceso de implementación de modelos ML en producción al proporcionar control de versiones, colaboración, supervisión y gobernanza.

Resumen de la solución

Para nuestro caso de uso, estamos asumiendo el rol de un usuario comercial en el departamento de marketing de un operador de telefonía móvil, y hemos creado con éxito un modelo ML en Canvas para identificar a los clientes con riesgo potencial de abandono. Gracias a las predicciones generadas por nuestro modelo, ahora queremos mover esto de nuestro entorno de desarrollo a producción. Sin embargo, antes de que nuestro modelo se implemente en un punto final de producción, debe ser revisado y aprobado por un equipo central de MLOps. Este equipo es responsable de administrar versiones de modelos, revisar todos los metadatos asociados (como métricas de capacitación) con un modelo, administrar el estado de aprobación de cada modelo de ML, implementar modelos aprobados en producción y automatizar la implementación de modelos con CI/CD. Para agilizar el proceso de implementación de nuestro modelo en producción, aprovechamos la integración de Canvas con el registro del modelo y registramos nuestro modelo para que nuestro equipo de MLOps lo revise.

Los pasos del flujo de trabajo son los siguientes:

  1. Cargue un nuevo conjunto de datos con la población actual de clientes en Canvas. Para obtener la lista completa de fuentes de datos admitidas, consulte Importar datos en Canvas.
  2. Cree modelos de ML y analice sus métricas de rendimiento. Consulte las instrucciones para construir un modelo ML personalizado en Canvas y evaluar el rendimiento del modelo.
  3. Registre las versiones con mejor rendimiento al registro modelo para su revisión y aprobación.
  4. Implementar la versión del modelo aprobado a un punto final de producción para la inferencia en tiempo real.

Puede realizar los pasos 1 a 3 en Canvas sin escribir una sola línea de código.

Requisitos previos

Para este tutorial, asegúrese de que se cumplan los siguientes requisitos previos:

  1. Para registrar versiones de modelos en el registro de modelos, el administrador de Canvas debe otorgar los permisos necesarios al usuario de Canvas, que puede administrar en el dominio de SageMaker que aloja su aplicación de Canvas. Para obtener más información, consulte el Guía para desarrolladores de Amazon SageMaker. Al otorgar permisos de usuario de Canvas, debe elegir si permitir que el usuario registre sus versiones de modelo en la misma cuenta de AWS.

  1. Implemente los requisitos previos mencionados en Prediga la rotación de clientes con aprendizaje automático sin código utilizando Amazon SageMaker Canvas.

Ahora debería tener tres versiones de modelo entrenadas en datos históricos de predicción de abandono en Canvas:

  • V1 capacitado con las 21 funciones y configuración de compilación rápida con una puntuación de modelo del 96.903 %
  • V2 capacitado con las 19 funciones (funciones de teléfono y estado eliminadas) y configuración de compilación rápida y precisión mejorada del 97.403 %
  • V3 entrenado con configuración de compilación estándar con una puntuación de modelo del 97.03 %

Usar el modelo de predicción de abandono de clientes

permitir Mostrar métricas avanzadas y revisar las métricas objetivas asociadas con cada versión del modelo para que podamos seleccionar el modelo con mejor rendimiento para el registro en el registro de modelos.

Según las métricas de rendimiento, seleccionamos la versión 2 para registrarla.

El registro de modelos rastrea todas las versiones de modelos que entrena para resolver un problema particular en un grupo de modelos. Cuando entrena un modelo de Canvas y lo registra en el registro de modelos, se agrega a un grupo de modelos como una nueva versión del modelo.

En el momento del registro, se crea automáticamente un grupo de modelos dentro del registro de modelos. Opcionalmente, puede cambiarle el nombre a su elección o usar un grupo de modelos existente en el registro de modelos.

Para este ejemplo, usamos el nombre del grupo de modelos generado automáticamente y elegimos Añada.

Nuestra versión de modelo ahora debería estar registrada en el grupo de modelos en el registro de modelos. Si tuviéramos que registrar otra versión del modelo, se registraría en el mismo grupo de modelos.

El estado de la versión del modelo debería haber cambiado de No registrado a Miembro.

Cuando pasamos el mouse sobre el estado, podemos revisar los detalles del registro del modelo, que incluyen el nombre del grupo del modelo, el ID de la cuenta del registro del modelo y el estado de aprobación. Inmediatamente después del registro, el estado cambia a Pendiente de aprobación, lo que significa que este modelo está registrado en el registro de modelos pero está pendiente de revisión y aprobación por parte de un científico de datos o un miembro del equipo de MLOps y solo se puede implementar en un punto final si se aprueba.

Ahora vamos a navegar a Estudio Amazon SageMaker y asumir el papel de un miembro del equipo de MLOps. Bajo fexibles en el panel de navegación, elija registro modelo para abrir la página de inicio del registro de modelos.

Podemos ver el grupo modelop canvas-Churn-Prediction-Model que Canvas creó automáticamente para nosotros.

Elija el modelo para revisar todas las versiones registradas en este grupo de modelos y luego revise los detalles del modelo correspondiente.

Si abre los detalles de la versión 1, podemos ver que el Actividad La pestaña realiza un seguimiento de todos los eventos que suceden en el modelo.

En Calidad del modelo pestaña, podemos revisar las métricas del modelo, las curvas de precisión/recuperación y los gráficos de matriz de confusión para comprender el rendimiento del modelo.

En Explicabilidad pestaña, podemos revisar las características que más influyeron en el rendimiento del modelo.

Una vez que hayamos revisado los artefactos del modelo, podemos cambiar el estado de aprobación de Pendiente a Aprobado.

Ahora podemos ver la actividad actualizada.

El usuario comercial de Canvas ahora podrá ver que el estado del modelo registrado cambió de Pendiente de aprobación a Aprobado.

Como miembro del equipo de MLOps, debido a que hemos aprobado este modelo de ML, implementémoslo en un punto final.

En Studio, vaya a la página de inicio del registro de modelos y elija el canvas-Churn-Prediction-Model grupo modelo. Elija la versión a implementar y vaya a la Ajustes .

Examine para obtener los detalles del ARN del paquete del modelo de la versión del modelo seleccionado en el registro del modelo.

Abra un cuaderno en Studio y ejecute el siguiente código para implementar el modelo en un punto final. Reemplace el ARN del paquete del modelo con su propio ARN del paquete del modelo.

from sagemaker import ModelPackage
from time import gmtime, strftime
import boto3
import os
import pandas as pd
import sagemaker
import time
from datetime import datetime
from sagemaker import ModelPackage boto_session = boto3.session.Session()
sagemaker_client = boto_session.client("sagemaker")
sagemaker_session = sagemaker.session.Session(
boto_session=boto_session, sagemaker_client=sagemaker_client
)
role=(sagemaker.get_execution_role())
model_package_arn = 'arn:aws:sagemaker:us-west-2:1234567890:model-package/canvas-churn-prediction-model/3'
model = ModelPackage(role=role,
model_package_arn=model_package_arn,
sagemaker_session=sagemaker_session)
model.deploy(initial_instance_count=1, instance_type='ml.m5.xlarge')

Después de que se crea el punto final, puede verlo rastreado como un evento en el Actividad pestaña del registro del modelo.

Puede hacer doble clic en el nombre del punto final para obtener sus detalles.

Ahora que tenemos un punto final, invoquémoslo para obtener una inferencia en tiempo real. Reemplace el nombre de su punto final en el siguiente fragmento de código:

import boto3, sys endpoint_name = '3-2342-12-21-12-07-09-075'
sm_rt = boto3.Session().client('runtime.sagemaker') payload = [163, 806, 'no', 'yes', 300, 8.162204, 3, 3.933, 2.245779, 4, 6.50863, 6.05194, 5, 4.948816088, 1.784764, 2, 5.135322, 8]
l = ",".join([str(p) for p in payload]) response = sm_rt.invoke_endpoint(EndpointName=endpoint_name, ContentType='text/csv', Accept='text/csv', Body=l) response = response['Body'].read().decode("utf-8")
print(response)

Limpiar

Para evitar incurrir en cargos futuros, elimine los recursos que creó mientras seguía esta publicación. Esto incluye cerrar sesión en Canvas y eliminar el punto final de SageMaker implementado. Canvas le factura por la duración de la sesión y le recomendamos que cierre sesión en Canvas cuando no lo esté usando. Referirse a Cerrar sesión en Amazon SageMaker Canvas para más información.

Conclusión

En esta publicación, discutimos cómo Canvas puede ayudar a poner en funcionamiento los modelos ML en entornos de producción sin necesidad de experiencia en ML. En nuestro ejemplo, mostramos cómo un analista puede crear rápidamente un modelo de aprendizaje automático predictivo de alta precisión sin escribir ningún código y registrarlo en el registro del modelo. Luego, el equipo de MLOps puede revisarlo y rechazar el modelo o aprobarlo e iniciar el proceso de implementación de CI/CD aguas abajo.

Para comenzar su viaje de ML de código bajo/sin código, consulte Lienzo de Amazon SageMaker.

Un agradecimiento especial a todos los que contribuyeron al lanzamiento:

backend:

  • Huayuan (Alicia) Wu
  • Krittaphat Pugdeethosapol
  • yanda hu
  • Juan el
  • Esha Dutta
  • Prashanth

Interfaz:

  • Comerciante Kaiz
  • ed cheung

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.

Krittaphat Pugdeethosapol es ingeniero de desarrollo de software en Amazon SageMaker y trabaja principalmente con productos SageMaker de código bajo y sin código.

Huayuan (Alicia) Wu 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