Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker

A medida que las empresas adoptan cada vez más el aprendizaje automático (ML) para sus aplicaciones empresariales principales, los modelos de ML influyen en una mayor parte de sus decisiones comerciales. Como resultado de esto, tener un control de acceso simplificado y una transparencia mejorada en todos sus modelos ML hace que sea más fácil validar que sus modelos funcionan bien y tomar medidas cuando no es así.

En esta publicación, exploramos cómo las empresas pueden mejorar la visibilidad de sus modelos con paneles centralizados y documentación detallada de sus modelos utilizando dos nuevas funciones: SageMaker Model Cards y SageMaker Model Dashboard. Ambas funciones están disponibles sin cargo adicional para los clientes de SageMaker.

Descripción general de la gobernanza del modelo

El gobierno de modelos es un marco que proporciona una visibilidad sistemática del desarrollo, la validación y el uso de modelos. El gobierno del modelo es aplicable en todo el flujo de trabajo de ML de extremo a extremo, desde la identificación del caso de uso de ML hasta el monitoreo continuo de un modelo implementado a través de alertas, informes y paneles. Un marco de gobernanza de modelos bien implementado debe minimizar la cantidad de interfaces necesarias para ver, rastrear y administrar las tareas del ciclo de vida para que sea más fácil monitorear el ciclo de vida de ML a escala.

Hoy en día, las organizaciones invierten una gran experiencia técnica en la creación de herramientas para automatizar gran parte de su flujo de trabajo de control y auditoría. Por ejemplo, los creadores de modelos deben registrar de manera proactiva las especificaciones del modelo, como el uso previsto para un modelo, la calificación de riesgo y los criterios de rendimiento con los que se debe medir un modelo. Además, también necesitan registrar observaciones sobre el comportamiento del modelo y documentar la razón por la que tomaron ciertas decisiones clave, como la función objetivo contra la que optimizaron el modelo.

Es común que las empresas utilicen herramientas como Excel o el correo electrónico para capturar y compartir dicha información del modelo para su uso en las aprobaciones para el uso de producción. Pero a medida que aumenta la escala del desarrollo de ML, la información se puede perder o extraviar fácilmente, y hacer un seguimiento de estos detalles se vuelve inviable rápidamente. Además, después de implementar estos modelos, puede unir datos de varias fuentes para obtener una visibilidad integral de todos sus modelos, puntos finales, historial de monitoreo y linaje. Sin esa vista, puede perder fácilmente el rastro de sus modelos y es posible que no se dé cuenta de cuándo debe tomar medidas con respecto a ellos. Este problema se intensifica en industrias altamente reguladas porque estás sujeto a regulaciones que requieren que mantengas tales medidas.

A medida que el volumen de modelos comienza a escalar, la gestión de herramientas personalizadas puede convertirse en un desafío y les da a las organizaciones menos tiempo para concentrarse en las necesidades comerciales principales. En las siguientes secciones, exploramos cómo SageMaker Model Cards y SageMaker Model Dashboard pueden ayudarlo a escalar sus esfuerzos de gobierno.

Tarjetas modelo de SageMaker

Las tarjetas modelo le permiten estandarizar cómo se documentan los modelos, logrando así visibilidad en el ciclo de vida de un modelo, desde el diseño, la construcción, la capacitación y la evaluación. Las tarjetas modelo están destinadas a ser una única fuente de verdad para los metadatos comerciales y técnicos sobre el modelo que se puede usar de manera confiable con fines de auditoría y documentación. Proporcionan una hoja informativa del modelo que es importante para la gobernanza del modelo.

Las tarjetas modelo permiten a los usuarios crear y almacenar decisiones, como por qué se eligió una función objetivo para la optimización, y detalles como el uso previsto y la calificación de riesgo. También puede adjuntar y revisar los resultados de la evaluación y anotar las observaciones para referencia futura.

