¿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 deep learning para priorizar (o atender) las partes más relevantes de la entrada. La innovación en los mecanismos de atención hizo posible la arquitectura de transformadores que dio lugar a los modernos modelos de lenguaje de gran tamaño (LLM) con los que funcionan aplicaciones tan populares como ChatGPT.

Como su nombre indica, los mecanismos de atención se inspiran en la capacidad de los humanos (y otros animales) de prestar más atención de forma selectiva 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 únicamente en la información más relevante ayuda a garantizar que no se pierda ningún detalle significativo y, al mismo tiempo, permite un uso eficiente de la memoria y el tiempo limitados.

Matemáticamente hablando, un mecanismo de atención calcula las ponderaciones de atención que reflejan la importancia relativa de cada parte de una secuencia de entrada para la tarea en cuestión. Luego aplica esas ponderaciones de atención para aumentar (o disminuir) la influencia de cada parte de la entrada, de acuerdo con su importancia respectiva. Un modelo de atención, es decir, un modelo de inteligencia artificial que emplea un mecanismo de atención, se entrena para asignar ponderaciones de atención precisas mediante el 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 última generación de redes neuronales utilizados para la traducción automática. Investigaciones posteriores integraron mecanismos de atención en las redes neuronales convolucionales (CNN) utilizadas para tareas como el subtitulado de imágenes y la respuesta visual a preguntas.

En 2017, el artículo seminal "Attention is All You Need" introdujo el modelo de 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 del transformador se ha convertido en la columna vertebral de los modelos de vanguardia que impulsan la era actual de IA generativa.

Aunque los mecanismos de atención se asocian principalmente a los LLM utilizados para tareas de procesamiento del lenguaje natural (PLN), como el resumen, la respuesta a preguntas, la generación de textos y el análisis de sentimientos, los modelos basados en la atención también se utilizan ampliamente en otros dominios. Los principales modelos de difusión utilizados para la generación de imágenes suelen incorporar 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 como la detección de objetos,1 la segmentación de imágenes2 y la respuesta visual a preguntas3.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


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

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

Los modelos de transformadores y los mecanismos de atención que los impulsan han logrado resultados de vanguardia en casi todos los subdominios del deep learning. 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 los datos secuenciales está 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 las correlaciones (llamadas dependencias, en la jerga de la ciencia de datos) que tienen muchos pasos entre ellas. Los mecanismos de atención, por el contrario, pueden examinar una secuencia completa simultáneamente y tomar decisiones sobre el orden en el que centrarse en pasos específicos.

  • Flexibilidad en el espacio: las CNN son intrínsecamente locales, y utilizan convoluciones para procesar subconjuntos más pequeños de datos de entrada pieza por pieza. Esto dificulta que una CNN discierna las dependencias que están muy separadas, como las correlaciones entre palabras (en texto) o píxeles (en imágenes) que no son vecinos entre sí. Los mecanismos de atención no tienen esta limitación, puesto 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 deep learning y por qué ayudaron a desencadenar una revolución en la IA generativa, es útil comprender primero por qué se introdujo por primera vez la atención: para mejorar los modelos Seq2Seq basados en RNN que se utilizan 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 a "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. Tras cada intervalo temporal, el estado de la red resultante, denominado estado oculto, vuelve 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 resultaran poco prácticas para muchas tareas de PNL, ya que limitaba enormemente la longitud de las frases de entrada que podían procesar4. Estas limitaciones se mitigaron en cierta medida gracias a una arquitectura RNN mejorada denominada redes de memoria a largo plazo (LSTM), que añaden mecanismos de compuerta 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 frase de origen paso a paso y, a continuación, produce el estado oculto del paso de tiempo final. Esta salida, el vector de contexto, codifica toda la oración como un vector incrustado. Para permitir que Seq2Seq gestione de manera flexible oraciones con un número variable de palabras, el vector de contexto siempre tiene la misma longitud.
  • El segundo LSTM, el decodificador, toma la salida de incrustación vectorial del codificador como su entrada inicial y la decodifica, palabra por palabra, en un segundo idioma.

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 las oraciones más cortas y simples. Esto provoca un cuello de botella de información para secuencias más largas y desperdicia recursos para secuencias más cortas.
  • Este vector representa solo el estado oculto final de la red del codificador. En teoría, cada estado oculto posterior debe contener información proporcionada por el estado oculto anterior, que a su vez contiene información del paso de tiempo anterior, y así sucesivamente, hasta el primer paso. En la práctica, el vector de contexto inevitablemente "olvida" la información de los primeros pasos de tiempo, lo que dificulta el rendimiento del modelo en secuencias más largas.
     

