25. Atención (Attention) en modelos de lenguaje

25.1 Introducción

En los temas anteriores vimos cómo las RNN, las LSTM y las GRU intentaron resolver el problema del contexto secuencial. Aunque lograron avances importantes, seguían arrastrando dos dificultades fuertes: procesaban la secuencia paso a paso y tenían problemas para manejar dependencias muy largas.

El mecanismo de atención cambió este panorama introduciendo una idea poderosa: en lugar de depender solo de una memoria comprimida, el modelo puede mirar directamente distintas partes de la secuencia y decidir cuáles son más relevantes en cada momento.

25.2 La intuición básica

Cuando una persona lee una oración compleja, no trata todos los fragmentos con la misma importancia al mismo tiempo. Según la palabra o la tarea, presta más atención a ciertas partes del contexto y menos a otras.

La atención en modelos neuronales sigue una intuición parecida: permite asignar pesos diferentes a distintas posiciones de la secuencia para construir una representación contextual más útil.

25.3 ¿Por qué surgió?

En arquitecturas recurrentes, mucha información debía pasar por un estado oculto o por una memoria resumida. Eso generaba cuellos de botella: si una palabra importante aparecía lejos, el modelo podía tener dificultades para conservarla hasta el momento en que fuera necesaria.

La atención surgió para evitar depender exclusivamente de ese resumen comprimido. En lugar de obligar al modelo a recordar todo en un único vector, le permite consultar directamente las partes relevantes de la secuencia original.

25.4 Qué problema resuelve conceptualmente

La atención resuelve, al menos en parte, este problema: no toda la historia previa tiene la misma importancia para cada decisión.

Si queremos interpretar una palabra o generar la siguiente, puede que ciertas posiciones anteriores sean críticas y otras casi irrelevantes. El mecanismo de atención aprende a distinguir esas diferencias.

25.5 Un ejemplo intuitivo

Consideremos la oración: "El libro que compré ayer en la librería del centro me resultó muy útil". Si queremos interpretar la palabra "útil", algunas partes del contexto importan más que otras.

No hace falta que el modelo trate cada palabra previa con el mismo peso. La atención le permite enfocarse selectivamente en los fragmentos que aportan más información para esa decisión.

25.6 Atención como ponderación

En términos generales, la atención calcula una distribución de pesos sobre distintas posiciones de entrada. Esos pesos indican cuánto conviene "mirar" cada parte del contexto.

Luego, el modelo combina la información disponible usando esa ponderación. Así obtiene una representación que no es un simple promedio, sino un resumen guiado por relevancia.

La atención permite construir contexto dinámico: en cada paso, el modelo decide qué partes del texto son más importantes para la tarea actual.

25.7 No toda atención es igual

El término atención se usa en varios contextos, pero la idea general se mantiene: calcular relaciones entre elementos de una secuencia para determinar qué información debe influir más en una representación o predicción.

En algunos modelos, la atención conecta una secuencia de entrada con una secuencia de salida. En otros, como veremos más adelante, los propios tokens de una secuencia se atienden entre sí.

25.8 Atención en traducción automática

Uno de los contextos donde la atención mostró rápidamente su valor fue la traducción automática. En un sistema secuencia a secuencia, al generar cada palabra del texto traducido no todas las palabras del texto original son igual de relevantes.

La atención permite que, al producir cada token de salida, el modelo se concentre en las partes del texto fuente que tienen mayor relación con ese paso particular.

Esto mejoró notablemente la calidad frente a modelos que intentaban comprimir toda la oración de entrada en un único vector fijo.

25.9 Contexto dependiente de la tarea actual

Un aspecto crucial es que la atención no genera un único resumen estático del texto. El contexto se recalcula según la necesidad del momento.

Eso significa que la representación útil para interpretar una palabra puede ser distinta de la representación útil para interpretar otra. Este comportamiento dinámico fue una de las grandes novedades frente a enfoques anteriores.

25.10 De memoria comprimida a acceso selectivo

Antes de la atención, gran parte del trabajo consistía en codificar la secuencia completa en una memoria interna relativamente compacta. Con atención, el modelo gana algo parecido a un acceso selectivo al contenido previo.

No necesita transportar toda la información intacta a lo largo de muchos pasos. Puede volver a consultar lo relevante cuando haga falta.

25.11 Ventajas frente a arquitecturas puramente recurrentes

El mecanismo de atención aportó varias ventajas importantes:

  • Mejor manejo de dependencias largas.
  • Menor dependencia de una memoria única y comprimida.
  • Representaciones contextuales más flexibles.
  • Mayor capacidad para enfocar información relevante.

Estas ventajas no eliminaron automáticamente todos los problemas, pero cambiaron de manera profunda el diseño de modelos para texto.

25.12 Atención y alineamiento

En muchas aplicaciones, la atención puede interpretarse como una forma de alineamiento entre partes de una secuencia y partes de otra. Por ejemplo, al traducir, puede indicar qué palabras del texto original están influyendo más en la generación de una palabra de salida.

Este aspecto hizo que la atención también resultara atractiva por razones de interpretabilidad relativa, aunque siempre con cautela.

25.13 Importancia para secuencias largas