Para los modelos capacitados en SageMaker, las tarjetas de modelo pueden descubrir y autocompletar detalles como el trabajo de capacitación, los conjuntos de datos de capacitación, los artefactos del modelo y el entorno de inferencia, lo que acelera el proceso de creación de las tarjetas. Con el SDK de Python de SageMaker, puede actualizar sin problemas la tarjeta Modelo con métricas de evaluación.

Las tarjetas de modelos brindan a los administradores de riesgos de modelos, científicos de datos e ingenieros de ML la capacidad de realizar las siguientes tareas:

  • Documente los requisitos del modelo, como la calificación de riesgo, el uso previsto, las limitaciones y el rendimiento esperado
  • Autocompletar tarjetas de modelo para modelos capacitados de SageMaker
  • Traiga su propia información (BYOI) para modelos que no son de SageMaker
  • Cargue y comparta los resultados de la evaluación de datos y modelos
  • Definir y capturar información personalizada
  • Capture el estado de la tarjeta del modelo (borrador, pendiente de revisión o aprobado para producción)
  • Acceda al concentrador de la tarjeta Modelo desde el Consola de administración de AWS
  • Crear, editar, ver, exportar, clonar y eliminar tarjetas modelo
  • Activar flujos de trabajo usando Puente de eventos de Amazon integración para eventos de cambio de estado de tarjeta modelo

Cree tarjetas modelo de SageMaker usando la consola

Puede crear fácilmente tarjetas modelo con la consola de SageMaker. Aquí puede ver todas las tarjetas Modelo existentes y crear otras nuevas según sea necesario.

Al crear una tarjeta de modelo, puede documentar información crítica del modelo, como quién creó el modelo, por qué se desarrolló, cómo se está desempeñando para evaluaciones independientes y cualquier observación que deba tenerse en cuenta antes de usar el modelo para una aplicación comercial.

Para crear una tarjeta Modelo en la consola, complete los siguientes pasos:

  1. Introduzca los detalles de la descripción general del modelo.
  2. Ingrese los detalles de la capacitación (se completan automáticamente si el modelo se entrenó en SageMaker).
  3. Cargar resultados de evaluación.
  4. Agregue detalles adicionales, como recomendaciones y consideraciones éticas.

Después de crear la tarjeta Modelo, puede elegir una versión para verla.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

La siguiente captura de pantalla muestra los detalles de nuestra tarjeta Modelo.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

También puede exportar la tarjeta Modelo para compartirla como PDF.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cree y explore tarjetas modelo de SageMaker a través del SDK de Python de SageMaker

La interacción con las tarjetas Model no se limita a la consola. También puede utilizar SageMaker Python SDK para crear y explorar tarjetas modelo. El SDK de Python de SageMaker permite que los científicos de datos y los ingenieros de aprendizaje automático interactúen fácilmente con los componentes de SageMaker. Los siguientes fragmentos de código muestran el proceso para crear una tarjeta Modelo utilizando la función SageMaker Python SDK recientemente agregada.

Asegúrese de tener instalada la última versión de SageMaker Python SDK:

$ pip install --upgrade "sagemaker>=2"

Una vez que haya entrenado e implementado un modelo con SageMaker, puede usar la información del modelo de SageMaker y el trabajo de entrenamiento para completar automáticamente la información en la tarjeta Modelo.

Usando SageMaker Python SDK y pasando el nombre del modelo de SageMaker, podemos recopilar automáticamente información básica del modelo. Información como el ARN del modelo de SageMaker, el entorno de capacitación y el resultado del modelo Servicio de almacenamiento simple de Amazon (Amazon S3) la ubicación se completa automáticamente. Podemos agregar otros datos del modelo, como descripción, tipo de problema, tipo de algoritmo, creador del modelo y propietario. Ver el siguiente código:

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