Cómo los mecanismos de atención mejoraron 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ó todos los estados ocultos del codificador al decodificador. El propio mecanismo de atención se utilizó 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 permite que el modelo se centre solo en la información relevante para la generación de la siguiente palabra objetivo", explica el documento. "Esto tiene un gran impacto positivo en la capacidad del sistema de traducción automática neuronal para obtener buenos resultados en frases más largas"5.

Las investigaciones posteriores sobre PNL se centraron principalmente en mejorar el rendimiento y ampliar los casos de uso de los mecanismos de atención en modelos recurrentes. La invención en 2017 de los modelos de transformadores, impulsados únicamente por la atención, finalmente hizo que las RNN quedaran casi obsoletas para el PNL.

AI Academy

Conviértase en un experto en IA

Obtenga los conocimientos necesarios para priorizar las inversiones en IA que impulsan el crecimiento empresarial. Dé sus primeros pasos 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 objetivo principal de un mecanismo de atención es determinar la importancia relativa de las diferentes partes de la secuencia de entrada y, a continuación, influir en el modelo para que preste atención a las partes importantes y descarte las partes no importantes.

Aunque hay muchas variantes y categorías de mecanismos de atención, cada una adaptada a diferentes casos de uso y prioridades, todos los mecanismos de atención presentan tres procesos básicos:

  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 para determinar con precisión las 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 lo alineados (o no alineados) que están. A continuación, las puntuaciones de alineación se utilizan para calcular las ponderaciones de atención mediante una función softmax, que normaliza todos los valores a un rango entre 0-1 de forma que todos sumen un total de 1. Así, por ejemplo, asignar una ponderación de atención de 0 a un elemento significa que debe ser ignorado. Una ponderación de atención de 1 significa que ese elemento debe recibir un 100 % de atención porque todos los demás elementos tendrían ponderaciones de atención de 0 (porque todas las ponderaciones deben sumar 1). En esencia, el resultado de una función softmax es una distribución de probabilidad.

  3. Un proceso de uso de esas ponderaciones 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 utilizar ponderaciones de atención para ayudar a los modelos a centrarse o ignorar la información.

Consultas, claves y valores

El artículo 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 se asocia con un valor correspondiente. En PLN, la "base de datos" de un modelo es el vocabulario de tokens que ha aprendido de su conjunto de datos de entrenamiento.

La influencia masiva del artículo "Attention is All You Need" 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 implica 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 por atención de los vectores clave. Las contribuciones de las claves que están fuertemente alineadas con una consulta se ponderan más fuertemente; 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 las puntuaciones de alineación y cómo se aplican las ponderaciones de atención para proporcionar al modelo información relevante.
 

Atención aditiva

El mecanismo de atención de Badhanau se diseñó específicamente para la traducción automática. Utiliza una RNN bidireccional para codificar cada token de entrada, procesando la secuencia de entrada tanto en dirección directa como inversa y concatenando los resultados. Este enfoque es especialmente útil cuando, por ejemplo, las lenguas original y traducida tienen diferentes convenciones de ordenación para sustantivos y adjetivos.

El estado oculto del decodificador en cada paso temporal de la frase traducida equivale a un vector de consulta y el estado oculto del codificador en cada paso de la frase fuente equivale a un vector clave.

Las puntuaciones de alineación las determina entonces una simple red neuronal, la capa de atención, que se entrena conjuntamente con el resto del modelo. Esta capa de atención se compone de hasta tres subconjuntos de pesos del modelo que se pueden aprender: pesos de consulta para los estados ocultos del decodificador ("Wq"), pesos clave para los estados del codificador ocultos ("Wk") y ponderaciones de valor para escalar la salida ("wv"). Estas ponderaciones son el "conocimiento" del modelo: al ajustar los valores específicos de esas ponderaciones durante el entrenamiento para minimizar la 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 añade a un vector clave (multiplicado por Wk). Si están alineados, sumarlos producirá un gran valor. Si son irrelevantes entre sí, sumarlos dará un valor pequeño o negativo.
  • El número resultante se introduce en una tunNh función de activación, que asigna todas las entradas a un número entre -1 y 1.
  • El resultado de la tunNh función se multiplica entonces por las ponderaciones de valor wv. Así se obtiene la puntuación de alineación entre el vector de consulta y ese vector clave.
  • La puntuación de alineación se proporciona como entrada a una función softmax, lo que produce una ponderación de atención para ese vector clave.
     

