¿Qué es la autoatención?

Ilustración abstracta de líneas de puntos rojos sobre fondo azul

Autores

Vanna Winland

AI Advocate & Technology Writer

¿Qué es la autoatención?

La autoatención es un tipo de mecanismo de atención utilizado en los modelos de machine learning. Este mecanismo se utiliza para sopesar la importancia de los tokens o palabras en una secuencia de entrada para comprender mejor las relaciones entre ellos. Es una parte crucial de los modelos transformadores, una potente arquitectura de inteligencia artificial que es esencial para las tareas de procesamiento del lenguaje natural (PLN). La arquitectura del transformador es la base de la mayoría de los modelos de lenguaje de gran tamaño (LLM) modernos.

El mecanismo de autoatención se introdujo mediante el transformador, un modelo de arquitectura de redes neuronales propuesto por los investigadores. El objetivo de la arquitectura propuesta era abordar los desafíos de los modelos tradicionales de machine learning que utilizan redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN).1

Los modelos secuenciales tradicionales siguen la misma arquitectura de codificador-decodificador que los modelos de transformador, pero procesan los datos paso a paso o secuencia a secuencia (seq2seq). Esta función plantea un desafío para la paralelización, que es la capacidad de reducir el tiempo de cálculo y mejorar la generación de outputs calculando los pesos de atención en todas las partes de la entrada simultáneamente.

La autoatención desempeñó un papel clave en el avance de los LLM al permitir la paralelización dentro de los ejemplos de entrenamiento. Este método es útil porque cuanto mayor sea la longitud de la secuencia, más restricciones de memoria limitarán el procesamiento por lotes en los ejemplos de entrenamiento. Mediante la autoatención, los datos de entrenamiento de LLM se pueden dividir en lotes y procesar simultáneamente en varias GPU.1 La autoatención reduce la potencia computacional necesaria para entrenar modelos de machine learning con procesamiento por lotes eficiente en paralelo.

La autoatención no solo contribuye a distribuir la carga computacional de manera eficiente, sino que también permite procesar los pesos de atención simultáneamente. Esta capacidad permite al modelo centrarse en partes relevantes de una secuencia de entrada para predecir dinámicamente la importancia de cada elemento dentro de una secuencia. La autoatención es buena para tareas de PLN como la traducción automática, el análisis de sentimientos y el resumen.  

¿Cómo funciona la autoatención?

La autoatención en los modelos de machine learning es similar al concepto de comportamiento humano en el sentido de que ambos implican centrarse en elementos relevantes dentro de un contexto más amplio para procesar la información con precisión. En psicología, se trata de centrarse en sus propios pensamientos o comportamientos, mientras que en deep learning, se trata de centrarse en las partes relevantes de una secuencia de entrada.

La arquitectura del transformador incluye una capa de autoatención donde se integra el proceso de atención. Los pasos se explican tal como se presentan en el documento de Ashish Vaswani et al. la introducción de la capa de autoatención "Attention is All You Need".

Embedding de la secuencia de entrada

Una secuencia de entrada es una serie de puntos de datos vectorizados en embeddings, o representaciones numéricas, que el algoritmo de machine learning puede utilizar para calcular las puntuaciones de atención necesarias para producir una secuencia de output.

En la traducción automática, una frase se consideraría una secuencia de entrada, donde cada parte de la frase se considera un punto de datos o token de entrada. Los tokens se convierten en embeddings que actúan como unidades semánticas que el modelo puede procesar.2 Las embeddings se utilizan para calcular los pesos de atención que ayudan al modelo a priorizar (o atender) la entrada más relevante.

Generar vectores para la función de atención

El modelo utiliza estos embeddings para generar tres vectores clave para cada token: consulta (Q), clave (K) y valor (V). Estos valores se utilizarán para ayudar al modelo a realizar las coincidencias semánticas más fuertes dentro de la frase de entrada.

Se realizan multiplicaciones de matrices para obtener los vectores de consulta, clave y valor. El mecanismo de atención calcula una suma ponderada de los valores basándose en las respectivas matrices de peso de los componentes de consulta, clave y valor y en las entradas incrustadas.1 Este proceso se conoce como transformación lineal.

Calcular las puntuaciones de atención 

Una vez transformados los embeddings, se calculan las puntuaciones de atención para cada elemento de la secuencia. Las puntuaciones de atención se obtienen tomando las puntuaciones de atención del producto escalar entre los vectores de consulta y los vectores clave. Estos pesos de atención representan cuánto enfoque (o atención) debe dar un token específico a otros tokens en una secuencia.

A continuación, la puntuación de atención se escala por la raíz cuadrada de la dimensionalidad de los vectores clave. Este proceso ayuda a estabilizar los gradientes y evita que crezcan demasiado para calcularse de manera eficiente a medida que aumenta la dimensionalidad de los vectores.

Transformar las puntuaciones de atención en probabilidades 

Las puntuaciones de atención obtenidas a través del producto escalar de los vectores de consulta y los vectores clave se transforman en probabilidades mediante el uso de la función softmax. Este proceso se denomina normalización.

