La arquitectura transformer es un diseño de red neuronal construido alrededor de la autoatención. En lugar de depender principalmente de un procesamiento paso a paso, permite que cada token reúna información de otros tokens relevantes de la secuencia.
Por eso los transformers funcionan bien en lenguaje y otras tareas de secuencias. Si una palabra depende de otra palabra que está muy lejos, la atención le da al modelo un camino directo entre ambas.
Qué significa la arquitectura transformer
Un bloque transformer hace más que aplicar una sola fórmula, pero la autoatención es la idea central. En la autoatención, cada token produce tres vectores:
- una consulta, que representa lo que este token está buscando
- una clave, que representa lo que este token ofrece para la coincidencia
- un valor, que es la información que puede transmitirse
Si las representaciones de los tokens se organizan en una matriz , una cabeza de atención suele formar
donde , y son matrices aprendidas.
La fórmula estándar de atención por producto punto escalado es
Aquí es la dimensión de las claves. El escalado por ayuda a evitar que las puntuaciones brutas del producto punto se vuelvan demasiado grandes a medida que crece la dimensión.
La softmax se aplica fila por fila. Cada fila responde a la pregunta de un token: "¿Cuánta atención debo prestar a los otros tokens?"
Cómo funciona la autoatención en lenguaje sencillo
La autoatención no suele elegir un token e ignorar el resto. Construye un promedio ponderado de vectores de valor.
Si un token coincide fuertemente con la clave de otro token, ese token recibe un peso mayor. Si la coincidencia es débil, el peso es menor. Por tanto, la salida de un token es una mezcla de información de la secuencia que tiene en cuenta el contexto.
Esto ayuda con la concordancia entre sujeto y verbo, la referencia de pronombres y otras relaciones de largo alcance. El modelo no necesita que la información pase por muchos pasos intermedios antes de estar disponible.
Ejemplo resuelto de autoatención
Toma una consulta y dos tokens candidatos en una sola cabeza de atención. Para mantener la aritmética simple, usa .
Supón que el token actual tiene la consulta
y que los dos tokens candidatos tienen
con valores
Las puntuaciones brutas de atención son los productos punto:
Como , el factor de escala es , así que las puntuaciones escaladas siguen siendo y .
Ahora aplica softmax a esas dos puntuaciones:
La salida de atención es la combinación ponderada
La idea clave es simple: la salida queda más cerca de porque la consulta coincidió con más fuertemente que con .
Este es el patrón básico dentro de un modelo mucho más grande. Los transformers reales hacen esto en dimensiones más altas y sobre muchos tokens a la vez, pero la idea aritmética es la misma.
Qué más hay dentro de un bloque transformer
Un transformer es más que una fórmula de atención. Un bloque estándar suele contener:
- atención multi-cabeza, para que el modelo pueda aprender varios tipos de relaciones a la vez
- una red feedforward por posición, que transforma cada representación de token después de la atención
- conexiones residuales, que ayudan a conservar y refinar la información a través de las capas
- normalización de capa, que ayuda a estabilizar el entrenamiento
En la arquitectura transformer original para tareas de secuencia a secuencia, el modelo tenía una pila de codificador y una pila de decodificador.
- El codificador usa autoatención sobre la secuencia de entrada.
- El decodificador usa autoatención enmascarada para que una posición no pueda mirar hacia tokens futuros de salida.
- El decodificador también puede usar atención cruzada, donde las consultas vienen del decodificador y las claves y valores vienen de la salida del codificador.
Muchos modelos de lenguaje modernos usan solo el lado del decodificador. La idea central de atención sigue ahí, pero la arquitectura general está especializada para la predicción del siguiente token.
Por qué los transformers necesitan información posicional
La atención por sí sola es equivariante a las permutaciones con respecto a los tokens de entrada. En lenguaje sencillo, si solo aplicas atención al mismo conjunto de vectores de tokens sin añadir posición, el modelo no sabe de forma inherente qué token apareció primero.
Por eso los transformers añaden información posicional, como embeddings de posición aprendidos o codificaciones posicionales. Sin esa señal extra, tareas sensibles al orden como el lenguaje serían mucho más difíciles de modelar correctamente.
Errores comunes sobre la arquitectura transformer
Pensar que la atención es todo el transformer
Es la idea central, pero la arquitectura también depende de capas feedforward, caminos residuales, normalización e información posicional.
Confundir autoatención con atención cruzada
En la autoatención, , y provienen de la misma secuencia. En la atención cruzada, no todos provienen de la misma fuente.
Olvidar el papel del enmascaramiento
Los modelos de lenguaje de solo decodificador necesitan enmascaramiento causal durante el entrenamiento y la inferencia para que un token no pueda atender a tokens futuros.
Tratar los pesos de atención como una explicación completa
Los pesos de atención pueden ser informativos, pero no son una prueba completa del razonamiento del modelo. El comportamiento final también depende de los vectores de valor, las capas posteriores y las transformaciones no lineales.
Cuándo se usan los modelos transformer
Los transformers se usan ampliamente en modelado del lenguaje, traducción, resumen, generación de código, voz y muchas tareas de visión. Funcionan especialmente bien cuando las relaciones dentro de una secuencia o conjunto importan más que los patrones puramente locales.
No son mágicos para cualquier situación. Para conjuntos de datos muy pequeños, restricciones estrictas de tiempo real o problemas donde la estructura inductiva local es lo más importante, otra arquitectura puede seguir siendo una mejor opción.
Prueba un problema parecido
Toma una frase de tres palabras y céntrate en una de ellas. Decide cuáles de las otras palabras deberían recibir un peso de atención alto y por qué, y luego esboza un pequeño ejemplo de consulta-clave-valor que coincida con esa intuición.
Si quieres ir un paso más allá, calcula a mano una pequeña salida de atención. Suele ser la ruta más rápida para pasar de "conozco la fórmula" a "entiendo lo que está haciendo la arquitectura".
¿Necesitas ayuda con un problema?
Sube tu pregunta y obtén una solución verificada, paso a paso, en segundos.
Abrir GPAI Solver →