El vector de contexto que utiliza el decodificador para generar la frase traducida se calcula como la suma ponderada por 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 al producto escalar

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 prescindió de la tunNh función, calculando la similitud entre vectores de estados ocultos mediante su producto escalar. Por esa razón, a menudo se le llama atención de producto escalar o atención multiplicativa.

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

  • Si los vectores Q y K están alineados, es decir, si una consulta y una clave tienen un significado similar, multiplicarlos dará un valor grande. Después del softmax, este gran valor resulta en un gran peso de atención para esa clave. Si no están bien alineados, su producto escalar será pequeño o negativo, y la función softmax posterior dará como resultado una ponderación de atención pequeña.
  • En la práctica, la multiplicación es mucho más rápida y 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 matrices6.

Una consecuencia del uso de la atención de producto escalar es que los cálculos requieren que ambos vectores tengan el mismo número de dimensiones. 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 puntual calcula el vector de contexto como la media ponderada de los vectores clave.
 

Atención al producto escalar

Los autores de "Attention is All You Need" señalaron que, aunque la atención del producto escalar es más rápida y más eficiente desde el punto de vista computacional que la atención aditiva, la atención aditiva supera a la atención tradicional del producto escalar para vectores más largos.

Teorizaron que cuando Dk es muy grande, los productos escalares 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 escalando el producto de dos vectores de longitud Dk por  1Dk antes de la normalización softmax se obtienen gradientes mayores y, por tanto, un entrenamiento más suave.

La función de atención de producto punto a escala utilizada en los modelos de transformadores se escribe como AttENtioN(Q,K,V)=softmunX(QKTDk)V .

 

Autoatención

Todos los primeros tipos de mecanismos de atención realizaban lo que ahora se clasifica 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 los mecanismos de atención de Bahdanau y Luong se diseñaron explícitamente para la traducción automática, Cheng et al propusieron la autoatención, a la que llamaron "intraatención", como método para mejorar la lectura automática en general. Su mecanismo de atención, descrito en un artículo de 2016, no exploraba cómo los elementos de entrada contribuyen a una secuencia general, sino cómo los diferentes tokens de entrada se relacionan entre sí.

Piense en un modelo de lenguaje que interprete el texto en inglés
"on Friday, the judge issued a sentence."

  • El antecedente the sugiere que judge actúa como un sustantivo, haciendo referencia a la persona que preside un juicio, en lugar de un verbo que significa valorar o formarse una opinión.
  • Ese contexto para la palabrajudge sugiere que sentence probablemente se refiere a una sanción legal, en lugar de una "oración" gramatical.
  • La palabraissued, además, implica que sentence se refiere al concepto legal, no al concepto gramatical.
  • Por lo tanto, al interpretar la palabrasentence , el modelo debe prestar mucha atención a judge yissued, . También debería prestar atención a la palabrathe . Puede ignorar más o menos las otras palabras. Un mecanismo de autoatención bien entrenado calcularía las ponderaciones de atención en consecuencia.

El artículo de Cheng et al se centró únicamente en la capacidad de autoatención para leer y comprender textos, pero pronto se dedujo que el modelado de relaciones intrasecuenciales también podría ser una herramienta poderosa para escribir textos. Un mayor desarrollo de la autoatención, junto con los modelos transformadores que permitió, condujo directamente a la llegada de la IA 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 traducciones automáticas utilizando la autoatención, pero deben abordar la tarea de forma diferente. Mientras que la atención cruzada trata la frase original y la frase traducida como dos secuencias distintas, la autoatención trata el texto original y el texto traducido como una única secuencia.

Para que un LLM autorregresivo y 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 de token multilingüe. El modelo simplemente se da cuenta de que cuando una secuencia contiene instrucciones como "traducir [palabras del 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 existen 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 relacionan entre sí. Esta comprensión contextual se refuerza aún más mediante 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 introducir una nueva arquitectura de red neuronal: el transformador. Su modelo de transformador evitó por completo las convoluciones y la recurrencia, y en su lugar utilizó 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 emblemáticos publicados a raíz del documento de transformadores, BERT (abreviatura de bidirectional encoder representations from transformers), es un modelo solo de codificador. Los LLM autorregresivos que han revolucionado la generación de texto, como los modelos GPT (transformador preentrenado generativo), son solo decodificadores.

“Attention is All You Need” propuso varias innovaciones al mecanismo de atención (una de las cuales fue la atención de producto escalar) para mejorar el rendimiento y adaptar la atención a una estructura de modelo completamente nueva.
 

Codificación posicional