Con estas probabilidades normalizadas, el bloque de atención softmax permite a la arquitectura del transformador la capacidad de evaluar la importancia de los elementos de entrada individuales durante la generación del output.3 Estas probabilidades se utilizan para encontrar la importancia relativa de cada elemento en la secuencia. El modelo de atención utiliza estos pesos normalizados para decidir en qué partes de la entrada centrarse.

Por último, los pesos de atención derivados de este proceso contribuyen a la suma ponderada final del vector de valor. Cuanto mayor sea la puntuación de atención, más peso de atención tendrá la secuencia. Esto significa que tendrá más influencia en el output final de la suma ponderada del vector de valor.

Mixture of Experts | 12 de diciembre, episodio 85

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Los modelos de atención mejoran la comprensión del contexto 

Los modelos de atención son eficaces para capturar dependencias de largo alcance, independientemente de la distancia entre cada elemento, o token, dentro de una secuencia. La atención multitarea es una extensión crucial de la autoatención que mejora esta funcionalidad primaria al prestar atención a diferentes elementos dentro del conjunto de datos de entrada simultáneamente. Los modelos pueden atender distintos aspectos o relaciones en los datos a la vez, lo que permite dibujar más contexto entre dependencias o tokens.

Los primeros modelos bidireccionales, como las representaciones de codificador bidireccional de transformadores (BERT), mejoraron la comprensión del contexto al permitir que el modelo considerara la información tanto de la secuencia hacia adelante como hacia atrás. En la atención bidireccional, el modelo tiene como objetivo comprender el significado de una palabra en función de las palabras que la rodean.4

Los modelos GPT popularizaron la autoatención, destacando los beneficios de una ventana de contexto ampliada para tareas generativas. La capacidad de procesar más información a la vez conduce a una mayor precisión y comprensión.

Los modelos de IA utilizan la autoatención para procesar secuencias de entrada largas de manera eficiente, intercambiando información de atención a escala y reduciendo el uso de memoria.5 La autoatención permite al modelo obtener una comprensión contextual más profunda mediante el uso de la ventana contextual dentro del modelo. Cuanto mayor sea la ventana de contexto, mayor será el número de tokens a los que el modelo puede prestar atención a la vez.

Casos de uso

Tareas de PLN: el mecanismo de autoatención mejora las capacidades lingüísticas de los modelos de machine learning al permitir el análisis eficiente y completo de un texto completo. La investigación ha demostrado avances en la clasificación de sentimientos.6 Los modelos pueden realizar bien las tareas de PLN porque la capa de atención les permite calcular la relación entre las palabras independientemente de la distancia entre ellas.7

Visión artificial: los mecanismos de autoatención no son exclusivos de las tareas de PLN. Se puede utilizar para centrarse en partes específicas de una imagen. Los avances en los modelos de reconocimiento de imágenes sugieren que la autoatención es un componente crucial para aumentar su solidez y generalización.8

Notas a pie de página

1. “Attention Is All You Need”. Ashish Vaswani et al., Actas de la 31ª Conferencia Internacional sobre Sistemas de Procesamiento de Información Neural, arXiv:1706.03762v7. Revisado el 2 de agosto de 2023.

2. “Tokenization,” ensayo, en Introduction to Information Retrieval. Christopher Manning, Prabhakar Raghavan and Hinrich Schutze. 2008.

3. “Rethinking Softmax: Self-Attention with Polynomial Activations”. Hemanth Saratchandran et al.. Australian Institute of Machine Learning, University of Adelaide, arXiv:2410.18613v1. 24 de octubre de 2024.

4. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”. Jacob Devlin et al., arXiv:1810.04805v2. Revisado el 24 de mayo de 2019.

5. “Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective“. Zhiyuan Zeng et al. arXiv:2412.14135, 18 de diciembre de 2024.

6. “Bidirectional LSTM with self-attention mechanism and multi-channel features for sentiment classification“. Weijiang Li et al., Neurocomputing Vol 387. 28 de abril de 2020.

7. “Parallel Scheduling Self-attention Mechanism: Generalization and Optimization”. Mingfei Yu and Masahiro Fujita. arXiv:2012.01114v1. 2 de diciembre de 2020.

8. “Exploring Self-attention for Image Recognition,” Hengshuang Zhao, Jiaya Jia and Vladlen Koltun. Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.

Recursos

Temas relacionados
¿Qué es la incrustación vectorial?
Temas relacionados
Temas relacionados
¿Qué es un mecanismo de atención?
Temas relacionados
Temas relacionados
¿Qué es un modelo de transformador?
Temas relacionados
Temas relacionados
¿Qué es un conjunto de datos?
Temas relacionados
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.

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA al servicio de su negocio con la experiencia líder del sector y el portfolio de soluciones de IA de IBM.

Explore las soluciones de IA
Servicios y consultoría de inteligencia artificial (IA)

Los servicios de IA de IBM Consulting ayudan a reinventar la forma de trabajar de las empresas usando IA para la transformación.

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.

  1. Explore watsonx.ai
  2. Solicite una demo en directo