¿Qué es un mecanismo de atención?

Una sofisticada antena satellite

Autores

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

¿Qué es un mecanismo de atención?

Un mecanismo de atención es una técnica de machine learning que dirige los modelos de aprendizaje profundo para priorizar (o poner atención a) las partes más relevantes de los datos de entrada. La innovación en los mecanismos de atención permitió la arquitectura transformadora que produjo los modelos de lenguaje grandes (LLM) modernos que impulsan aplicaciones populares, como ChatGPT.

Como sugiere su nombre, los mecanismos de atención se inspiran en la capacidad de los humanos (y otros animales) de prestar selectivamente más atención a los detalles más destacados e ignorar los detalles que son menos importantes en el momento. Tener acceso a toda la información, pero centrarse solo en la más relevante ayuda a garantizar que no se pierdan detalles significativos y permite un uso eficiente de la memoria y el tiempo limitados.

Matemáticamente hablando, un mecanismo de atención calcula pesos de atención que reflejan la importancia relativa de cada parte de una secuencia de entrada para la tarea en cuestión. Luego aplica esos pesos de atención para aumentar (o disminuir) la influencia de cada parte de la entrada, de acuerdo con su respectiva importancia. Un modelo de atención, es decir, un modelo de inteligencia artificial que emplea un mecanismo de atención, se entrena para asignar pesos de atención precisos a través del aprendizaje supervisado o el aprendizaje autosupervisado en un gran conjunto de datos de ejemplos.

Los mecanismos de atención fueron introducidos originalmente por Bahdanau et al. en 2014 como una técnica para abordar las deficiencias de lo que entonces eran modelos de redes neuronales recurrentes (RNN) de última generación empleados para la traducción automática. Investigaciones posteriores integraron mecanismos de atención en las redes neuronales convolucionales (CNN) empleadas para tareas, como subtítulos de imágenes y respuestas visuales a preguntas.

En 2017, el artículo seminal “Attention is All You Need” introdujo el modelo transformador, que evita la recurrencia y las convoluciones en favor de solo capas de atención y capas de retroalimentación estándar. Desde entonces, la arquitectura transformadora se ha convertido en la columna vertebral de los modelos de vanguardia que impulsan la era actual de IA generativa.

Si bien los mecanismos de atención se asocian principalmente con los LLM empleados para tareas de procesamiento de lenguaje natural (PLN), como el resumen, la respuesta a preguntas, la generación de texto y el análisis de sentimientos, los modelos basados en la atención también se usan ampliamente en otros dominios. Los principales modelos de difusión utilizados para la generación de imágenes a menudo incorporan un mecanismo de atención. En el campo de la visión artificial, los transformadores de visión (ViT) han logrado resultados superiores en tareas que incluyen detección de objetos,1 segmentación de imágenes2 y respuesta visual a preguntas.3

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

¿Por qué son importantes los mecanismos de atención?

Los modelos transformadores y los mecanismos de atención que los potencian han logrado resultados de vanguardia en casi todos los subdominios del aprendizaje profundo. La naturaleza de los mecanismos de atención les otorga ventajas significativas sobre los mecanismos de convolución utilizados en las redes neuronales convolucionales (CNN) y los bucles recurrentes utilizados en las redes neuronales recurrentes (RNN).

  • Flexibilidad en el tiempo: la forma en que las RNN procesan datos secuenciales es inherentemente serializada, lo que significa que procesan cada paso de tiempo en una secuencia individualmente en un orden específico. Esto dificulta que una RNN discierna correlaciones (llamadas dependencias, en el lenguaje de la ciencia de datos) que tienen muchos pasos entre ellas. Los mecanismos de atención, por el contrario, pueden examinar una secuencia entera simultáneamente y tomar decisiones sobre el orden en que centrar en pasos específicos.

  • Flexibilidad en el espacio: las CNN son inherentemente locales, y utilizan convoluciones para procesar subconjuntos más pequeños de datos de entrada de una pieza a la vez. Esto dificulta que una CNN discierna dependencias que están muy separadas, como correlaciones entre palabras (en texto) o pixeles (en imágenes) que no son vecinos entre sí. Los mecanismos de atención no tienen esta limitación, ya que procesan los datos de una manera completamente diferente.

  • Paralelización: la naturaleza de los mecanismos de atención implica que se realicen muchos pasos computacionales a la vez, en lugar de hacerlo de manera serializada. Esto, a su vez, permite un alto grado de computación paralela, aprovechando la potencia y la velocidad que ofrecen las GPU.