El orden y la posición relativos de las palabras pueden influir mucho en su significado. Mientras que las RNN conservan intrínsecamente la información sobre la posición de cada token al calcular los estados ocultos en serie, una palabra tras otra, los modelos transformadores deben codificar explícitamente la información posicional.

Con la codificación posicional, el modelo añade un vector de valores a la incrustación de cada token, derivado de su posición relativa, antes de que la entrada entre en el 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 después de añadir esos vectores posicionales.
  • Cuanto más similares sean sus incrustaciones actualizadas posicionalmente, mayor será su puntuación 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 utiliza una función seno para los tokens en posiciones pares y un coseno para los tokens en posiciones impares. Los algoritmos posteriores, como la codificación posicional rotatoria (RoPE), mejoraron la capacidad de codificar eficazmente la información posicional para secuencias muy largas, lo que, a su vez, ha ayudado a permitir LLM con ventanas de contexto más grandes.
 

Mecanismo de autoatención en modelos de transformadores

Una vez actualizada cada incrustación de token con información posicional, cada una se utiliza para generar tres nuevos vectores haciendo pasar la incrustación de token original por cada una de las tres capas paralelas de la red neuronal lineal (feedforward) que preceden a la primera capa de atención. Cada capa paralela tiene una matriz única de pesos cuyos valores específicos se aprenden mediante un preentrenamiento autosupervisado en un conjunto masivo de datos de texto.

  • La incrustación se multiplica por la matriz de ponderación WQ para obtener el vector de consulta (Q), 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 obtener el vector de valores ( V ), con dimensiones  Dv

La función principal del mecanismo de atención es sopesar la importancia de los pares de claves de consulta entre cada token. Para cada token x de una secuencia de entrada, el modelo de transformador calcula (y luego aplica) las ponderaciones de atención de la siguiente manera:

  1. El vector de consulta del token xQX se multiplica por el vector clave del otro token K. El producto escalar resultante será grande para un token muy relevante; su producto escalar con un token irrelevante será pequeño o negativo.
  2. Cada producto escalar 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-1, de forma que todas sumen 1. Estos son las ponderaciones de atención entre el token x y cada token. Puede pensar que cada token tiene ahora un vector correspondiente de ponderaciones de atención, en el que cada elemento de ese vector representa hasta qué punto debe influirle alguna otra token.
  4. El vector de valor de cada token se multiplica ahora por su ponderación de atención respectivo.
  5. Todos estos vectores de valores ponderados por la atención se promedian juntos. El vector resultante representa la media de todas las contribuciones ponderadas por atención de cada vector clave.
  6. Por último, el vector de cambios resultante para cada token se añade al vector incrustado original del token x. Básicamente, la incrustación vectorial del token x se ha actualizado para reflejar mejor el contexto proporcionado por los demás tokens de la secuencia.

Atención multicabezal

Hacer la media de las contribuciones ponderadas por la atención de otros tokens en lugar de contabilizar cada contribución ponderada por atención individualmente es matemáticamente eficiente, pero supone una pérdida de detalles. La arquitectura del transformador aborda este problema implementando la atención multicabezal.

Para disfrutar de la eficacia del promedio sin dejar de tener en cuenta las relaciones multifacéticas entre los tokens, los modelos transformadores calculan las operaciones de autoatención varias veces en paralelo en cada capa de atención de 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 introduce en una de las h matrices paralelas de ponderaciones Q, K y V, cada una de las cuales se denomina cabezal de consulta, cabezal de clave o cabezal de valor, respectivamente. Los vectores generados por cada una de estas tripletas paralelas de cabezas de consulta y valores clave se introducen en el cabezal de atención correspondiente.

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

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

Generar resultados

En las últimas capas de los modelos de transformadores, los cabezales de atención suelen entrenarse para hacer predicciones específicas. Por ejemplo, un cabezal de atención en la capa final de un LLM podría especializarse en reconocimiento de entidades nombradas, mientras que otro se especializa en el análisis de sentimientos, etc.

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 puntuaciones que representan qué tan cerca está el vector resultante de cada token en ese vocabulario. La capa final es una capa softmax, que convierte esas puntuaciones en probabilidades (sobre 1) y utiliza esas probabilidades para emitir lo que determina que es la palabra siguiente más probable, basándose en las palabras que la preceden.

Notas a 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. Consultado el 18 de noviembre de 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 de septiembre de 2014
6. "Multiplicative Attention". Papers With Code

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree 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 líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Servicios de IA

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

Explore los servicios de IA
Dé el siguiente paso

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

Explore watsonx.ai Solicite una demostración en directo