Analiza el comportamiento del modelo con herramientas de interpretabilidad

Si bien un enfoque responsable de la IA debe incluir políticas de seguridad, técnicas para mejorar la seguridad del modelo y cómo compilar artefactos de transparencia, tu enfoque para ser responsable con la IA generativa no debería ser simplemente seguir una lista de tareas. Los productos de IA generativa son relativamente nuevos, y los comportamientos de una aplicación pueden variar más que las formas de software anteriores. Por este motivo, debes sondear los modelos de aprendizaje automático en uso, examinar los ejemplos de comportamiento del modelo y, además, investigar las sorpresas.

En la actualidad, las instrucciones son tanto arte como ciencia, pero existen herramientas que pueden ayudarte a mejorar de forma empírica las instrucciones para modelos grandes de lenguaje, como la Herramienta de interpretabilidad de aprendizaje (LIT). LIT es una plataforma de código abierto desarrollada para visualizar, comprender y depurar modelos de IA/AA. A continuación, se muestra un ejemplo de cómo se puede usar la LIT para explorar el comportamiento de Gemma, anticipar problemas potenciales y mejorar su seguridad.

Puedes instalar la LIT en tu máquina local, en Colab o en Google Cloud. Para comenzar a usar LIT, importa tu modelo y un conjunto de datos asociado (p.ej., un conjunto de datos de evaluación de seguridad) en Colab. LIT generará un conjunto de resultados para el conjunto de datos con tu modelo y te proporcionará una interfaz de usuario a fin de explorar el comportamiento del modelo.

Cómo analizar modelos de Gemma con LIT

Iniciar codelab Iniciar Google Colab

Animación de la interfaz de usuario de la Herramienta de interpretabilidad de aprendizaje (LIT)

En esta imagen, se muestra la interfaz de usuario de LIT. El Editor de datos en la parte superior permite a los usuarios editar sus instrucciones. En la parte inferior, el módulo de importancia de LM les permite verificar los resultados de relevancia.

Identifica errores en instrucciones complejas

Dos de las técnicas de instrucción más importantes para prototipos y aplicaciones de alta calidad basados en LLM son las instrucciones con ejemplos limitados (incluidos los ejemplos del comportamiento deseado en la instrucción) y la cadena de pensamiento, que incluye una forma de explicación o razonamiento antes del resultado final del LLM. Sin embargo, crear una instrucción eficaz suele ser un desafío.

Considera un ejemplo de cómo ayudar a alguien a evaluar si le gustará una comida en función de sus gustos. Un prototipo de plantilla de instrucción inicial de cadena de pensamiento podría tener el siguiente aspecto:

Analyze a menu item in a restaurant.


## For example:


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in France is usually great
Recommendation: Likely good.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in France
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.


## Now analyse one more example:


Taste-likes: {{users-food-like-preferences}}
Taste-dislikes: {{users-food-dislike-preferences}}
Suggestion: {{menu-item-to-analyse}}
Analysis:

¿Detectaste algún problema con esta instrucción? LIT te ayudará a examinar la instrucción con el módulo de importancia de LM.

Usa la relevancia de la secuencia para la depuración

La prominencia se calcula en el nivel más bajo posible (es decir, para cada token de entrada), pero la LIT puede agregar la asequibilidad de tokens en intervalos más grandes que sean más interpretables, como líneas, oraciones o palabras. Obtén más información sobre la relevancia y cómo usarla para identificar sesgos no deseados en nuestro artículo sobre la importancia interactiva de la exploración.

Comencemos por darle a la instrucción una nueva entrada de ejemplo para las variables de plantilla de instrucción:

{{users-food-like-preferences}} = Cheese
{{users-food-dislike-preferences}} = Can't eat eggs
{{menu-item-to-analyse}} = Quiche Lorraine

Una vez hecho esto, se puede observar una finalización sorprendente del modelo:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: A savoury tart with cheese and eggs
Recommendation: You might not like it, but it's worth trying.

¿Por qué el modelo sugiere que comas algo que claramente dijiste que no puedes comer?

