LLM y Transformers desde cero: el decodificador |  por Luis Roque

Exploración de la arquitectura del decodificador del transformador: atención enmascarada de múltiples cabezales, atención codificador-decodificador e implementación práctica

Esta publicación fue escrita en coautoría con Rafael Nardi.

En este artículo profundizamos en el componente decodificador de la arquitectura del transformador, centrándonos en sus diferencias y similitudes con el codificador. La característica única del decodificador es su naturaleza iterativa en forma de bucle, que contrasta con el procesamiento lineal del codificador. Son fundamentales para el decodificador dos formas modificadas del mecanismo de atención: atención enmascarada de múltiples cabezales y atención de múltiples cabezales codificador-decodificador.

La atención enmascarada de múltiples cabezales en el decodificador garantiza el procesamiento secuencial de tokens, un método que evita que cada token generado se vea influenciado por tokens posteriores. Este enmascaramiento es importante para mantener el orden y la coherencia de los datos generados. La interacción entre la salida del decodificador (de la atención enmascarada) y la salida del codificador se resalta en la atención del codificador-decodificador. Este último paso proporciona el contexto de entrada al proceso del decodificador.

También demostraremos cómo se implementan estos conceptos usando Python y NumPy. Hemos creado un ejemplo sencillo de traducción de una frase del inglés al portugués. Este enfoque práctico ayudará a ilustrar el funcionamiento interno del decodificador en un modelo transformador y proporcionará una comprensión más clara de su función en los modelos de lenguajes grandes (LLM).

Figura 1: Decodificamos el decodificador LLM (imagen del autor usando DALL-E)

Como siempre, el código está disponible en nuestro GitHub.

Después de describir el funcionamiento interno del codificador en la arquitectura del transformador en nuestro artículo anterior artículo, veremos el siguiente segmento, la parte del decodificador. Al comparar las dos partes del transformador creemos que es instructivo enfatizar las principales similitudes y diferencias. El mecanismo de atención es el núcleo de ambos. Específicamente, ocurre en dos lugares en el decodificador. Ambos tienen modificaciones importantes en comparación con la versión más simple presente en el codificador: atención multicabezal enmascarada y atención multicabezal codificador-decodificador. Hablando de diferencias, señalamos el…