Para comprender cómo funcionan los mecanismos de atención en el aprendizaje profundo y por qué ayudaron a desencadenar una revolución en la IA generativa, es útil comprender primero por qué se introdujo la atención por primera vez: para mejorar los modelos Seq2Seq basados en RNN utilizados para la traducción automática.
 

Cómo funciona Seq2Seq sin mecanismos de atención

Las RNN son redes neuronales con bucles recurrentes que proporcionan un equivalente de “memoria”, lo que les permite procesar datos secuenciales. Las RNN toman una secuencia ordenada de vectores de entrada y los procesan en pasos de tiempo. Después de cada paso de tiempo, el estado de la red resultante, llamado estado oculto, se devuelve al bucle, junto con el siguiente vector de entrada.

Las RNN sufren rápidamente la desaparición o explosión de gradientes en el entrenamiento. Esto hizo que las RNN fueran poco prácticas para muchas tareas de PLN, ya que limitaba en gran medida la longitud de las oraciones de entrada que podían procesar.4 Estas limitaciones se mitigaron en cierta medida mediante una arquitectura RNN mejorada llamada redes de memoria a largo plazo (LSTM), que agregan mecanismos de activación para preservar la memoria "a largo plazo".

Antes de que se introdujera la atención, el modelo Seq2Seq era el modelo más avanzado para la traducción automática. Seq2Seq utiliza dos LSTM en una arquitectura de codificador-decodificador.

  • El primer LSTM, el codificador, procesa la oración fuente paso a paso y luego produce el estado oculto del paso de tiempo final. Esta salida, el vector de contexto, codifica toda la oración como una incrustación vectorial. Para permitir que Seq2Seq maneje de manera flexible oraciones con diferentes números de palabras, el vector de contexto siempre tiene la misma longitud.
  • El segundo LSTM, el decodificador, toma los resultados de incrustación vectorial del codificador como su entrada inicial y lo decodifica , palabra por palabra, en un segundo lenguaje.

La codificación de secuencias de entrada en un número fijo de dimensiones permitió a Seq2Seq procesar secuencias de longitud variable, pero también introdujo fallas importantes:

  • Representa secuencias largas o complejas con el mismo nivel de detalle que frases más cortas y sencillas. Esto provoca un cuello de botella de información para las secuencias más largas y desperdicia recursos para las secuencias más cortas.
  • Este vector representa únicamente el estado oculto final de la red codificadora. En teoría, cada estado oculto posterior debería contener información proporcionada por el estado oculto anterior, que a su vez contiene información del paso temporal anterior, y así sucesivamente, hasta el primer paso. En la práctica, el vector de contexto "olvida" inevitablemente la información de los primeros pasos temporales, lo que dificulta el rendimiento del modelo en secuencias más largas.
     

Cómo mejoraron los mecanismos de atención Seq2Seq

Bahdanau et al. propusieron un mecanismo de atención en su artículo de 2014, “Neural Machine Translation by Jointly Learning to Align and Translate”, para mejorar la comunicación entre el codificador y el decodificador y eliminar ese cuello de botella de información.

En lugar de pasar solo el estado oculto final del codificador (el vector de contexto) al decodificador, su modelo pasó cada estado oculto del codificador al decodificador. El propio mecanismo de atención se empleó para determinar qué estado oculto (es decir, qué palabra de la oración original) era más relevante en cada paso de traducción realizado por el decodificador.

“Esto libera al modelo de tener que codificar una oración fuente completa en un vector de longitud fija, y también le permite centrar solo en la información relevante para la generación de la siguiente palabra objetivo”, explicó el artículo. "Esto tiene un gran impacto positivo en la capacidad del sistema de traducción automática neuronal para producir buenos resultados en oraciones más largas".5