Cuanto más larga es una secuencia, más difícil resulta depender solo de una memoria recurrente tradicional. La atención ayuda justamente porque permite mirar de forma más directa posiciones distantes sin tener que atravesar toda la cadena paso a paso.

Esto fue decisivo para mejorar el tratamiento de contexto extendido en muchos problemas de NLP.

25.14 Atención no significa comprensión humana

Aunque la palabra suena muy intuitiva, conviene no exagerar la analogía. El mecanismo matemático de atención no equivale a la atención consciente de una persona. Se trata de una forma de ponderar información dentro de un modelo.

La analogía es útil para entender la idea general, pero no debe llevarnos a confundir comportamiento estadístico con procesos cognitivos humanos.

25.15 Hacia la autoatención

Una evolución decisiva de esta idea fue la autoatención, donde los elementos de una misma secuencia se relacionan entre sí para construir representaciones contextuales.

En lugar de atender solo entre entrada y salida, cada token puede evaluar qué otros tokens de la misma secuencia son más relevantes para su representación.

Esta idea será central en el próximo tema, cuando estudiemos Transformers.

25.16 Relación con consultas, claves y valores

En formulaciones modernas, la atención suele describirse con los conceptos de queries, keys y values. Aunque más adelante veremos esto con más detalle, la intuición básica es sencilla.

Un elemento formula una especie de consulta sobre qué información necesita. Esa consulta se compara con representaciones del resto de los elementos, y de esa comparación surge cuánto peso asignar a cada uno. Luego se combinan los valores correspondientes.

No es necesario dominar la fórmula ahora. Lo importante es entender que la atención se basa en comparar relevancia y combinar información en función de esa comparación.

25.17 Atención y paralelización

Otro aspecto muy importante es que ciertos mecanismos de atención se adaptan mejor a procesamiento paralelo que las redes puramente recurrentes. Esto se volvió clave cuando los modelos crecieron y empezaron a entrenarse con enormes volúmenes de texto.

La posibilidad de paralelizar mejor el cálculo fue una de las razones por las que la atención ganó todavía más relevancia.

25.18 Límites y costo

La atención no es una solución mágica sin costos. Calcular relaciones entre muchos elementos puede ser computacionalmente caro, especialmente cuando las secuencias son largas.

Además, el hecho de que un modelo use atención no garantiza automáticamente mejor comportamiento en cualquier tarea. Sigue importando el diseño completo de la arquitectura, los datos y el entrenamiento.

25.19 Impacto histórico

El impacto de la atención fue enorme porque cambió la forma de pensar el contexto en NLP. En vez de confiar solo en una memoria recurrente acumulativa, abrió la puerta a modelos capaces de relacionar explícitamente distintas partes del texto.

Este cambio no fue solo una mejora incremental. Preparó el terreno para una nueva familia de arquitecturas que redefinieron el campo.

25.20 Comparación conceptual

Enfoque Idea de contexto Limitación principal
RNN simple Memoria acumulada en estado oculto. Dependencias largas difíciles.
LSTM / GRU Memoria regulada con compuertas. Procesamiento secuencial y costo temporal.
Atención Acceso selectivo a partes relevantes de la secuencia. Costo computacional en secuencias extensas.

25.21 Ejemplo en Python: pesos de autoatención sobre tokens

Este script implementa una versión diminuta de autoatención con PyTorch. Lo interesante es que no solo genera una salida, sino que permite inspeccionar la matriz de atención para ver a qué tokens está mirando el modelo.

import torch
import torch.nn.functional as F

tokens = ["el", "modelo", "entiende", "contexto"]
x = torch.randn(4, 8)  # 4 tokens, embedding_dim=8

Q = x @ torch.randn(8, 8)
K = x @ torch.randn(8, 8)
V = x @ torch.randn(8, 8)

scores = Q @ K.T / (8 ** 0.5)
pesos = F.softmax(scores, dim=-1)
salida = pesos @ V

print("Pesos de atencion:")
print(pesos)

print("\nRepresentacion final:")
print(salida.shape)  # torch.Size([4, 8])

Lo más valioso del ejemplo es que traduce una idea abstracta a algo visible: cada fila de pesos indica cuánto influye cada token sobre otro. Esa es la esencia de la atención y la base conceptual de Transformers.

25.22 Qué debes recordar de este tema

  • La atención permite que el modelo asigne distinta importancia a distintas partes del contexto.
  • Surgió para superar los límites de las memorias recurrentes comprimidas.
  • No genera un único resumen estático, sino contexto dinámico según la necesidad del momento.
  • Fue especialmente valiosa en tareas como traducción y modelado de secuencias largas.
  • La autoatención será la base conceptual de los Transformers.
  • Aunque poderosa, la atención también introduce costos computacionales.

25.23 Conclusión

El mecanismo de atención introdujo una nueva forma de pensar el contexto en NLP: ya no como una memoria única que arrastra toda la historia, sino como un acceso flexible a las partes más relevantes del texto.

Esa idea resultó tan poderosa que terminó convirtiéndose en el núcleo de las arquitecturas más influyentes de la etapa moderna.

En el próximo tema estudiaremos precisamente la introducción a Transformers, donde la atención deja de ser un componente auxiliar y pasa a ocupar el lugar central del modelo.