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.