La importancia de la secuencia puede ayudar a destacar el problema raíz, que se encuentra en nuestros ejemplos con ejemplos limitados. En el primer ejemplo, el razonamiento de la cadena de pensamiento en la sección de análisis no coincide con la recomendación final. Un análisis de "Le cocinó cebolla, algo que no te gusta", se combina con una recomendación de "Tienes que probarlo".

Interfaz de usuario de LIT que muestra el análisis de relevancia de la secuencia de instrucciones

Esto destaca un error en el mensaje inicial: hubo una copia accidental de la recomendación (You have to try it!) para el primer ejemplo con ejemplos limitados. Puedes ver la intensidad de la prominencia en la instrucción a partir de la oscuridad del elemento destacado púrpura. La mayor prominencia se encuentra en el primer ejemplo con ejemplos limitados y, en particular, en las líneas correspondientes a Taste-likes, Analysis y Recommendation. Esto sugiere que el modelo está utilizando más estas líneas para hacer su recomendación final incorrecta.

En este ejemplo, también se destaca que el prototipado temprano puede revelar riesgos que quizás no se te ocurran de antemano, y la naturaleza propensa a errores de los modelos de lenguaje significa que debes diseñar de forma proactiva para detectar errores. Esto se analiza con más detalle en nuestra Guía sobre personas + IA para diseñar con IA.

Probar hipótesis para mejorar el comportamiento del modelo

LIT te permite probar los cambios en instrucciones dentro de la misma interfaz. En esta instancia, intenta agregar una constitución para mejorar el comportamiento del modelo. Las constituciones son propuestas de diseño con principios para guiar la generación del modelo. Los métodos recientes incluso permiten la derivación interactiva de principios constitucionales.

Usemos esta idea para mejorar aún más la instrucción. Usa el Editor de datos de LIT para agregar una sección con los principios de generación en la parte superior de nuestra instrucción, que ahora comienza de la siguiente manera:

Analyze a menu item in a restaurant.

* The analysis should be brief and to the point.
* It should provide a clear statement of suitability for someone with
  specific dietary restrictions.
* It should reflect the person's tastes

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: Avoid.

Con esta actualización, el ejemplo se puede volver a ejecutar y observar un resultado muy diferente:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: This dish contains eggs, which you can't eat.
Recommendation: Not suitable for you.

Luego, la precisión de los mensajes se puede volver a examinar para tener una idea de por qué se produce este cambio:

Interfaz de usuario de LIT que muestra el análisis de relevancia de instrucciones

En este ejemplo, "No apto para ti" se ve influenciado por el principio de "Proporciona una declaración clara de idoneidad para alguien con una restricción alimentaria específica" y la declaración del análisis explicativo que indica que el plato contiene huevos (la denominada cadena de pensamiento).

Incluir equipos no técnicos en el sondeo y la exploración de modelos

La interpretabilidad está destinada a ser un esfuerzo de equipo, que abarca la experiencia de las políticas, cuestiones legales y mucho más. Como viste, el medio visual y la capacidad interactiva de LIT para examinar la relevancia y explorar ejemplos pueden ayudar a las diferentes partes interesadas a compartir y comunicar los resultados. Esto puede permitirte incorporar una mayor diversidad de compañeros de equipo para la exploración, el sondeo y la depuración de modelos. Exponerlos a estos métodos técnicos puede mejorar la comprensión del funcionamiento de los modelos. Además, un conjunto de experiencia más diverso en las primeras pruebas de modelos también puede ayudar a descubrir los resultados no deseados que se pueden mejorar.

Resumen

Cuando encuentres ejemplos problemáticos en las evaluaciones de tu modelo, llévalos a LIT para su depuración. Comienza por analizar la unidad de contenido razonable más grande que puedas pensar que se relaciona lógicamente con la tarea de modelado, usa las visualizaciones para ver dónde el modelo asiste de manera correcta o incorrecta al contenido de la instrucción y, luego, desglosa unidades de contenido más pequeñas para describir en detalle el comportamiento incorrecto que observas y así identificar posibles correcciones.

Recursos para desarrolladores