La investigación posterior de NLP se centró principalmente en mejorar el rendimiento y ampliar los casos de uso de los mecanismos de atención en modelos recurrentes. La invención de los modelos transformadores en 2017, impulsada únicamente por la atención, finalmente hizo que las RNN fueran casi obsoletas para el PLN.

AI Academy

Conviértase en un experto en IA

Obtenga el conocimiento para priorizar las inversiones en IA que impulsan el crecimiento del negocio. Comience hoy mismo con nuestra AI Academy gratuita y lidere el futuro de la IA en su organización.

¿Cómo funcionan los mecanismos de atención?

El propósito principal de un mecanismo de atención es determinar la importancia relativa de las diferentes partes de la secuencia de entrada, y luego influir en el modelo para que preste atención a las partes importantes y descarte las partes no importantes.

Si bien existen muchas variantes y categorías de mecanismos de atención, cada una adecuada para diferentes caso de uso y prioridades, todos los mecanismos de atención presentan tres procesos centrales:

  1.  Un proceso de "lectura" de secuencias de datos sin procesar y su conversión en incrustaciones vectoriales, en el que cada elemento de la secuencia está representado por su propio vector de características.

  2. Un proceso de determinación precisa de similitudes, correlaciones y otras dependencias (o falta de ellas) entre cada vector, cuantificadas como puntuaciones de alineación (o puntuaciones de atención) que reflejan cuán alineados (o no alineados) están. Luego, las puntuaciones de alineación se utilizan para calcular los pesos de atención mediante una función softmax, que normaliza todos los valores en un rango entre 0 y 1, de modo que todos suman un total de 1. Por ejemplo, asignar un peso de atención de 0 a un elemento significa que debe ignorarse. Un peso de atención de 1 significa que ese elemento debe recibir el 100 % de atención porque todos los demás elementos tendrían pesos de atención de 0 (porque todos los pesos deben sumar 1). En esencia, el resultado de una función softmax es una distribución de probabilidad.

  3. Un proceso de uso de esos pesos de atención para enfatizar o restar énfasis a la influencia de elementos de entrada específicos sobre cómo el modelo hace predicciones. En otras palabras, un medio de usar pesos de atención para ayudar a los modelos a enfocarse o ignorar la información.

Consultas, claves y valores

El documento seminal “Attention is All You Need” articuló su mecanismo de atención utilizando la terminología de una base de datos relacional: consultas, claves y valores. Las bases de datos relacionales están diseñadas para simplificar el almacenamiento y la recuperación de datos relevantes: asignan un identificador único ("clave") a cada dato, y cada clave está asociada con un valor correspondiente. En NLP, la "base de datos" de un modelo es el vocabulario de tokens que ha aprendido de su conjunto de datos.

La influencia masiva del documento “La atención es todo lo que necesita” ha dado lugar a que incluso los mecanismos de atención anteriores a menudo se describan retroactivamente en estos términos. En términos generales, esta concepción de la atención conlleva la interacción entre tres tipos de representaciones vectoriales para cada token en una secuencia.

  • El vector de consulta representa la información que busca un token determinado.
  • Los vectores clave representan la información que contiene cada token. La alineación entre la consulta y la clave se utiliza para calcular los pesos de atención.
  • El valor (o vector de valor) aplica la información ponderada de atención de los vectores clave. Las contribuciones de claves que están fuertemente alineadas con una consulta se ponderan más; las contribuciones de las claves que no son relevantes para una consulta se ponderarán más cerca de cero.

Las variantes específicas del mecanismo de atención se diferencian principalmente por cómo se codifican los vectores, cómo se calculan los puntajes de alineación y se aplican los pesos de atención para proporcionar al modelo información relevante.
 

Atención aditiva

El mecanismo de atención de Badhanau fue diseñado específicamente para la traducción automática. Emplea una RNN bidireccional para codificar cada token de entrada, procesando la secuencia de entrada tanto en la dirección de avance como en la inversa y concatenando los resultados juntos. Este enfoque es particularmente útil cuando, por ejemplo, el idioma original y el traducido tienen diferentes convenciones de ordenación para sustantivos y adjetivos.

El estado oculto del decodificador en cada paso de la oración traducida es el equivalente a un vector de consulta y el estado oculto del codificador en cada paso de la oración fuente es el equivalente a un vector clave.