También podemos recopilar automáticamente información básica de capacitación, como el ARN del trabajo de capacitación, el entorno de capacitación y las métricas de capacitación. Se pueden agregar detalles de entrenamiento adicionales, como función de objetivo de entrenamiento y observaciones. Ver el siguiente código:

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Si tenemos métricas de evaluación disponibles, también podemos agregarlas a la tarjeta Modelo:

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

También podemos agregar información adicional sobre el modelo que puede ayudar con la gobernanza del modelo:

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

Una vez que hayamos proporcionado todos los detalles que necesitamos, podemos crear la tarjeta Modelo utilizando la configuración anterior:

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

El SDK de SageMaker también brinda la capacidad de actualizar, cargar, enumerar, exportar y eliminar una tarjeta Modelo.

Para obtener más información sobre las tarjetas modelo, consulte la guía para desarrolladores y siga así cuaderno de ejemplo para empezar.

Panel de modelos de SageMaker

El panel de modelos es un repositorio centralizado de todos los modelos que se han creado en la cuenta. Los modelos generalmente se crean entrenando en SageMaker, o puede traer sus modelos entrenados en otro lugar para alojarlos en SageMaker.

El panel de modelos proporciona una interfaz única para que los administradores de TI, los administradores de riesgos de modelos o los líderes empresariales vean todos los modelos implementados y su rendimiento. Puede ver sus puntos finales, trabajos de transformación por lotes y trabajos de supervisión para obtener información sobre el rendimiento del modelo. Las organizaciones pueden profundizar para identificar qué modelos tienen monitores faltantes o inactivos y agregarlos mediante las API de SageMaker para asegurarse de que todos los modelos se verifiquen en busca de deriva de datos, deriva de modelo, deriva de sesgo y deriva de atribución de características.

La siguiente captura de pantalla muestra un ejemplo del panel Modelo.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El panel Modelo proporciona una descripción general de todos sus modelos, cuál es su calificación de riesgo y cómo se están desempeñando esos modelos en producción. Lo hace extrayendo información de todo SageMaker. La información de seguimiento del rendimiento se captura a través de Monitor de modelo de Amazon SageMakery también puede ver información sobre modelos invocados para predicciones por lotes a través de trabajos de transformación por lotes de SageMaker. Se captura información de linaje, como cómo se entrenó el modelo, se usaron los datos y más, y también se extrae información de las tarjetas del modelo.

Model Monitor supervisa la calidad de los modelos de SageMaker utilizados en producción para la inferencia por lotes o puntos finales en tiempo real. Puede configurar un monitoreo continuo o monitores programados a través de las API de SageMaker y editar la configuración de alertas a través del panel Modelo. Puede configurar alertas que le notifiquen cuando haya desviaciones en la calidad del modelo. La detección temprana y proactiva de estas desviaciones le permite tomar medidas correctivas, como volver a entrenar modelos, auditar sistemas ascendentes o solucionar problemas de calidad sin tener que monitorear modelos manualmente o construir herramientas adicionales. El panel Modelo le brinda información rápida sobre qué modelos se están monitoreando y cómo se están desempeñando. Para obtener más información sobre Model Monitor, visite Supervise los modelos en busca de datos y calidad del modelo, sesgo y explicabilidad.

Cuando elige un modelo en el panel Modelo, puede obtener información más detallada sobre el modelo, como la tarjeta Modelo (si existe), el linaje del modelo, detalles sobre el punto final en el que se implementó el modelo y el programa de monitoreo para el modelo.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Esta vista le permite crear una tarjeta Modelo si es necesario. El cronograma de monitoreo se puede activar, desactivar o editar también a través del panel del Modelo.

Para los modelos que no tienen un programa de monitoreo, puede configurarlo habilitando Model Monitor para el punto final en el que se implementó el modelo. A través de los detalles y el estado de las alertas, se le notificará de los modelos que muestran desviación de datos, desviación del modelo, desviación del sesgo o desviación de características, según los monitores que configure.

Veamos un flujo de trabajo de ejemplo sobre cómo configurar la supervisión del modelo. Los pasos clave de este proceso son:

  1. Capture los datos enviados al punto final (o trabajo de transformación por lotes).
  2. Establecer una línea base (para cada uno de los tipos de monitoreo).
  3. Cree un cronograma de Model Monitor para comparar las predicciones en vivo con la línea de base para informar violaciones y activar alertas.

En función de las alertas, puede realizar acciones como revertir el punto final a una versión anterior o volver a entrenar el modelo con nuevos datos. Al hacer esto, puede ser necesario rastrear cómo se entrenó el modelo, lo que se puede hacer visualizando el linaje del modelo.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai. Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El panel Modelo ofrece un amplio conjunto de información sobre el ecosistema general del modelo en una cuenta, además de la capacidad de profundizar en los detalles específicos de un modelo. Para obtener más información sobre el panel Modelo, consulte guía para desarrolladores.

Conclusión

El gobierno de modelos es complejo y, a menudo, implica muchas necesidades personalizadas específicas para una organización o industria. Esto podría basarse en los requisitos reglamentarios que su organización debe cumplir, los tipos de personas presentes en la organización y los tipos de modelos que se utilizan. No existe un enfoque único para la gobernanza, y es importante tener las herramientas adecuadas disponibles para que se pueda implementar un proceso de gobernanza sólido.

Con las herramientas de gobierno de ML especialmente diseñadas en SageMaker, las organizaciones pueden implementar los mecanismos correctos para mejorar el control y la visibilidad sobre los proyectos de ML para sus casos de uso específicos. Pruebe las tarjetas de modelos y el tablero de modelos, y deje sus comentarios con preguntas y comentarios. Para obtener más información sobre las tarjetas de modelos y el tablero de modelos, consulte guía para desarrolladores.


Sobre los autores

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.kirit thadaka es un arquitecto de soluciones de aprendizaje automático que trabaja en el equipo de SageMaker Service SA. Antes de unirse a AWS, Kirit trabajó en empresas emergentes de IA en etapa inicial, seguido de algún tiempo como consultor en varios roles en investigación de IA, MLOps y liderazgo técnico.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.marc karp es un Arquitecto de ML con el equipo de Servicio de SageMaker. Se enfoca en ayudar a los clientes a diseñar, implementar y administrar cargas de trabajo de ML a escala. En su tiempo libre le gusta viajar y explorar nuevos lugares.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Raghu Ramesha es Arquitecto de soluciones de aprendizaje automático en el equipo de servicios de Amazon SageMaker. Se enfoca en ayudar a los clientes a crear, implementar y migrar cargas de trabajo de producción de ML a SageMaker a escala. Se especializa en dominios de aprendizaje automático, IA y visión por computadora, y tiene una maestría en Ciencias de la Computación de UT Dallas. En su tiempo libre le gusta viajar y la fotografía.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.carnero vital es un arquitecto de soluciones especialista en ML en AWS. Tiene más de 20 años de experiencia en la arquitectura y creación de aplicaciones distribuidas, híbridas y en la nube. Le apasiona crear soluciones seguras y escalables de AI/ML y big data para ayudar a los clientes empresariales con su proceso de optimización y adopción de la nube para mejorar sus resultados comerciales. En su tiempo libre, disfruta del tenis, la fotografía y las películas de acción.

Mejore la gobernanza de sus modelos de aprendizaje automático con Amazon SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.sahil saini es un arquitecto de soluciones ISV en Amazon Web Services. Trabaja con los equipos de productos e ingeniería de los clientes estratégicos de AWS para ayudarlos con soluciones tecnológicas que utilizan los servicios de AWS para AI/ML, contenedores, HPC e IoT. Ha ayudado a configurar plataformas AI/ML para clientes empresariales.

Sello de tiempo:

Mas de Aprendizaje automático de AWS