Skip to content

Lab 4: Construyendo facts y métricas personalizadas

Prerrequisitos

En el entorno dinámico y maduro actual, la habilidad para desarrollar facts y métricas personalizadas es crucial para lograr una implementación avanzada de IA generativa. Las organizaciones buscan trazar y monitorizar la calidad de sus modelos de IA con mayor precisión y en consonancia con sus objetivos específicos, lo que demanda un enfoque personalizado y adaptado a sus necesidades únicas.

En este laboratorio, aprenderás a construir facts (1) y métricas de monitorización (2) personalizadas para un caso de uso de IA generativa. Para ello, interactuaras directamente con las APIs de alguno de los servicios que componen la plataforma de watsonx.governance.

  1. Facts: Metadatos cualitativos que describen un modelo de IA y su contexto, como la descripción del modelo, su fecha de creación, su propósito de negocio, o las fuentes de datos utilizadas.
  2. Métricas de monitorización: Indicadores cuantitativos de rendimiento (KPIs) que miden la calidad y eficacia de un modelo de IA y que generalmente deseamos observar y optimizar, como la precisión, la sensibilidad, o la tasa de falsos positivos.

Continuaremos con el caso de uso anterior, en el que se ha configurado un prompt para un modelo de IA generativa en Azure OpenAI para generar propuestas de acciones para tickets de soporte. En este laboratorio, construirás facts y métricas personalizadas para este caso de uso, que permitirán a los responsables de negocio y técnicos evaluar y monitorizar el modelo de manera más precisa y alineada con sus objetivos.

1. Creación de facts personalizados

Para adelantarse al clima regulatorio y de cumplimiento normativo en constante evolución, la organización ha decidido utilizar un sistema de gestión de riesgos y cumplimiento normativo (GRC) que debe aprobar y auditar todos los modelos de IA generativa antes de su implementación. Para poder integrar los casos de uso de IA generativa en este sistema, el manager de proyecto ha solicitado que todo prompt de IA generativa debe tener documentado la siguiente información:

  • El nombre del manager del proyecto que lidera el desarrollo del modelo.
  • El nombre del equipo de cumplimiento normativo que ha revisado y aprobado el modelo.
  • El identificador que compruebe que el modelo ha sido dado de alta en el sistema de GRC.

Además cada caso de uso de IA generativa debe tener documentado:

  • El nombre del cliente u organización que ha solicitado el modelo.
  • El nombre/identificador del equipo de desarrollo.

Para cumplir con estos requisitos, debes crear tres facts personalizados para el prompt template que has configurado en el laboratorio anterior. Para ello, deberás de interactuar con las APIs de watsonx.governance programáticamente a través de un notebook de Jupyter.

  1. Navega al proyecto en que has creado el prompt template en el laboratorio anterior.

    Abrir Project

  2. Pulsa el botón de New asset, que abrirá una nueva ventana.

    Crear New asset

  3. Haz click en Work with data and models in Python or R notebooks with Jupyter notebook editor, lo que abrirá una nueva ventana.

  4. Pulsa en la opción Local file.

  5. Asigna un nombre al notebook, por ejemplo, Lab 4.1 - Custom Facts.

  6. Descarga este notebook y súbelo desde la pestaña Notebook file.

  7. Pulsa Create. El notebook para la creación de facts personalizados se abrirá en la interfaz.

Ejecuta el notebook siguiendo las instrucciones y las celdas de código que se proporcionan. Al finalizar, habrás creado los facts personalizados para el prompt template y podrás visualizarlos en la interfaz de watsonx.governance. Si descargas el reporte de AI Factsheet, los custom facts tambien deberían aparecer en el apartado 'Additional AI asset details' del reporte.

Facts creados

¡Hazlo tú!

Experimenta con la creación de facts personalizados para otros casos de uso de IA generativa que te interesen.

  • Piensa en qué información sería relevante para un caso de uso de IA en el que estés trabajando.
  • Define los facts que necesitarías para informar a los responsables de negocio y técnicos sobre el contexto y la calidad de los modelos de IA generativa en desarrollo.
  • Crea un notebook de Jupyter (puedes utilizar el que has descargado en este laboratorio como plantilla) y define los facts que necesitas.
  • Crea los facts en watsonx.governance y visualízalos en la interfaz.
  • Intenta experimentar con otros tipos de facts que los que se han definido en este laboratorio (facts númericos, facts de tipo array, facts de tipo fecha, etc.).

Puedes utilizar los notebooks en el repositorio de ai-governance-factsheet-samples como referencia para experimentar con el sdk de python de AI Factsheets.

¡Comparte tus experiencias y aprendizajes con tus compañeros y equipo de formación!