Las puntuaciones de alineación se determinan mediante una red neuronal simple, la capa de atención , entrenada conjuntamente con el resto del modelo. Esta capa de atención comprende hasta tres subconjuntos de ponderaciones de modelos que se pueden aprender: ponderaciones de consulta para los estados ocultos del decodificador (“Wq”), ponderaciones clave para los estados ocultos del codificador (“ Wk”) y ponderaciones de valor para a escala los resultados (“wv”). Estos pesos son el "conocimiento" del modelo: al ajustar los valores específicos de esos pesos durante el entrenamiento para minimizar una función de pérdida , el modelo aprende a hacer traducciones precisas.

En cada paso, la atención aditiva funciona de la siguiente manera:

  • El vector de consulta (multiplicado por Wq) se agrega a un vector de clave (multiplicado por Wk). Si están alineados, sumarlos dará como resultado un valor grande. Si son irrelevantes entre sí, sumarlos dará como resultado un valor pequeño o negativo.
  • El número resultante se ingresa a una taNh función de activación, que asigna todas las entradas a un número entre -1 y 1.
  • La salida del taNh la función se multiplica entonces por los pesos de valor wv. Esto produce la puntaje de alineación entre el vector de consulta y ese vector clave.
  • La puntuación de alineación se introduce luego en una función softmax, lo que produce un peso de atención para ese vector clave.
     

El vector de contexto que utiliza el decodificador para generar la oración traducida se calcula como la suma ponderada de atención de cada vector clave. Un beneficio de la atención aditiva es que no requiere que los vectores de consulta y clave tengan la misma longitud.

Atención del producto Dot

En 2015, Luong et al. introdujeron varias metodologías novedosas para simplificar y mejorar el mecanismo de atención de Badhanau para la traducción automática. Quizás su contribución más notable fue una nueva función de puntuación de alineación que utilizaba la multiplicación en lugar de la suma. También se deshizo de la taNh función, calculando la similitud entre vectores de estado ocultos mediante el uso de su producto de puntos. Por esa razón, a menudo se le llama atención de producto de puntos o atención multiplicativa.

La intuición detrás del uso del producto punto para comparar vectores de consulta es tanto matemática como pragmática:

  • Si los vectores P y K están alineados, es decir, si una consulta y una clave tienen un significado similar entre sí, multiplicarlos arrojará un gran valor. Después de softmax, este valor grande da como resultado un gran peso de atención para esa clave. Si no están bien alineados, su producto de puntos será pequeño o negativo, y la función softmax posterior dará como resultado un pequeño peso de atención.
  • En la práctica, la multiplicación es mucho más rápida y más eficiente desde el punto de vista computacional para las redes neuronales que las operaciones aditivas, ya que se puede implementar en menos pasos mediante la multiplicación de matrices.6

Una consecuencia del uso de la atención de producto escalar es que los cálculos de atención de producto escalar requieren que ambos vectores tengan la misma dimensión. Dk .

Mientras que la atención aditiva procede a calcular el vector de contexto como la suma ponderada de los vectores clave, la atención del producto escalar calcula el vector de contexto como el promedio ponderado de los vectores clave.
 

Atención de productos punto escalados

Los autores de “La atención es todo lo que necesitas” señalaron que si bien la atención del producto de puntos es más rápida y computacionalmente más eficiente que la atención aditiva, la atención aditiva supera a la atención tradicional de punto-producto para vectores más largos.

Teorizaron que cuando Dk es muy grande, los productos de punto resultantes también son muy grandes. Cuando la función softmax comprime todos esos valores muy grandes para que quepan entre 0 y 1, la retropropagación produce gradientes extremadamente pequeños que son difíciles de optimizar. La experimentación reveló que escalar el producto punto de dos vectores de longitud Dk por  1Dk antes de la normalización softmax Resultados gradientes más grandes y, por lo tanto, un entrenamiento más fluido.

La función de atención punto-producto escalada empleada en los modelos de transformador se escribe como AttENtioN(P,K,V)=softmaX(PKTDk)V .

 

Autoatención

