La Capa de Atención en Modelos de Lenguaje

Por Eduardo Cesar Garrido Merchán

Profesor de Métodos Cuantitativos, Universidad Pontificia Comillas.

Pincha aquí para ver el vídeo sobre este post

Bienvenidos a esta nueva entrada donde exploraremos el mecanismo de atención, un avance crucial en 2017 que permitió el nacimiento de los modelos largos de lenguaje. Este componente es fundamental para entender cómo funcionan modelos como ChatGPT.

El mecanismo de atención es una capa especial en las redes neuronales que nos ayuda a determinar cómo cada palabra de un prompt se relaciona con todas las demás. Esto permite recombinar todas las palabras (o puntos en un espacio semántico) de un prompt para encontrar la palabra que debería seguir. Las capas de atención se insertan entre las capas ocultas de la red neuronal, tanto en el modelo codificador, que coloca un prompt en un punto del espacio de word embeddings, como en el decodificador, que transforma ese punto en el formato de salida deseado. Gracias a este mecanismo, los pesos de la red no son solo una combinación lineal de todas las entradas, sino que representan relaciones de dependencia entre todos los términos, ayudándonos con tareas como la desambiguación de términos. Por ejemplo, la palabra «banco» puede referirse a un banco de peces, una entidad financiera, o un banco en un parque. El mecanismo de atención ayuda a resolver estas ambigüedades.

Formalmente, el mecanismo de atención se basa en una fórmula matemática que combina matrices de datos de entrada y pesos. Aunque puede parecer complejo, tiene una lógica clara. Supongamos que tenemos tres matrices de entrada y una matriz de salida. La matriz de salida, Z, representa las dependencias entre palabras o unidades semánticas. Las tres matrices de entrada son Q (queries), K (keys) y V (values). Aquí está el proceso paso a paso:

    1. Query (Q): Contiene los valores de entrada que queremos combinar con todos los demás para desambiguarlos.
    2. Key (K): Similar a Q, pero transformado con un conjunto diferente de pesos. La multiplicación de Q con K ayuda a encontrar el contexto de las palabras polisémicas.
    3. Value (V): La multiplicación de la salida de la capa softmax (que normaliza los resultados) con V proporciona la mejor representación para la capa de salida.

Esta operación se repite en cada capa de atención para encontrar patrones semánticos cada vez más complejos.

Para ilustrar el mecanismo de atención, consideremos un ejemplo de traducción. Si ponemos la frase, «Eduardo Garrido es un profesor de la Universidad de Miskatonic», el sistema puede trazar cómo cada palabra se relaciona con su traducción en inglés. La frase en inglés no tiene la misma longitud ni el mismo orden que la frase en español, pero el mecanismo de atención puede relacionar la similitud semántica de cada término con su correspondiente en inglés. Por ejemplo, «Universidad» se relaciona con «University». Las palabras en español «de la» se relacionan con «at» en inglés, y su suma de probabilidades se normaliza gracias a la operación softmax.

El mecanismo de atención es solo una de las muchas herramientas que permiten que los transformadores funcionen de manera tan efectiva en modelos largos de lenguaje. En siguientes entradas veremos más.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *