

Si alguna vez te has preguntado cómo los modelos de lenguaje como GPT (Generative Pre-trained Transformer) pueden generar oraciones coherentes y contextualmente relevantes, la respuesta está en el mecanismo de atención. El mecanismo de atención es un componente fundamental de la arquitectura de Transformer, que lo distingue de los enfoques recurrentes tradicionales para el modelado del lenguaje.
El mecanismo de atención se introdujo para mejorar el rendimiento del modelo codificador-decodificador para la traducción automática. La idea detrás del mecanismo de atención era permitir que el decodificador utilizara las partes más relevantes de la secuencia de entrada de manera flexible, mediante una combinación ponderada de todos los vectores de entrada codificados, atribuyéndose los pesos más altos a los vectores más relevantes.
En este blog, exploraremos el concepto de atención y cómo se emplea dentro de las arquitecturas de Transformer como GPT.
Cuando escribimos, la elección de la siguiente palabra en una oración está influenciada por las palabras que la preceden. Consideremos un ejemplo:
“El perezoso gris trató de ganar una carrera pero fue demasiado. . .”
En este caso, es evidente que la siguiente palabra debería ser algo sinónimo de “lento”. Pero, ¿cómo sabemos esto?
Ciertas palabras en la oración juegan un papel crucial para ayudarnos a tomar nuestra decisión. Por ejemplo, el hecho de que sea un perezoso, en lugar de un elefante, implica que preferimos lo «lento» a lo «grande». Si fuera una piscina en lugar de una carrera, podríamos considerar «asustado» como una posible alternativa a «lento». Además, la acción de “ganar una carrera” sugiere que la velocidad es el problema.
Por otro lado, algunas palabras no tienen relevancia para nuestra elección. Por ejemplo, el hecho de que el perezoso sea gris no influye en el adjetivo que seleccionemos. Además, las palabras menores como «el», «pero» y «eso» contribuyen a la estructura gramatical de la oración pero no influyen en la elección del adjetivo.
En esencia, prestamos atención selectivamente a ciertas palabras en la oración mientras ignoramos en gran medida otras. ¿No sería extraordinario si nuestro modelo de lenguaje pudiera hacer lo mismo?
Un mecanismo de atención, también conocido como cabeza de atención, dentro de un modelo de Transformador logra precisamente esta habilidad. Permite que el modelo decida en qué parte de la entrada debe enfocarse para extraer información relevante de manera eficiente, mientras filtra los detalles irrelevantes. Esta adaptabilidad hace que el mecanismo de atención sea una herramienta invaluable para una amplia gama de tareas, ya que puede determinar dinámicamente dónde buscar información durante la inferencia.
Por el contrario, las capas recurrentes intentan crear un estado oculto genérico que captura una representación general de la entrada en cada paso de tiempo. Sin embargo, este enfoque tiene una debilidad. Muchas palabras incorporadas en el vector oculto pueden no ser directamente relevantes para la tarea inmediata, como predecir la siguiente palabra. Los jefes de atención, por otro lado, no están agobiados por este problema. Pueden combinar selectivamente información de palabras vecinas según el contexto, evitando distracciones irrelevantes.
Para comprender mejor cómo funciona el mecanismo de atención, profundicemos en su proceso subyacente dentro de la arquitectura de Transformer.
a. Consulta, clave y valor
El mecanismo de atención opera empleando tres elementos clave: consulta, llavey valor.
La consulta representa la palabra para la que buscamos información contextualmente relevante. La clave y el valor juntos forman el conjunto de palabras de las que el mecanismo de atención puede extraer información. Por ejemplo, en nuestra oración anterior, la consulta sería la oración parcial «El perezoso gris intentó ganar una carrera, pero también lo fue», y el conjunto de clave-valor sería la oración completa.
b. Cálculo de pesos de atención
Una vez que se establecen la consulta, la clave y el valor, el mecanismo de atención calcula los pesos de atención que indican la importancia de cada palabra en el conjunto clave-valor relacionado con la consulta. Estos pesos ayudan al modelo a determinar qué palabras contienen la información más relevante para la tarea en cuestión.
Para calcular los pesos de atención, el mecanismo de atención emplea una medida de similitud entre la consulta y cada palabra de la clave. Esta medida de similitud a menudo se obtiene mediante el producto escalar, pero también se pueden utilizar otras técnicas como la similitud del coseno.
C. Suma ponderada de valores
Finalmente, los pesos de atención se utilizan para calcular una suma ponderada de los valores correspondientes. La suma resultante representa la información relevante extraída del conjunto clave-valor y se utilizará en tareas de predicción o procesamiento posteriores.
El mecanismo de atención es un concepto poderoso que permite que los modelos de lenguaje como GPT se centren en la información pertinente mientras filtran el ruido. Al prestar atención selectiva a palabras específicas en una oración, estos modelos pueden generar respuestas contextualmente coherentes y significativas.
En este blog, exploramos la importancia de la atención y cómo distingue a la arquitectura de Transformer de los enfoques recurrentes. También discutimos la capacidad del mecanismo de atención para seleccionar dinámicamente información relevante y su proceso de cálculo de pesos de atención para extraer contexto valioso.
Comprender el mecanismo de atención sienta las bases para comprender el funcionamiento interno de modelos como GPT. Es un componente esencial que contribuye a las notables capacidades de los modelos de lenguaje moderno y su capacidad para generar texto similar al humano.
Entonces, la próxima vez que te encuentres con una oración fascinante generada por GPT, recuerda que debe su coherencia y relevancia al poder del mecanismo de atención.
📚 Referencias :
- Aprendizaje Profundo Generativo — David Foster
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, AN, … & Polosukhin, I. (2017). La atención es todo lo que necesitas. En Avances en sistemas de procesamiento de información neuronal (págs. 5998–6008).
- Bahdanau, D., Cho, K. y Bengio, Y. (2014). Traducción automática neuronal aprendiendo conjuntamente a alinear y traducir. preimpresión de arXiv arXiv:1409.0473.
- Karpatía, A. (2016). La irrazonable efectividad de las redes neuronales recurrentes. Obtenido de http://karpathy.github.io/2015/05/21/rnn-efectividad/
- Clark, JH y Manning, CD (2016). Aprendizaje de refuerzo profundo para modelos de correferencia de clasificación de menciones. En Actas de la Conferencia de 2016 sobre métodos empíricos en el procesamiento del lenguaje natural (EMNLP) (págs. 2256–2262).
- Vaswani, A., Sukhbaatar, S., Rocktäschel, T. y Bordes, A. (2017). Atención neuronal y atención estructurada para la respuesta visual a preguntas. En Actas del segundo taller sobre aprendizaje de representación para PNL (págs. 37–46).
🔖🤓 ¿Te gustó esto? Intento escribir sobre Productos, Startups e IA generativa. Comprueba si te gusta alguno de mis artículos a continuación 📚👓
- 🚀 Crecimiento liderado por el producto Vs 🤝 Crecimiento liderado por las ventas para un producto B2B SaaS
- Una guía práctica para 🛠construir, 📈escala y 🪴nutrir equipos de productos
- Una guía práctica para implementar OKR a nivel de organización 🎯
- Cómo crear ‘¡Ajá! momentos’ para los usuarios de su producto.
Siéntase libre de dejar sus comentarios o conectarse conmigo en LinkedIn