Los primeros tipos de mecanismos de atención realizaron lo que ahora se categoriza como atención cruzada. En la atención cruzada, las consultas y las claves provienen de diferentes fuentes de datos. Por ejemplo, en las tareas de traducción automática, las claves provienen de un corpus de texto en un idioma y las consultas de otro idioma; en las tareas de reconocimiento de voz, las consultas son datos de audio y las claves son datos de texto para transcribir ese audio.

En la autoatención, las consultas, las claves y los valores se extraen de la misma fuente. Mientras que tanto los mecanismos de atención de Bahdanau como de Luong fueron diseñados explícitamente para la traducción automática, Cheng al propuso la autoatención —a la que llamaron “intraatención”—como un método para mejorar la lectura automática en general. Su mecanismo de atención, esbozado en un documento de 2016, exploró no cómo los elementos de entrada contribuyen a una secuencia general, sino cómo los diferentes tokens de entrada se relacionan entre sí.

Considera un modelo de lenguaje que interprete el texto en inglés
"El viernes el juez dictó sentencia".

  • La palabra precedenteel sugiere quejuez está actuando como un sustantivo, como en persona que preside un juicio legal , en lugar de un verbo que significa evaluar o formar una opinión.
  • Ese contexto para la palabrajuez sugiere quesentencia probablemente se refiere a una pena legal, más que a una "oración" gramatical.
  • La palabraemitido implica además que la oración se refiere al concepto legal, no al concepto gramatical.
  • Por lo tanto, al interpretar la palabrasentencia , el modelo debe prestar mucha atención a juez Yemitido . También debe prestar atención a la palabrael . Puede ignorar más o menos las otras palabras. Un mecanismo de autoatención bien entrenado calcularía los pesos de atención en consecuencia.

El artículo de Cheng et al. se centraba únicamente en la capacidad de la autoatención para leer y comprender textos, pero pronto se vio que el modelado de las relaciones intrasequencia también podía ser una poderosa herramienta para escribir textos. Un mayor desarrollo de la autoatención, junto con los modelos transformadores que permitió, condujo directamente a la llegada de la AI generativa moderna y los LLM autorregresivos que pueden generar texto original.
 

Autoatención y traducción automática

Los LLM autorregresivos también pueden realizar traducción automática mediante el uso de la autoatención, pero deben abordar la tarea de manera diferente. Mientras que la atención cruzada trata la oración original y la oración traducida como dos secuencias distintas, la autoatención trata el texto original y el texto traducido como una sola secuencia.

Para que un LLM autorregresivo basado en la autoatención sea capaz de traducir texto, todas las palabras que el modelo encuentra en el entrenamiento, en todos los idiomas, se aprenden como parte de un gran vocabulario token multilingüe. El modelo simplemente se da cuenta de que cuando una secuencia contiene instrucciones como “traducir [palabras en el Idioma 1] al Idioma 2”, las siguientes palabras de la secuencia deben ser tokens del Idioma 2.

En esencia, un LLM autorregresivo no necesariamente entiende que hay diferentes lenguajes por sí mismo. En cambio, simplemente entiende cómo ciertas agrupaciones de tokens, en este caso, tokens correspondientes a palabras del mismo idioma, se prestan atención entre sí. Esta comprensión contextual se refuerza aún más a través de técnicas como el ajuste de instrucciones.

 

Atención en modelos de transformadores

El artículo “Attention is All You Need”, escrito por Viswani et al., se inspiró en la autoatención para presentar una nueva arquitectura de red neuronal: el transformador. Su modelo de transformador evitó por completo las convoluciones y la recurrencia, y en su lugar empleó solo capas de atención y capas de retroalimentación lineal estándar.

El propio modelo de los autores siguió una estructura de codificador-decodificador, similar a la de sus predecesores basados en RNN. Los modelos posteriores basados en transformadores se apartaron de ese marco codificador-decodificador. Uno de los primeros modelos de referencia publicados a raíz del artículo sobre los transformadores, BERT (abreviatura de representaciones de codificador bidireccional de transformadores), es un modelo de solo codificador. Los modelos LLM autorregresivos que revolucionaron la generación de texto, como los modelos GPT (Transformador Preentrenado Generativo), son solo decodificadores.

