Comprender la atención de los fantasmas en LLaMa 2 |  de Matthew Gunton |  enero de 2024

Esta publicación de blog explica el método de ajuste de Ghost Attention presentado en el artículo de LLaMa 2.

Imagen generada por DALL-E de una llama fantasma

Muchas veces, queremos que el LLM reciba una instrucción una vez y luego la siga hasta que se le indique lo contrario. Sin embargo, como muestra el siguiente ejemplo, los LLM pueden olvidar rápidamente las instrucciones después de algunos turnos de diálogo.

Figura 9 de el documento LLaMa 2 ilustrando cómo se pueden ignorar las instrucciones después de algunos turnos de diálogo

Una forma de lograr que el modelo preste atención de manera constante es agregar la instrucción a cada mensaje de usuario. Si bien esto funcionará, tiene el costo de poner más tokens en contexto, lo que limita la cantidad de turnos de diálogo que puede tener su LLM. ¿Cómo solucionamos esto? ¡Por afinación! Ghost Attention está destinado a permitir que el LLM siga instrucciones para más turnos de diálogo.

Comencemos imaginando nuestros diálogos como una matriz de datos. Tenemos un mensaje de usuario, seguido de un mensaje de asistente, y los dos van y vienen. Cuando el último elemento de nuestra matriz es un mensaje de usuario, esperaríamos que el LLM generara un mensaje como asistente.

Es importante destacar que nos aseguramos de que la instrucción no aparezca en ninguno de los mensajes del usuario excepto en el primero, ya que en el mundo real esta es probablemente la única vez que un usuario introduciría instrucciones de manera orgánica.

Imagen del autor: la matriz de datos que muestra mensajes alternos de usuario y asistente.

También en nuestra configuración hay un modelo de retroalimentación humana de aprendizaje por refuerzo (RLHF) del que podemos tomar muestras y saber cómo sería una buena respuesta al mensaje.

Con nuestra muestra y diálogo, realizamos un muestreo de rechazo: solicitamos al LLM que genere un número arbitrario de respuestas diferentes y luego las calificamos con el modelo RLHF. Guardamos la respuesta que ocupa el puesto más alto y utilizamos todas estas respuestas de mayor calidad para ajustar el modelo.

Imagen del autor: un diagrama que muestra cómo creamos los datos de ajuste que permitirán a nuestro modelo centrarse en las instrucciones para múltiples turnos de diálogo.

Cuando ajustamos nuestro diálogo y nuestra mejor muestra, establecemos la pérdida en cero para todos los tokens generados en turnos de diálogo anteriores. Hasta donde puedo decir, esto se hizo cuando los investigadores notaron esta mejora en el rendimiento.

Vale la pena señalar que, si bien Ghost Attention interactuará con el mecanismo de autoatención utilizado para los modelos Transformer, Ghost Attention no es en sí mismo un reemplazo de la autoatención, sino más bien una forma de brindarle al mecanismo de autoatención mejores datos para que recuerde. instrucciones dadas desde el principio en contextos más largos.

El artículo de LLaMa 2 destaca tres tipos específicos de instrucciones con las que probaron esto: (1) actuar como una figura pública, (2) hablar en un determinado idioma y (3) disfrutar de pasatiempos específicos. Como el conjunto de posibles figuras públicas y aficiones es grande, querían evitar que al LLM se le asignara una afición o una persona que no estuviera presente en los datos de formación. Para solucionar esto, le pidieron al LLM que generara la lista de pasatiempos y figuras públicas que luego le indicarían actuar; con suerte, si generaba el sujeto, era más probable que supiera cosas sobre él y, por tanto, menos propenso a alucinar. Para mejorar aún más los datos, harían que las instrucciones sean lo más concisas posible. No se discute si existen límites para los tipos de instrucciones que podrían darse, por lo que presumiblemente depende de nosotros probar qué tipos de instrucciones funcionan mejor en modelos ajustados mediante atención fantasma.

Entonces, ¿cuáles son los efectos de este nuevo método en el LLM?

Figura 28 del artículo de LLaMa 2 mostrando los resultados de Ghost Attention en nuevas instrucciones

En el artículo, adjuntan la imagen de arriba que muestra cómo reacciona el modelo a instrucciones que no se encuentran en su conjunto de datos de ajuste fino. A la izquierda, prueban la instrucción de “responder siempre con Haiku”, y a la derecha prueban la instrucción de sugerir actividades relacionadas con la arquitectura cuando sea posible. Si bien las respuestas del haiku parecen perder algunas sílabas a medida que avanza, no hay duda de que se intenta mantener el formato general en cada respuesta. El de arquitectura es especialmente interesante para mí, como puede ver, el modelo no menciona esto en el primer mensaje cuando no es relevante, pero sí lo menciona más tarde.

Pruebe esto usted mismo en la interfaz llama-2 de lmsys.org. Puede ver que, si bien no es tan perfecto como se muestra en las capturas de pantalla del artículo, sigue siendo mucho mejor que las versiones LLaMa 1.

Imagen del autor: una captura de pantalla del modelo llama-2–70b-chat en chat.lmsys.org siguiendo la instrucción “responder en emojis”

Es importante destacar que también vemos que esta metodología tiene un impacto en la atención del modelo. A continuación se muestra un gráfico de mapa de calor de la atención que el modelo presta a cada token. Los lados izquierdo e inferior del gráfico muestran tokens que se están colocando en el modelo. No vemos el lado superior derecho del gráfico porque genera el resto, por lo que los tokens que aparecerían más allá del token actual no están disponibles para el modelo. A medida que generamos más texto, podemos ver que hay más tokens disponibles. Los mapas de calor muestran valores más altos con colores más oscuros, por lo que cuanto más oscuro sea el color, más atención se prestará a esos tokens. Podemos ver que los tokens ‘Actuar como Oscar Wilde’ se vuelven progresivamente más oscuros a medida que generamos más tokens, lo que sugiere que se les presta cada vez más atención.

Figura 10 del artículo LLaMa2 mostrando un mapa de calor de atención antes y después de que se aplicara Ghost Attention

El artículo nos dice que después de más de 20 turnos, el contexto suele llenarse, provocando problemas de atención. Curiosamente, el gráfico que proporcionan en el apéndice también muestra que a medida que seguían ajustando el modelo, la puntuación que le asignaba el modelo RLHF seguía bajando. Sería interesante ver si esto se debe a que las instrucciones se estaban volviendo más largas, debido a su complejidad para cada lote posterior, o si de alguna manera estaba relacionado con una limitación de los datos que estaban usando para entrenar el modelo. Si es lo segundo, entonces es posible que con más datos de entrenamiento puedas pasar por más lotes antes de ver disminuir la puntuación. De cualquier manera, puede haber rendimientos decrecientes al realizar ajustes a través de Ghost Attention.

Figura 26 del artículo de LLaMa 2 mostrando cómo el modelo de recompensa calificó muestras rápidas después de cada lote