Integra las tarjetas de modelo de Amazon SageMaker con el registro de modelos
Integrate Amazon SageMaker model cards with the model registry
Las Tarjetas de Modelo de Amazon SageMaker te permiten estandarizar cómo se documentan los modelos, logrando así visibilidad en el ciclo de vida de un modelo, desde el diseño, construcción, entrenamiento y evaluación. Las tarjetas de modelo están destinadas a ser una única fuente de verdad para los metadatos empresariales y técnicos sobre el modelo que se pueden utilizar de manera confiable con fines de auditoría y documentación. Proporcionan una hoja de datos del modelo que es importante para la gobernanza del modelo.
Hasta ahora, las tarjetas de modelo estaban asociadas lógicamente a un modelo en el Registro de Modelos de Amazon SageMaker utilizando coincidencia de nombres de modelos. Sin embargo, cuando se resuelve un problema empresarial a través de un modelo de aprendizaje automático (ML), a medida que los clientes iteran en el problema, crean múltiples versiones del modelo y necesitan operacionalizar y gobernar múltiples versiones del modelo. Por lo tanto, necesitan la capacidad de asociar una tarjeta de modelo a una versión específica del modelo.
En esta publicación, discutimos una nueva función que admite la integración de las tarjetas de modelo con el registro de modelos a nivel de versión del modelo implementado. Discutimos la arquitectura de la solución y las mejores prácticas para gestionar las versiones de las tarjetas de modelo y explicamos cómo configurar, operacionalizar y gobernar la integración de la tarjeta de modelo con la versión del modelo en el registro de modelos.
Descripción general de la solución
Las tarjetas de modelo de SageMaker te ayudan a estandarizar la documentación de tus modelos desde una perspectiva de gobernanza, y el registro de modelos de SageMaker te ayuda a implementar y operacionalizar modelos de ML. El registro de modelos admite una estructura jerárquica para organizar y almacenar modelos de ML con información de metadatos del modelo.
Cuando una organización resuelve un problema empresarial utilizando ML, como la predicción de la rotación de clientes, recomendamos los siguientes pasos:
- Navegando por los mares de datos Startup traza la monitorización au...
- La ‘Panadería Digital’ imprime en 3D dulces y chocolate...
- Meta presenta una inteligencia artificial más potente y no se preoc...
- Crea una tarjeta de modelo para el problema empresarial que se va a resolver.
- Crea un grupo de paquetes de modelos para el problema empresarial que se va a resolver.
- Construye, entrena, evalúa y registra la primera versión del paquete de modelos (por ejemplo, Churn de clientes V1).
- Actualiza la tarjeta de modelo vinculando la versión del paquete de modelos a la tarjeta de modelo.
- A medida que iteras en nuevas versiones del paquete de modelos, clona la tarjeta de modelo de la versión anterior y vincúlala a la nueva versión del paquete de modelos (por ejemplo, Churn de clientes V2).
La siguiente figura ilustra cómo se integra una tarjeta de modelo de SageMaker con el registro de modelos.
Como se ilustra en el diagrama anterior, la integración de las tarjetas de modelo de SageMaker y el registro de modelos te permite asociar una tarjeta de modelo con una versión específica del modelo en el registro de modelos. Esto te permite establecer una única fuente de verdad para las versiones de modelo registradas, con documentación completa y estandarizada en todas las etapas del viaje del modelo en SageMaker, facilitando su descubrimiento y promoviendo la gobernanza, el cumplimiento y la responsabilidad en todo el ciclo de vida del modelo.
Mejores prácticas para gestionar las tarjetas de modelo
Operar en el aprendizaje automático con gobernanza es un requisito crítico para muchas organizaciones empresariales hoy en día, especialmente en industrias altamente reguladas. Como parte de esos requisitos, AWS ofrece varios servicios que permiten el funcionamiento confiable del entorno de ML.
Las tarjetas de modelo de SageMaker documentan detalles críticos sobre tus modelos de ML en un solo lugar para una gobernanza y generación de informes simplificadas. Las tarjetas de modelo te ayudan a capturar detalles como el uso previsto y la calificación de riesgo de un modelo, detalles y métricas de entrenamiento, resultados y observaciones de evaluación, y aspectos destacados adicionales como consideraciones, recomendaciones e información personalizada.
Las tarjetas de modelo deben gestionarse y actualizarse como parte de tu proceso de desarrollo, a lo largo del ciclo de vida de ML. Son una parte importante de la entrega continua y las canalizaciones en ML. De la misma manera que un proyecto de ML bien arquitecturado implementa la integración y entrega continua (CI/CD) bajo el paraguas de MLOps, un proceso de documentación continua de ML es una capacidad crítica en muchas industrias reguladas o para casos de uso de mayor riesgo. Las tarjetas de modelo son parte de las mejores prácticas para el desarrollo de ML responsable y transparente.
El siguiente diagrama muestra cómo las tarjetas de modelo deben ser parte de un ciclo de vida de desarrollo.
Ten en cuenta las siguientes mejores prácticas:
- Recomendamos crear tarjetas de modelo al comienzo del ciclo de vida de tu proyecto. En la primera fase del proyecto, cuando estás trabajando en identificar el objetivo empresarial y enmarcar el problema de ML, debes iniciar la creación de la tarjeta de modelo. A medida que avanzas en las diferentes etapas de los requisitos empresariales y las métricas de rendimiento importantes, puedes crear la tarjeta de modelo en estado de borrador y determinar los detalles empresariales y los usos previstos.
- Como parte de la fase de desarrollo de tu modelo, debes utilizar el registro de modelos para catalogar modelos para producción, gestionar versiones de modelos y asociar metadatos con un modelo. El registro de modelos permite el seguimiento de linajes.
- Después de haber iterado con éxito y estar listo para implementar tu modelo en producción, es hora de actualizar la tarjeta de modelo. En la fase de ciclo de vida de implementación, puedes actualizar los detalles del modelo en la tarjeta de modelo. También debes actualizar los detalles de entrenamiento, los detalles de evaluación, las consideraciones éticas y las advertencias y recomendaciones.
Las tarjetas de modelo tienen versiones asociadas. Una versión de modelo dada es inmutable en todas las características excepto en el estado de la tarjeta de modelo. Si realiza otros cambios en la tarjeta de modelo, como métricas de evaluación, descripción o usos previstos, SageMaker crea una nueva versión de la tarjeta de modelo para reflejar la información actualizada. Esto asegura que una tarjeta de modelo, una vez creada, no pueda ser manipulada. Además, cada nombre de modelo único puede tener solo una tarjeta de modelo asociada y no se puede cambiar después de crear la tarjeta de modelo.
Los modelos de ML son dinámicos y los componentes de automatización del flujo de trabajo le permiten escalar fácilmente su capacidad para construir, entrenar, probar e implementar cientos de modelos en producción, iterar más rápido, reducir errores debido a la orquestación manual y construir mecanismos repetibles.
Por lo tanto, el ciclo de vida de sus tarjetas de modelo se verá como se describe en el siguiente diagrama. Cada vez que actualice su tarjeta de modelo a través del ciclo de vida del modelo, creará automáticamente una nueva versión de la tarjeta de modelo. Cada vez que itera en una nueva versión de modelo, crea una nueva tarjeta de modelo que puede heredar información de la tarjeta de modelo de las versiones anteriores y seguir el mismo ciclo de vida.
Pre-requisitos
Este artículo asume que ya tiene modelos en su registro de modelos. Si desea seguir, puede usar el siguiente ejemplo de SageMaker en GitHub para poblar su registro de modelos: Integración de SageMaker Pipelines con Model Monitor y Clarify.
Integrar una tarjeta de modelo con la versión de modelo en el registro de modelos
En este ejemplo, tenemos el paquete model-monitor-clarify-group
en nuestro registro de modelos.
En este paquete, hay dos versiones de modelo disponibles.
Para este ejemplo, vinculamos la Versión 1 del modelo a una nueva tarjeta de modelo. En el registro de modelos, puede ver los detalles de la Versión 1.
Ahora podemos usar la nueva función en el SDK de Python de SageMaker. Desde el módulo sagemaker.model_card ModelPackage
, puede seleccionar una versión de modelo específica del registro de modelos a la que desea vincular la tarjeta de modelo.
Ahora puede crear una nueva tarjeta de modelo para la versión de modelo y especificar el parámetro model_package_details
con el paquete de modelo anterior recuperado. Debe completar la tarjeta de modelo con todos los detalles adicionales necesarios. Para este artículo, creamos una tarjeta de modelo simple como ejemplo.
Luego puede usar esa definición para crear una tarjeta de modelo utilizando el SDK de Python de SageMaker.
Cuando vuelva a cargar la tarjeta de modelo, puede ver el modelo asociado en "__model_package_details"
.
También tiene la opción de actualizar una tarjeta de modelo existente con el model_package
como se muestra en el fragmento de código de ejemplo a continuación:
my_card = ModelCard.load(("<model_card_name>")
mp_details = ModelPackage.from_model_package_arn("<arn>")
my_card.model_package_details = mp_details
my_card.update()
Finalmente, al crear o actualizar una nueva versión del paquete de modelos en un paquete de modelos existente, si ya existe una tarjeta de modelo en ese grupo de paquetes de modelos, se pueden transferir cierta información, como los detalles comerciales y los usos previstos, a la nueva tarjeta de modelo.
Limpieza
Los usuarios son responsables de limpiar los recursos si se crearon utilizando el cuaderno mencionado en la sección de pre-requisitos. Siga las instrucciones del cuaderno para limpiar los recursos.
Conclusión
En esta publicación, discutimos cómo integrar una tarjeta de modelo de SageMaker con una versión del modelo en el registro de modelos. Compartimos la arquitectura de la solución con las mejores prácticas para implementar una tarjeta de modelo y mostramos cómo configurar y operacionalizar una tarjeta de modelo para mejorar su postura de gobernanza de modelos. Le animamos a probar esta solución y compartir sus comentarios en la sección de comentarios.