“Attention is All You Need” propuso varias innovaciones en el mecanismo de atención, una de las cuales fue la atención de productos punto escalados, para mejorar el rendimiento y adaptar la atención a una estructura de modelo completamente nueva.
 

Codificación posicional

El orden relativo y la posición de las palabras pueden tener una influencia importante en sus significados. Mientras que las RNN conservan inherentemente la información sobre la posición de cada token mediante el cálculo de estados ocultos en serial, una palabra tras otra, los modelos de transformadores deben codificar explícitamente la información de posición.

Con la codificación posicional, el modelo agrega un vector de valores a la incrustación de cada token, derivado de su posición relativa, antes de que la entrada ingrese al mecanismo de atención. Este vector posicional suele tener muchas menos dimensiones que la propia incrustación de token, por lo que solo un pequeño subconjunto de la incrustación de token recibirá información posicional. Las matemáticas son algo complejas, pero la lógica es simple:

  • Cuanto más cerca estén dos tokens, más similares serán sus vectores posicionales.
  • Cuanto más similares sean sus respectivos vectores posicionales, más aumentará la similitud entre sus respectivos tokens tras agregar esos vectores posicionales.
  • Cuanto más similares sean sus incrustaciones actualizadas posicionalmente, mayor será su puntaje de alineación, lo que resultará en un mayor peso de atención entre esos dos tokens. Por lo tanto, el modelo aprende a prestar más atención a los tokens cercanos.

Viswani et al diseñaron un algoritmo sencillo que emplea una función seno para los tokens en posiciones pares y coseno para los tokens en posiciones impares. Algoritmos posteriores, como la codificación posicional rotatoria (RoPE), mejoraron la capacidad de codificar eficazmente la información posicional de secuencias muy largas, lo que, a su vez, ayudó a permitir LLM con ventanas de contexto más amplias.
 

Mecanismo de autoatención en modelos de transformadores

Una vez que cada token se ha actualizado con información posicional, cada uno se utiliza para generar tres nuevos vectores pasando el token original a través de cada una de las tres capas de Neural Networks lineales paralelas (feedforward) que preceden a la primera capa de atención. Cada capa paralela tiene una matriz única de ponderaciones cuyos valores específicos se aprenden mediante un entrenamiento previo autosupervisado en un conjunto de datos masivo de texto.

  • La incrustación se multiplica por la matriz de ponderación WP para obtener el vector de consulta (P), que tiene Dk dimensiones
  • La incrustación se multiplica por la matriz de ponderación WK para obtener el vector clave (K), también con dimensiones Dk 
  • La incrustación se multiplica por la matriz de ponderación WV para producir el vector de valor ( V ), con dimensiones  Dv
Un diagrama del mecanismo de atención de un modelo de transformador Un diagrama simplificado del mecanismo de atención del transformador: las incrustaciones vectoriales originales para los tokens de una entrada se multiplican por matrices de peso W, K y V para obtener sus respectivos vectores W, K y V.

La función principal del mecanismo de atención es ponderar la importancia de los apareamientos de clave de consulta entre cada token. Para cada token x en una secuencia de entrada, el modelo de transformador calcula (y luego aplica) los pesos de atención de la siguiente manera:

  1. Vector de consulta del token xPX se multiplica por el vector clave de cada otro token K. El producto de punto resultante será grande para un token que es muy relevante; su producto punto con un token irrelevante será pequeño o negativo.
  2. Cada producto punto se escalará,es decir, se multiplicará, por 1Dk. El resultado es la puntuación de alineación entre el token x y cada token.
  3. Estas puntuaciones de alineación se proporcionan como entrada a una función softmax, que normaliza cada puntuación a un valor entre 0 y 1, de modo que todas suman 1. Estos son los pesos de atención entre el token x y cada token. Puede pensar que cada token ahora tiene un vector correspondiente de pesos de atención, en el que cada elemento de ese vector representa la medida en que algún otro token debería influir en él.
  4. El vector de valor de cada token se multiplica ahora por su ponderación de atención respectivo.
  5. Estos vectores de valor ponderados por atención se promedian todos juntos. El vector resultante representa el promedio de todas las contribuciones ponderadas por atención de cada vector clave.
  6. Finalmente, el vector de cambios resultante para cada token se agrega a la incrustación del vector original del token x. En esencia, la incrustación vectorial del token x se actualizó para reflejar mejor el contexto proporcionado por los otros tokens de la secuencia.