2. Creación de métricas personalizadas

El lider del proyecto de tickets de soporte ha solicitado que se definan mejores métricas para monitorizar mejor la calidad y eficacia del prompt de IA generativa que hemos creado en el lab anterior. Para ello, se te ha ocurrido que sería interesante generar una métrica que mida la calidad de las propuestas de acciones generadas por el modelo utilizando el enfoque de LLM-as-a-Judge, que se basa en utilizar un modelo de lenguaje como juez para evaluar la calidad de las propuestas generadas y asignarles una puntuación.

Para ello, se debe crear una métrica personalizada que:

  1. Obtenga como input el ticket de soporte y la propuesta de acción generada por el modelo.
  2. Construya un prompt que contenga el ticket de soporte y la propuesta de acción y lo envíe a un modelo de lenguaje para obtener una puntuación de calidad.
  3. Devuelva la puntuación obtenida como métrica de calidad de la propuesta de acción generada.

Para crear esta métrica personalizada, deberás de interactuar con las APIs de watsonx.governance programáticamente a través de un notebook de Jupyter.

  1. Navega al proyecto en que has creado el prompt template en el laboratorio anterior.

  2. Pulsa el botón de New asset y selecciona Work with data and models in Python or R notebooks with Jupyter notebook editor.

  3. Pulsa en la opción Local file y asigna un nombre al notebook, por ejemplo, Lab 4.2 - Custom Metrics.

  4. Descarga este notebook y súbelo desde la pestaña Notebook file.

  5. Pulsa Create. El notebook para la creación de métricas personalizadas se abrirá en la interfaz.

Ejecuta el notebook siguiendo las instrucciones y las celdas de código que se proporcionan. Al finalizar, habrás creado la métrica personalizada para el prompt template y podrás verla en tu notebook.

Nota: Las métricas personalizadas creadas de la forma que se ha descrito en este laboratorio no se pueden visualizar en la interfaz de watsonx.governance. En el futuro, os haremos una demostración de cómo integrar monitores personalizados que se ejecuten en un endpoint externo, cuyas métricas si se puedan visualizar en el dashboard de OpenScale.

¡Hazlo tú!

Experimenta con la creación de métricas personalizadas para otros casos de uso de IA generativa que te interesen.

  • Piensa en qué métricas serían relevantes para un caso de uso de IA en el que estés trabajando.
  • Define las métricas que necesitarías para monitorizar la calidad y eficacia de los modelos de IA generativa que esten en desarrollo o en producción.
  • Crea un notebook de Jupyter (puedes utilizar el que has descargado en este laboratorio como plantilla) y define las métricas que necesitas.
  • Experimenta con métricas que conozcas, pueden ser métricas de rendimiento como la distancia semántica, ratio de tokens correctos o incluso más de negocio como satisfacción del cliente, eficiencia energetica, etc.
  • Crea las métricas en watsonx.governance y monitorízalas de forma programática.

Puedes utilizar los notebooks en el repositorio de Github de watson-openscale-samples como referencia para experimentar con el sdk de python de IBM Watson OpenScale.

¡Comparte tus experiencia con tus compañeros y equipo de formación!

Si te interesa ir más a fondo, el siguiente notebook de Github muestra el otro metodo mencionado en el lab 4.2 para crear una métrica personalizada que llame a un despliegue/endpoint externo y calcule la métrica personalizada automáticamente (pull model). Te retamos a que lo intentes con tu propia métrica personalizada y compartas tus resultados:

Conclusiones

¡Enhorabuena! Has completado el laboratorio de construcción de facts y métricas personalizadas en watsonx.governance.

¿Qué hemos aprendido?

  • Hemos aprendido a crear facts personalizados para prompts y casos de uso de IA generativa.
  • Hemos aprendido a crear métricas personalizadas para un prompt template.
  • Utilizamos el SDK de Python del servicio de AI Factsheets para interactuar con watsonx.governance y poder gestionar facts personalizados de forma programática. Incluyendo la obtención, creación, actualización y eliminación de facts personalizados.
  • Hemos utilizado el SDK de Python del servicio de IBM Watson OpenScale para interactuar con watsonx.governance y poder gestionar métricas personalizadas de forma programática. Incluyendo la obtención y creación de métricas.
  • Hemos evaluado la calidad de las propuestas de acciones generadas por un modelo de IA generativa utilizando un modelo de lenguaje como juez (LLM-as-a-Judge) y hemos creado una métrica personalizada para monitorizar esta calidad de forma programática.

Siguientes pasos

  • Más recursos para seguir aprendiendo sobre watsonx.governance.
  • Contacto con el equipo de formación para resolver dudas o problemas.