Table of Contents
Introducción
Esta documentación contiene el contenido y activos necesarios para completar los laboratorios de esta formación sobre watsonx.governance, donde aprenderás a gobernar modelos de IA generativa y predictiva, así como integrar modelos externos y construir tus propias métricas personalizadas.
Navegación por los laboratorios
Utiliza el menú de navegación del lateral izquierdo para acceder a los laboratorios y demás contenidos de la formación.
Sobre watsonx.governance
La gobernanza de los modelos de IA es un aspecto crítico de la gestión del ciclo de vida de la IA. A medida que las organizaciones dependen cada vez más de los modelos de IA para tomar decisiones e interactuar con sus usuarios, es esencial garantizar que estos modelos sean a su vez transparentes, justos y cumplan con los requisitos normativos. La plataforma watsonx.governance ofrece un conjunto de herramientas y capacidades para gobernar los modelos de IA a lo largo de su ciclo de vida, desde el desarrollo hasta su despliegue y monitorización en producción.
Un aspecto distintivo de watsonx.governance es su capacidad para permitir a las organizaciones gestionar sus modelos de IA de manera integral. Esto incluye no solo la gobernanza de los modelos desarrollados internamente en watsonx.ai, sino también la gestión de modelos externos creados por terceros o implementados en plataformas como Amazon SageMaker, Azure AI, entre otras.
En esta formación, nos enfocaremos en profundizar en las capacidades de gobernanza que ofrece esta herramienta, abarcando tanto modelos de IA generativa y predictiva desarrollados en watsonx.ai, como aquellos de otras plataformas. Además, abordaremos la gestión de prompts de IA generativa y su depliegue, así cómo la personalización métricas de evaluación adaptadas a las necesidades específicas de cada organización.

Flujo de gobierno de modelos de IA
En esta formación: Documentación, validación, y monitorización de modelos externos.
Agenda
Esta formación estará organizada de la siguiente manera:
Día 1 – 08.01.2025
- Introducción a la estructura de la formación
- Trazabilidad en watsonx.governance: introducción a conceptos básicos y forma de trabajo en la plataforma.
- Lab 1: Gobernando un prompt de IA Generativa: un laboratorio hands-on donde aprenderemos a gobernar prompts de IA generativa sobre modelos de la plataforma de watsonx.ai.
- Lab 2: Gobernando un modelo de IA Predictiva: un laboratorio hands-on donde aprenderemos a gobernar modelos de IA predictiva desplegados en la plataforma de watsonx.ai.
Día 2 – 09.01.2025
- Monitorización en watsonx.governance: presentación de conceptos sobre monitorización.
- Lab 3: Gobernando un prompt de IA Generativa sobre un modelo externo (Azure OpenAI): un laboratorio hands-on donde aprenderemos a gobernar prompts de IA generativa sobre modelos desplegados en Azure OpenAI.
- Lab 4: Construyendo métricas personalizadas: un laboratorio hands-on donde aprenderemos a construir y utilizar métricas personalizadas de evaluación.
- Q&A y conclusiones sobre watsonx.governance: tiempo de resolución de dudas y cierre de la formación.
Día 1: Trazabilidad del ciclo de vida ↵
Trazabilidad del ciclo de vida en watsonx.governance
La capacidad de trazabilidad de watsonx.governance permite el gobierno de los modelos de IA en todas sus etapas desde la concepción hasta su consumo por el proceso de negocio pertinente. La plataforma captura automáticamente metadatos de los modelos en sus diferentes versiones e instancias en los espacios y proyectos de la plataforma mediante la API de AI factsheets, accesible también externamente. Estas automatizaciones se entrelazan con las acciones del usuario sobre los modelos, lo que genera una asociación lógica de cada una de las etapas sobre un mismo AI usecase.
Cheatsheet
- AI Factsheet – activo asociado a un único modelo o Prompt Template que permite asociar lógicamente y visualizar sus metadatos y los metadatos asociados a cada una de las versiones e iteraciones en las distintas etapas del ciclo de vida.
- AI usecase – activo equivalente al caso de uso que permite asociar lógicamente y visualizar en un único lugar los espacios de trabajo, los activos, y los distintos enfoques de desarrollo de IA, con sus respectivas versiones.
- Deployment space - espacio de trabajo que contiene activos desplegables, despliegues, trabajos de despliegue, datos asociados de entrada y salida, y entornos de ejecución.
- Detached Prompt Template – Prompt Template sobre un modelo externo a la plataforma de watsonx.ai.
- Inventory – repositorio que contiene tanto activos como casos de uso.
- Model – activo de modelo de IA con un esquema de entrada y salida definido.
- Prompt Template – activo de prompt diseñado para estructurar y estandarizar las instrucciones proporcionadas al modelo de IA generativa.
- Project – espacio de trabajo para colaborar y construir activos.
Lab 1: Gobernando prompts de IA generativa
Prerrequisitos
Comprueba que te encuentras en la plataforma watsonx
En este laboratorio, gobernarás un prompt para modelo fundacional de watsonx.ai. En este caso, el departamento de soporte quiere utilizar un modelo de IA generativa para etiquetar los tickets de soporte por temática, lo que creen que reducirá significativamente la carga de trabajo del equipo y los tiempos de respuesta.
Sin embargo, tienen ciertas reticencias ya que han visto noticias que alertan del potencial riesgo de la IA generativa de proporcionar información imprecisa, ser propensa a generar contenido de odio, agresivo o profano (HAP), o filtrar información personal (PII). Necesitan configurar un sistema capaz de monitorizar y evaluar el prompt para atajar sus preocupaciones antes de ponerlo en producción.
1. Definir un Caso de Uso de IA
Debes crear un AI use case para gobernar el prompt de clasificación de tickets. Este caso de uso, que debe almacenarse en un Inventory, permitirá a los administradores, ingenieros de IA, analistas de riesgos, y científicos de datos organizar las diferentes versiones, datos, y entornos empleados para construir y desplegar los prompts candidatos.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item AI Governance para desplegarlo.
-
Haz click en el item AI use cases.
-
Pulsa el botón de New AI use case, que abrirá una nueva ventana.
-
Pon un Name al caso de uso.
-
Pon una Description para la necesidad de negocio que se está intentando resolver.
-
Utiliza el desplegable para asignar el Risk Level apropiado.
-
Utiliza el desplegable para asignar el Inventory apropiado.
-
Asigna un Status en el desplegable del lateral derecho.
-
Pulsa Create. Después de unos minutos, el caso de uso estará creado.
2. Crea un Espacio de Despliegue
Los Deployment spaces (espacios de despliegue) contienen activos desplegables, despliegues, trabajos de despliegue, datos asociados de entrada y salida, y entornos de ejecución. Puedes utilizar un espacio para desplegar varios activos, gestionarlos y configurar sus accesos.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item Deployments.
-
Pulsa el botón de New deployment space, que abrirá una nueva ventana.
-
Asigna un Name y una Description apropiada para el espacio.
-
Selecciona "Testing" en el desplegable Deployment stage. Definir este stage asegura que los activos desplegados aparezcan en la etapa correcta del ciclo de vida del AI use case.
-
Pulsa Create.
3. Crea un Proyecto
Los Projects (proyectos) proporcionan un lugar a los científicos de datos, ingenieros de datos, expertos de la materia, y otros usuarios para colaborar y construir activos.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item Projects para desplegarlo.
-
Haz click en el item All projects.
-
Pulsa el botón de New project, que abrirá una nueva ventana.
-
Con la opción + New, asigna un Name al proyecto.
-
Pulsa Create.
4. Asocia los espacios de trabajo al Caso de Uso
Para habilitar el trackeo del prompt por el AI use case creado anteriormente, el proyecto y espacio de despliegue tienen que estar asociados con las diferentes etapas del caso de uso. Los proyectos pueden contener modelos, activos, metadatos, y controles de acceso necesarios para la gobernanza de IA. Asociar estos espacios de trabajo a las diferentes etapas de los casos de uso permite organizar y visualizar los materiales de gobierno de manera lógica.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item AI Governance para desplegarlo.
-
Haz click en el item AI use cases.
-
Localiza el AI use case creado previamente y haz click para abrirlo.
-
Baja hasta la sección Associated workspaces, dónde están las tres etapas del ciclo de vida del modelo: Develop, Validate, y Operate. Los espacios de trabajo (Projects o Deployment spaces) pueden asociarse con cualquiera de estas etapas.
-
En la ficha Development, pulsa en Associate workspace, lo que abrirá una ventana.
-
En la sección Projects, marca el proyecto creado previamente.
-
Haz click en Save para guardar esta asociación.
-
Repite para la ficha Validation, marcando el espacio creado previamente.
5. Crea un Prompt Template
El Prompt Template es una herramienta diseñada para estructurar y estandarizar las instrucciones proporcionadas al modelo de IA generativa. Permite configurar variables que almacenarán la información específica para cada interacción, facilitando la reproducibilidad del comportamiento buscado del modelo para el caso de uso definido.
Además, el prompt template también lleva asociada una configuración de parámetros como el número de tokens máximo y mínimo de la respuesta, la penalización por repetición, o el método de decoding, así como el modelo que va a generar la respuesta.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item Projects para desplegarlo.
-
Haz click en el item All projects.
-
Abre el proyecto creado previamente.
-
Pulsa el botón de New asset, que abrirá una nueva ventana.
-
Haz click en Chat and build prompts with foundation models with Prompt Lab, lo que abrirá el Prompt Lab.
-
Existen 3 maneras diferentes de estructurar el prompt: para interacción por chat (Chat), de manera estructurada con ejemplos (Structured), o de manera libre (Freeform), dónde hay que configurar manualmente las etiquetas adecuadas. Selecciona esta última pestaña: Freeform.
-
Copia el siguiente texto y pégalo en el área de texto para el prompt.
<|start_of_role|>user<|end_of_role|> Classify the following ticket into one of these categories: Access, Consulting, Database, Development, Email, Hardware, Network, Network services, Printer, Security, Software, Support, Training, VPN, Website. Only provide one of these tags in your answer, no extra text. Ticket: {ticket} <|end_of_text|> <|start_of_role|>assistant<|end_of_role|> Tag:"""
-
El valor entre corchetes es una variable, que hay que configurar. En la parte superior derecha, haz click en {#}, que abrirá la ventana Prompt variables.
-
Haz click en New variable.
-
Asigna el texto incluido entre corchetes en el prompt como el nombre Variable.
-
En la parte superior derecha, selecciona el modelo a utilizar en el desplegable. Además de las opciones de esta lista, puedes pulsar en View all foundation models para ver las fichas y seleccionar de todos los modelos disponibles en plataforma.
-
Selecciona llama-3-1-70b-instruct. El etiquetado del prompt es el adecuado para este modelo. Cada modelo tiene sus etiquetas y estructura de prompting recomendada.
-
En la parte superior derecha, haz click en el último icono. Se abrirá la ventana Model parameters.
-
Selecciona el método de Decoding Greedy y configura Min tokens a 0 y Max tokens a 200.
-
Una vez configurado el prompt, pulsa en el icono de guardar en la parte superior, y selecciona Save as.
-
En la ventana abierta, selecciona Prompt template, define un Name, y selecciona Classification como Task.
-
Pulsa Save para guardar el prompt template en el proyecto.
6. Trackea el Prompt Template
En este paso, se busca asociar el prompt template al AI use case creado previamente, para realizar el seguimiento del modelo y poder visualizarlo en su ciclo de vida. Esto permitirá también asociar lógicamente las diferentes versiones del prompt y su paso por los distintos espacios de trabajo, así como su evaluación.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item Projects para desplegarlo.
-
Haz click en el item All projects.
-
Abre el Proyecto creado previamente.
-
Localiza el Prompt Template creado, y pulsa en los tres puntos del lateral derecho para abrir el menú.
-
Pulsa en Go to AI Factsheet, para abrir la ficha del prompt template.
-
Revisa la información recopilada en esta pantalla, incluyendo datos sobre el modelo fundacional en el que se construye, el prompt, su tarea, así como los parámetros. Se rastrean automáticamente los metadatos del prompt sin ningún esfuerzo manual.
-
Sube hacia la primera sección, y pulsa Track AI use case para asignar el prompt template al caso de uso creado.
-
En la pantalla Define approach, deberás crear un nuevo enfoque para esta vía de uso de IA generativa. Haz click en New approach. Selecciona un Icon, Color, y Name. Haz click en Create.
-
Deja seleccionada la opción Experimental. Ten en cuenta que aquí puedes asignar manualmente un número de versión, o elegir un número de versión más adecuado, según el estado del modelo. Haz clic en Next para avanzar a la pantalla de revisión (Review).
-
Haz clic en Track asset para comenzar a rastrear el modelo. La AI Factsheet se recargará e incluirá la información del caso de uso.
-
Si navegas de nuevo hasta el AI use case, verás que ahora contiene también la información del prompt template en la etapa Develop del Lifecycle.
7. Despliega el Prompt Template
A continuación, promocionarás el prompt template a un espacio de despliegue y lo desplegarás.
-
Localiza el Prompt Template creado, y pulsa en los tres puntos del lateral derecho para abrir el menú.
-
Pulsa en Promote to space, lo que abrirá una ventana.
-
Selecciona el Deployment space creado previamente en Target space.
-
Selecciona la casilla Go to the space after promoting the prompt template.
-
Haz click en Promote.
-
El prompt template está promocionado al espacio de despliegue, pero todavía no está desplegado.
-
Para desplegarlo, pulsa en la esquina superior derecha en New deployment.
-
Asigna un Name y un Serving name.
-
Pulsa en Create. El despliegue estará ahora online, preparado para recibir peticiones vía API.
-
Revisa la AI Factsheet, que ahora contendrá también la información de despliegue en la etapa de Validation.
8. Evalúa el Prompt Template
Una vez desplegado el prompt template, sólo queda evaluarlo con un conjunto de datos.
-
En la ventana del despliegue, abre la pestaña Evaluations.
-
Pulsa Evaluate, lo que abrirá una ventana.
-
En la pantalla Select dimensions to evaluate, puedes dejar marcadas las dos casillas definidas. Para explorar las métricas incluidas en ambas categorías y configurar sus umbrales, haz click en Advanced settings. Después, pulsa Cancel para volver a la pantalla previa.
-
Haz click en Next.
-
Arrastra el archivo support-tickets-es.csv que contiene los datos de evaluación.
-
Pulsa en el desplegable Input, y selecciona "text".
-
Pulsa en el desplegable Reference output, y selecciona "label".
-
Haz click en Next.
-
Pulsa Evaluate para comenzar la evaluación, que puede durar unos minutos.
-
Una vez completada, explora la sección Quality - Text classification, que incluye los resultados para todas las métricas con sus alertas asociadas.
-
Pulsa el icono de la flecha, que abrirá una pantalla con más información, como una matriz de confusión y cada uno de los registros.
-
Si visitas la pestaña Model health, visualizarás datos históricos de latencia, rendimiento, o número de usuarios. Esta información puede ser útil para los equipos de infraestructura e ingeniería, ya que asegura que los modelos están respondiendo a las solicitudes de aplicaciones en un tiempo razonable, y que los costes computacionales se mantienen en niveles adecuados.
-
Si pulsas en Time settings podrás configurar la ventana de tiempo para las evaluaciones que quieres visualizar.
9. Visualiza el ciclo de vida completo
Para finalizar, visualiza el ciclo de vida completo actualizado en la AI Factsheet y AI use case.
-
En la ventana del despliegue, abre la pestaña AI Factsheet.
-
Esta pantalla incluye exclusivamente información sobre las métricas del despliegue. Para visualizar la ficha completa, pulsa en el icono de More details.
-
También puedes volver al AI use case desde el menú desplegable lateral, y una vez abierto, explorar el ciclo de vida en la pestaña Lifecycle.
10. Tarea: Promociona a un espacio de despliegue de producción
¡Hazlo tú!
Para completar este último paso, deberás crear un nuevo espacio de despliegue para producción, y deberás promocionar el prompt template a este espacio para ser puesto en operación y completar el ciclo de vida.
Al completar este paso, las tres fases estarán pobladas en la AI Factsheet del modelo y en el ciclo de vida del AI usecase.
11. Conclusiones
¡Enhorabuena! Has completado este laboratorio.
¿Qué hemos aprendido?
- A lo largo de este laboratorio, has seguido el ciclo de vida del modelo, desde la concepción inicial del caso de uso hasta el desarrollo, el despliegue y la validación.
- Observaste cómo la plataforma watsonx.governance ofrece una solución integral para gestionar los modelos, rastreando los metadatos y el rendimiento de los modelos en cada fase del ciclo de vida.
- Exploraste las formas en que watsonx.governance automatiza tareas como la recopilación de métricas y la generación de informes, proporcionando esa información de manera fluida en un entorno completamente gestionado, para que los interesados puedan tomar decisiones basadas en los datos más actualizados.
Siguientes pasos
Lab 2: Gobernando un modelo de IA predictiva
Prerrequisitos
- Antes de comenzar este laboratorio, debes haber completado los pasos 1 al 4 del Lab 1: Gobernando prompts de IA generativa, para tener configurados el AI use case, y el Project y Deployment space asociados.
- Comprueba que te encuentras en la plataforma Cloud Pak for Data.
En este laboratorio, continuarás con la tarea comenzada en el Lab 1: Gobernando prompts de IA generativa. Con el mismo caso de uso, etiquetado de tickets de soporte, probarás un nuevo enfoque con IA predictiva en lugar de generativa. Este modelo será gobernado de la misma manera, asociado al AI use case creado previamente.
1. Crea un Model
-
Además de Prompt Templates, la plataforma de watsonx.ai permite construir y desplegar Models, modelos de IA tradicional, con un comportamiento y capacidades similares a las del Prompt Template. Estos modelos pueden gobernarse en todo su ciclo de vida, para almacenar datos como las métricas de entrenamiento o el algoritmo empleado para construirlo.
Para este laboratorio, partiremos de un modelo ya entrenado, que alojarás en el Project creado previamente para trabajar desde ahí.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item Projects para desplegarlo.
-
Haz click en el item All projects.
-
Abre el proyecto creado previamente.
-
En la parte superior, pulsa el botón de Export or import project.
-
Haz click en Import project, lo que abrirá una nueva ventana.
-
Arrastra la carpeta model.zip, que contiene un modelo de clasificación.
-
Marca la casilla en la que se indica que los activos contenidos en esta carpeta sobreescribirán los activos del mismo nombre en el Project de destino.
-
Pulsa Import.
-
El Model ahora aparecerá como activo en el Project. Puedes explorar su AI Factsheet, que contiene las métricas de entrenamiento y otros datos.
2. Trackea el Model
En este paso, se busca asociar el model al AI use case creado previamente, para realizar el seguimiento del modelo y poder visualizarlo en su ciclo de vida. Lo almacenaremos junto al prompt template en otro enfoque (approach).
-
En el Project, localiza el Model creado y haz click para abrirlo.
-
En la AI Factsheet del modelo, pulsa en Track in AI use case, lo que abrirá una nueva ventana.
-
En la pantalla Define approach, deberás crear un nuevo enfoque para esta vía de uso de IA predictiva. Haz click en New approach.
-
Selecciona un Icon, Color, y Name que lo diferencie del approach de IA generativa.
-
Haz click en Create.
-
Selecciona el Approach recién creado y haz click en Next.
-
Deja seleccionada la opción Experimental. Ten en cuenta que aquí puedes asignar manualmente un número de versión, o elegir un número de versión más adecuado, según el estado del modelo. Haz clic en Next para avanzar a la pantalla de revisión (Review).
-
Haz clic en Track asset para comenzar a rastrear el modelo. La AI Factsheet se recargará e incluirá la información del caso de uso.
3. Despliega el Model
A continuación, promocionarás el model al espacio de despliegue y lo desplegarás.
-
Localiza el Model creado, y pulsa en los tres puntos del lateral derecho para abrir el menú.
-
Pulsa en Promote to space, lo que abrirá una ventana.
-
Selecciona el Deployment space creado previamente en Target space.
-
Selecciona la casilla Go to the space after promoting.
-
Haz click en Promote.
-
El model está promocionado al espacio de despliegue, pero todavía no está desplegado.
-
Para desplegarlo, pulsa en la esquina superior derecha en New deployment.
-
Asigna un Name y un Serving name.
-
Pulsa en Create. Espera a que se complete el despliegue, puede llevar unos momentos. Cuando el despliegue esté online, ya estará preparado para recibir peticiones vía API.
-
Revisa la AI Factsheet, que ahora contendrá también la información de despliegue en la etapa de Validation.
4. Evalúa el Model
Una vez desplegado el model, sólo queda evaluarlo con un conjunto de datos.
-
En la ventana del despliegue, abre la pestaña Evaluations.
-
Pulsa Configure OpenScale evaluation settings, lo que abrirá una ventana.
-
En la pantalla Prepare for evaluation, deja marcado Sytem-managed y selecciona Unstructured text como Data type.
-
Como Algorithm type, selecciona Multi-class classification.
-
Haz click en View summary.
-
Haz click en Finish.
-
En la pantalla Configure OpenScale evaluation settings, abre la configuración de la métrica Quality.
-
Haz click en el botón de edición.
-
Acepta los valores predeterminados para los umbrales, pulsando Next.
-
Configura el Minimum sample size a 100 y haz click en Save..
-
Una vez configurada la métrica, cierra esta ventana.
-
Haz click en el desplegable de Actions.
-
Pulsa Evaluate now.
-
En esta ventana, selecciona from CSV en la sección Import, y arrastra el archivo support-tickets-es.csv que contiene los datos de evaluación, y pulsa Upload and evaluate. La casilla Test data includes model output NO debe estar marcada.
-
La evaluación puede llevar unos minutos. Una vez completada, explora la sección Quality, que incluye los resultados para todas las métricas con sus alertas asociadas. Pulsa el icono de la flecha, que abrirá una pantalla con más información, como una matriz de confusión y cada uno de los registros.
5. Visualiza el ciclo de vida completo
Para finalizar, visualiza el ciclo de vida completo actualizado en la AI Factsheet y AI use case.
-
En la ventana del despliegue, abre la pestaña AI Factsheet.
-
Esta pantalla incluye exclusivamente información sobre las métricas del despliegue. Para visualizar la ficha completa, pulsa en el icono de More details.
-
También puedes volver al AI use case desde el menú desplegable lateral, y una vez abierto, explorar el ciclo de vida en la pestaña Lifecycle.
6. Tarea: Promociona a un espacio de despliegue de producción
¡Hazlo tú!
Para completar este último paso, deberás pasar el model al espacio de despliegue creado en el laboratorio anterior para ser puesto en operación y completar el ciclo de vida.
Al completar este paso, las tres fases estarán pobladas en la AI Factsheet del modelo y en el ciclo de vida del AI usecase.
7. Conclusiones
¡Enhorabuena! Has completado este laboratorio.
¿Qué hemos aprendido?
Como en el laboratorio anterior, observaste cómo la plataforma watsonx.governance ofrece una solución integral para gestionar los modelos, rastreando los metadatos y el rendimiento de los modelos en cada fase del ciclo de vida.
Siguientes pasos
Ended: Día 1: Trazabilidad del ciclo de vida
Día 2: Monitorización y Evaluación de IA ↵
Monitorización y Evaluación de IA con watsonx.governance
La monitorización de los modelos de IA es un aspecto crítico de la gobernanza de los modelos, ya que permite a los equipos de desarrollo y operaciones asegurarse de que los modelos en producción siguen funcionando de acuerdo a los estándares de calidad y rendimiento establecidos.
En watsonx.governance, la monitorización se basa en la captura de métricas de rendimiento y calidad de los modelos en producción, este proceso es realizado por el servicio de IBM Watson OpenScale, que permite monitorizar y gestionar despliegues de modelos de IA, desde aquellos en entornos de desarrollo hasta los despliegues en producción.
Las métricas de evaluación calculadas y registradas en OpenScale son automáticamente sincronizadas con AI factsheets para visualizar y analizar estos datos de una forma más accesible. Además, la plataforma ofrece la posibilidad de configurar alertas y notificaciones para detectar desviaciones en el rendimiento de los modelos y tomar medidas correctivas de forma proactiva.
En este módulo de formación, aprenderemos a monitorizar un modelo de IA generativa desplegado en Azure OpenAI utilizando la plataforma de watsonx.governance. Tambien aprenderemos a configurar métricas y facts personalizadas para evaluar el rendimiento de esos modelos y trazarlos de una forma que se alinea más con las necesidades de negocio de la organización.
Flujo de Monitorización y Evaluación
El flujo de monitorización de OpenScale se compone de la siguientes forma:
- Al crear un despliegue en la plataforma de IBM watsonx, se crea una subscripción en OpenScale que representa el modelo desplegado.
- Una vez configuradas las métricas y monitores de calidad, OpenScale comienza a capturar los datos de entrada y salida (payload logging) del modelo cada vez que se realiza una evaluación (en desarrollo o pre-producción), o tras cada inferencia si el modelo está en producción.
- Todos los datos de monitorización y métricas calculadas son almacenados en una base de datos conocida como datamart (generalmente una base de datos Db2 o PostgreSQL).
- Dependiendo del monitor configurado, OpenScale calcula las métricas de calidad y rendimiento del modelo periodicámente (normalmente cada hora) y las registra en el datamart.
- Nota: Si el modelo no ha registrado nuevos payloads desde la última evaluación, OpenScale no realizará el cálculo de métricas.
- Las métricas calculadas son visualizadas en la interfaz de usuario de OpenScale y sincronizadas con AI factsheets para su análisis y visualización.
Referencias
Lab 3: Gobernando un prompt de IA generativa sobre un modelo externo (Azure OpenAI)
Prerrequisitos
- Antes de comenzar este laboratorio, debes haber completado los pasos 2 y 3 del Lab 1: Gobernando prompts de IA generativa, para tener configurados el Project y Deployment space.
- Además, debes tener a mano las credenciales del Cloud Pak for Data en el que estás trabajando y las de acceso a Azure OpenAI.
En este laboratorio, gobernarás un prompt para modelo fundacional de una plataforma externa, Azure OpenAI. En este caso, el departamento de soporte quiere utilizar un modelo de IA generativa para generar una propuesta de acciones para el agente asignado a un ticket de soporte, lo que creen que también reducirá significativamente la carga de trabajo del equipo y los tiempos de respuesta. De nuevo, es necesario configurar un sistema capaz de monitorizar y evaluar el prompt para atajar sus preocupaciones antes de ponerlo en producción.
Para esto, configurarás un activo de watsonx.ai llamado Detached Prompt Template, haciendo uso de las APIs disponibles para la plataforma y viendo cómo se integran con la interacción vía interfaz.
1. Definir un Caso de Uso de IA
Debes crear un AI use case para gobernar el prompt de resumen de tickets.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item AI Governance para desplegarlo.
-
Haz click en el item AI use cases.
-
Pulsa el botón de New AI use case, que abrirá una nueva ventana.
-
Pon un Name al caso de uso.
-
Pon una Description para la necesidad de negocio que se está intentando resolver.
-
Utiliza el desplegable para asignar el Risk Level apropiado.
-
Utiliza el desplegable para asignar el Inventory apropiado.
-
Asigna un Status en el desplegable del lateral derecho.
-
Pulsa Create. Después de unos minutos, el caso de uso estará creado.
-
Baja hasta la sección Associated workspaces, dónde están las tres etapas del ciclo de vida del modelo: Develop, Validate, y Operate. Los espacios de trabajo (Projects o Deployment spaces) pueden asociarse con cualquiera de estas etapas. En la ficha Development, pulsa en Associate workspace, lo que abrirá una ventana.
-
En la sección Projects, marca el proyecto creado previamente.
-
Haz click en Save para guardar esta asociación.
-
Repite para la ficha Validation, marcando el espacio creado previamente.
2. Crea un Prompt Template para un modelo externo
En esta sección crearemos el Detached Prompt Template. Este activo no se puede generar desde la interfaz, por lo que utilizaremos la API de watsonx.governance en un notebook en el proyecto.
-
Abre el menú lateral en la esquina superior izquierda.
-
Haz click en el item Projects para desplegarlo.
-
Haz click en el item All projects.
-
Abre el proyecto creado previamente.
-
Pulsa el botón de New asset, que abrirá una nueva ventana.
-
Haz click en Work with data and models in Python or R notebooks with Jupyter notebook editor, lo que abrirá una nueva ventana.
-
Pulsa en la opción Local file.
-
Asigna un Name.
-
Sube este notebook en Notebook file.
-
Pulsa Create.
-
Una vez abierto el notebook, ejecuta cada una de las celdas siguiendo las instrucciones, y editando los valores requeridos de las credenciales.
¿Dónde puedo encontrar las credenciales?
Credenciales Cloud Pak for Data
- CPD_URL: la URL del Cloud Pak con el que estás trabajando. Simplemente, copia la URL de la barra de dirección.
- CPD_USERNAME: el usuario que utilizas para iniciar sesión en el Cloud Pak.
-
CPD_APIKEY: una API key generada para tu usuario. Deberás crearla y guardarla en un lugar seguro, ya que no podrás recuperarla sin revocarla.
-
PROJECT_ID: el identificador del Project donde se desplegará el Detached Prompt Template.
Credenciales Azure OpenAI
Te las proporcionará el equipo de la formación.
-
Al finalizar la ejecución, habrás creado un Detached Prompt Template disponible como activo en el proyecto.
3. Trackea el Prompt Template para un modelo externo
En este paso se busca asociar el detached prompt template al AI use case creado previamente, para realizar el seguimiento del modelo y poder visualizarlo en su ciclo de vida.
-
Localiza el Detached Prompt Template creado, y pulsa en los tres puntos del lateral derecho para abrir el menú.
-
Pulsa en Go to AI Factsheet, para abrir la ficha del prompt template.
-
Revisa la información recopilada en esta pantalla, incluyendo datos sobre el modelo fundacional externo en el que se construye, el prompt, y su tarea.
-
Sube hacia la primera sección, y pulsa Track AI use case para asignar el detached prompt template al caso de uso creado.
-
Selecciona el último AI use case creado y pulsa Next.
-
En la pantalla Define approach, deja el Default Approach y pulsa Next.
-
Deja seleccionada la opción Experimental y haz clic en Next para avanzar a la pantalla de revisión (Review).
-
Haz clic en Track asset para comenzar a rastrear el modelo.
-
La AI Factsheet se recargará e incluirá la información del caso de uso.
4. Evalúa el Prompt Template para un modelo externo
En esta sección evaluaremos el Detached Prompt Template de nuevo desde un Jupyter notebook haciendo uso de la API de OpenScale.
-
Repite los pasos de la sección 2 para subir este notebook al proyecto.
-
Ejecuta cada una de las celdas siguiendo las instrucciones, y editando los valores requeridos de las credenciales.
¿Dónde puedo encontrar las credenciales y el asset ID?
Credenciales Cloud Pak for Data
- CPD_URL, CPD_USERNAME, CPD_APIKEY, PROJECT_ID: los mismos valores que utilizaste en el paso 2.11
-
ASSET_ID: el identificador del Detached Prompt Template creado.
-
Al finalizar la ejecución, habrás evaluado un Detached Prompt Template, y los resultados estarán disponibles en la AI Factsheet asociada.
5. Tarea: Explora OpenScale
¡Hazlo tú!
Explora la interfaz de OpenScale:
6. Tarea: Genera un report del Prompt Template
7. Conclusiones
¡Enhorabuena! Has completado este laboratorio.
¿Qué hemos aprendido?
- Hemos el SDK de Python del servicio de AI Factsheets para interactuar con watsonx.governance.
- Hemos utilizado el SDK de Python del servicio de IBM Watson OpenScale para interactuar con watsonx.governance.
- Hemos creado y evaluado un Prompt Template sobre un modelo externo a la plataforma de watsonx.ai.
Siguientes pasos
Lab 4: Construyendo facts y métricas personalizadas
Prerrequisitos
- Antes de comenzar este laboratorio, debes haber completado el Lab 3: Gobernando un prompts de IA generativa sobre un modelo externo, para tener configurados el AI use case, y el Project y Deployment space asociados.
- Comprueba que te encuentras en la plataforma Cloud Pak for Data.
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.
- 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.
- 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.
-
Navega al proyecto en que has creado el prompt template en el laboratorio anterior.
-
Pulsa el botón de New asset, que abrirá una nueva ventana.
-
Haz click en Work with data and models in Python or R notebooks with Jupyter notebook editor, lo que abrirá una nueva ventana.
-
Pulsa en la opción Local file.
-
Asigna un nombre al notebook, por ejemplo,
Lab 4.1 - Custom Facts
. -
Descarga este notebook y súbelo desde la pestaña Notebook file.
-
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.
¡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:
- Obtenga como input el ticket de soporte y la propuesta de acción generada por el modelo.
- 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.
- 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.
-
Navega al proyecto en que has creado el prompt template en el laboratorio anterior.
-
Pulsa el botón de New asset y selecciona Work with data and models in Python or R notebooks with Jupyter notebook editor.
-
Pulsa en la opción Local file y asigna un nombre al notebook, por ejemplo,
Lab 4.2 - Custom Metrics
. -
Descarga este notebook y súbelo desde la pestaña Notebook file.
-
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.
Ended: Día 2: Monitorización y Evaluación de IA
Otros ↵
No aparece Evaluations en la página Deployment
Asegúrate de que estás en la plataforma correcta: para activos de IA generativa, watsonx; para activos de IA tradicional, Cloud Pak for Data.
Error: The columns in the data are not matching the output data. Missing columns ['probability', 'prediction']. Extra columns: []
Desmarca la casilla Test data includes model output y vuelve a subir los datos de test.
Más recursos
Ejemplos de código/notebooks
- Trabajando con métricas de RAG en watsonx.governance – GitHub
- End-to-End con AI Factsheets en Cloud Pak for Data – GitHub
- Creación de un Custom Metrics Provider for Cloud Pak for Data (OpenScale) – Github
- Trazabilidad de un modelo de SciKit Learn – GitHub
- IBM AI Factsheets Python SDK Samples – GitHub
- IBM Watson OpenScale Python SDK Samples – GitHub
- IBM Watson Machine Learning Python SDK Samples – GitHub
Referencias a Librerías y APIs
- ibm-watsonx-ai – Librería Python WML
- ibm-aigov-facts-client – Librería Python AI Factsheets
- Referencia de la API REST de AI Factsheets
- ibm-watson-openscale – Librería Python OpenScale
- Referencia de la API REST de OpenScale
Documentación Oficial
Si tienes alguna pregunta o necesitas asistencia con los laboratorios, ponte en contacto con nosotros:
-
| Guillermo Bogran
AI Engineer / Data Scientist
-
| Simón S. Viloria
AI Engineer / Data Scientist
-
| Maialen Espí Landa
AI Engineer / Data Scientist