Atención multicabezal

Promediar las contribuciones ponderadas por atención de otros tokens en lugar de contabilizar cada contribución ponderada por atención individualmente es matemáticamente eficiente, pero da como resultado una pérdida de detalles. La arquitectura transformadora aborda esto implementando la atención multicabezal.

Para disfrutar de la eficiencia de promediar sin dejar de tener en cuenta las relaciones multifacéticas entre tokens, los modelos de transformadores calculan operaciones varias veces en paralelo en cada capa de atención en la red. Cada incrustación de token de entrada original se divide en h subconjuntos de tamaño uniforme. Cada pieza de la incrustación se alimenta a una de las matrices paralelas h de pesos Q, K y V , cada una de las cuales se denomina cabeza de consulta , cabeza clave o cabeza de valor, respectivamente. Los vectores resultados de cada uno de estos tripletes paralelos de consulta, cabezas de valor clave se introducen entonces en un cabezal de atención correspondiente.

Diagrama de atención multicabezal El diagrama de atención simplificado de múltiples cabezas que se hizo famoso en "Attention is All You Need"

En las capas finales de cada bloque de atención , las salidas de estos h circuitos paralelos finalmente se concatenan nuevamente. En la práctica, el entrenamiento de modelos da como resultado que cada circuito aprenda diferentes pesos que capturan un aspecto separado de los significados semánticos. Esto, a su vez, permite que el modelo procese diferentes formas en que el contexto de otras palabras puede influir en el significado de una palabra. Por ejemplo, un jefe de atención podría especializarse en cambios de tiempo, mientras que otro se especializa en cómo las palabras cercanas influyen en el tono.

Concatenación en atención multi-cabezal Las salidas "Z" de cada cabeza de atención se concatenan juntas. En este ejemplo, h = 8.

Aquí se demuestra el circuito completo de multiplicación de matrices en el bloque de atención de un transformador estándar. Vale la pena señalar que las evoluciones posteriores del mecanismo de atención del transformador, como la atención de consultas múltiples y la atención de consultas agrupadas, simplifican o combinan algunos elementos del proceso para reducir las demandas computacionales.

Diagrama del bloque de atención de varios cabezales Diagrama simplificado de toda la multiplicación de matrices en un bloque de atención de múltiples cabezas (h = 8), derivado de "The Illustrated Transformer" de Jay Alammar. Tenga en cuenta que aquí, "+" significa concatenación, no adición.

Generación de resultados

En las últimas capas de los modelos de transformadores, los jefes de atención a menudo se entrenan para hacer predicciones específicas. Por ejemplo, un jefe de atención en la capa final de un LLM podría especializarse en named entity recognition, mientras que otro se especializa en el análisis de sentimientos, y así sucesivamente.

En los LLM autorregresivos, la penúltima capa es una capa lineal que recibe el vector completamente transformado y lo proyecta a un tamaño que coincide con el de las incrustaciones vectoriales que el modelo ha aprendido para cada token en su vocabulario. Esto permite el cálculo de puntajes que representan qué tan cerca coincide el vector resultante con cada token en ese vocabulario. La capa final es una capa softmax, que convierte esas puntuaciones en probabilidades (de 1) y utiliza esas probabilidades para generar lo que determina que es la siguiente palabra más probable, en función de las palabras que la precedieron.

Notas de pie de página

1. "Leaderboard: Object Detection on COCO test-dev," Papers With Code, consultado el 18 de noviembre de 2024
2. "Leaderboards: Image Segmentation" Papers With Code, accessed 18 November 2024
3. "Leaderboard: Visual Question Answering (VQA) on VQA v2 test-dev," Papers With Code, consultado el 18 de noviembre de 2024
4. "Learning long-term dependencies with gradient descent is difficult," IEE Transactions on Neural Networks 5(2): 157-66, febrero de 1994
5. "Neural Machine Translation by Jointly Learning to Align and Translate," arXiv, 1 septiembre de 2014
6. "Multiplicative Attention," Papers With Code

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo