Transformer/es
| Article | |
|---|---|
| Topic area | Machine Learning |
| Difficulty | Introductory |
Los transformadores son una familia de arquitecturas de redes neuronales construidas en torno al mecanismo de autoatención, introducidas por Vaswani et al. en el artículo de 2017 Attention Is All You Need. Se han convertido en la arquitectura dominante para el procesamiento del lenguaje natural y, cada vez más, para visión por computadora, voz y tareas multimodales.
Visión general
Un transformador procesa una secuencia de tokens mezclando repetidamente información entre posiciones mediante atención en lugar de recurrencia o convolución. Cada capa aplica auto-atención multi-cabeza seguida de una red feed-forward por posición, con conexiones residuales y normalización de capa en cada subcapa. Dado que la atención es invariante a permutaciones, la información posicional se inyecta mediante codificaciones posicionales.
A diferencia de las redes neuronales recurrentes, los transformadores calculan todas las posiciones de la secuencia en paralelo durante el entrenamiento, lo que mejora drásticamente el rendimiento en hardware moderno. Este paralelismo, junto con la capacidad de la atención para modelar dependencias de largo alcance en un número constante de capas, ha permitido entrenar modelos muy grandes sobre corpus muy grandes — la base de los grandes modelos de lenguaje (LLM) contemporáneos.
Conceptos clave
- Auto-atención — cada token de una secuencia calcula una suma ponderada de todos los demás tokens, donde los pesos se aprenden a partir de la similitud de contenido en lugar de la posición.
- Consultas, claves y valores — cada token se proyecta en tres vectores: las consultas se comparan con las claves para producir pesos de atención, que luego se utilizan para combinar los valores.
- Atención multi-cabeza — varias operaciones de atención se ejecutan en paralelo con proyecciones independientes, lo que permite al modelo atender a diferentes aspectos de la entrada simultáneamente.
- Codificación posicional — vectores sinusoidales o aprendidos que se suman a los embeddings de los tokens para que el modelo pueda distinguir posiciones en una operación que de otro modo es independiente del orden.
- Conexiones residuales y normalización de capa — envuelven cada subcapa para estabilizar los gradientes y permitir pilas muy profundas.
- Redes feed-forward — MLPs de dos capas aplicados por posición de forma independiente a cada token, que proporcionan una transformación no lineal por posición.
- Enmascaramiento causal — en los decodificadores, las posiciones futuras se enmascaran fuera de la atención para que el modelo no pueda mirar hacia adelante durante la generación autoregresiva.
Historia
La atención como alineamiento blando entre los estados ocultos del codificador y del decodificador fue introducida para la traducción automática neuronal por Bahdanau et al. (2015) y refinada por Luong et al. (2015), pero estos modelos seguían construidos sobre RNNs. En 2017, Vaswani et al. propusieron el transformador, que eliminó por completo la recurrencia y se basó únicamente en la atención. La arquitectura ganó los benchmarks de traducción WMT'14 inglés–alemán e inglés–francés entrenándose en una fracción del tiempo.
En 2018, Devlin et al. publicaron BERT, un codificador bidireccional profundo preentrenado con modelado de lenguaje enmascarado, que estableció nuevos resultados de vanguardia en una amplia variedad de benchmarks de PLN. El mismo año, Radford et al. presentaron GPT, un transformador autoregresivo solo de decodificador entrenado con un objetivo estándar de modelado de lenguaje. El escalado posterior — GPT-2 (2019), GPT-3 (2020), PaLM, LLaMA y los modelos de frontera contemporáneos — estableció que el rendimiento del transformador sigue leyes de escalado predecibles (Kaplan et al. 2020) a medida que crecen los parámetros, los datos y el cómputo.
Los transformadores también se han extendido más allá del texto: los Vision Transformers (Dosovitskiy et al. 2021) tratan los parches de imagen como tokens, los transformadores de voz (p. ej., Whisper) operan sobre espectrogramas de audio, y los modelos multimodales como CLIP y Flamingo unifican varias modalidades en una sola arquitectura.
Enfoques principales
El bloque básico es la atención de producto punto escalado. Dadas matrices de consultas $ Q \in \mathbb{R}^{n \times d_k} $, claves $ K \in \mathbb{R}^{n \times d_k} $ y valores $ V \in \mathbb{R}^{n \times d_v} $:
- $ \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\!\left(\frac{Q K^{\!\top}}{\sqrt{d_k}}\right) V $
El factor de escala $ \sqrt{d_k} $ evita que los productos punto crezcan demasiado y empujen la softmax a regiones de gradientes pequeños. La atención multi-cabeza ejecuta $ h $ cabezas paralelas con proyecciones independientes y concatena sus salidas:
- $ \mathrm{MultiHead}(Q, K, V) = \mathrm{Concat}(\mathrm{head}_1, \dots, \mathrm{head}_h)\, W^O $
donde $ \mathrm{head}_i = \mathrm{Attention}(Q W_i^Q,\, K W_i^K,\, V W_i^V) $.
Tres variantes arquitectónicas dominan en la práctica:
- Transformadores codificador–decodificador — el diseño original, utilizado para tareas secuencia a secuencia como traducción y resumen. Las capas del codificador usan auto-atención bidireccional; las del decodificador usan auto-atención causal y atención cruzada hacia las salidas del codificador. Ejemplos: T5, BART, el modelo original de Vaswani.
- Transformadores solo de codificador — descartan el decodificador y usan auto-atención bidireccional en todo el modelo. Entrenados con modelado de lenguaje enmascarado para aprendizaje de representaciones. Ejemplos: BERT, RoBERTa, DeBERTa.
- Transformadores solo de decodificador — descartan el codificador y usan únicamente auto-atención causal, entrenados con predicción del siguiente token. Es ahora el diseño dominante para modelos de lenguaje de propósito general. Ejemplos: familia GPT, LLaMA, Mistral, Claude.
El transformador original utiliza codificaciones posicionales sinusoidales:
- $ \mathrm{PE}(pos, 2i) = \sin\!\left(\frac{pos}{10000^{2i/d}}\right), \quad \mathrm{PE}(pos, 2i+1) = \cos\!\left(\frac{pos}{10000^{2i/d}}\right) $
Trabajos posteriores introdujeron posiciones absolutas aprendidas (BERT, GPT-2), codificaciones posicionales relativas (Shaw et al. 2018, T5), embeddings de posición rotatoria (RoPE, Su et al. 2021) y los sesgos lineales ALiBi (Press et al. 2022); las dos últimas mejoran la extrapolación a secuencias más largas que las vistas durante el entrenamiento.
La auto-atención tiene complejidad $ O(n^2 d) $, lo que resulta costoso para secuencias largas. Las variantes de transformador eficiente reducen este coste: Linformer y Performer usan aproximaciones de bajo rango o de núcleo; Longformer y BigBird combinan patrones de atención locales y globales; FlashAttention (Dao et al. 2022) reordena el cómputo para ser consciente de la E/S, logrando atención exacta con un uso de hardware mucho mayor. El enrutamiento mezcla de expertos dispersa (MoE) sustituye las subcapas feed-forward densas por expertos activados de forma dispersa (Switch Transformer, Mixtral) para escalar parámetros sin escalar proporcionalmente el cómputo.
Conexiones
Los transformadores están profundamente conectados con otras ideas del aprendizaje automático moderno. Se basan directamente en los mecanismos de atención, generalizando el alineamiento blando utilizado en los modelos secuencia a secuencia anteriores. Sus entradas son típicamente embeddings de palabras densos (o embeddings de subpalabras aprendidos como BPE y SentencePiece), y sus salidas sobre un vocabulario se producen mediante una softmax aplicada a logits lineales.
El entrenamiento se apoya en la misma maquinaria que otras redes profundas: retropropagación a través de las subcapas de atención y feed-forward, optimización mediante variantes de descenso de gradiente como Adam y AdamW, y pérdida de entropía cruzada para la predicción del siguiente token o la recuperación de tokens enmascarados. Son estándar las técnicas de regularización como dropout (sobre los pesos de atención y las activaciones feed-forward) y la caída de pesos.
Desde el punto de vista arquitectónico, los transformadores pueden verse como una generalización de las capas totalmente conectadas con enrutamiento condicionado por el contenido, o como un caso especial de redes neuronales sobre grafos en grafos totalmente conectados. Suelen preentrenarse sobre grandes corpus no etiquetados y luego adaptarse a tareas descendentes mediante aprendizaje por transferencia — ajuste fino, métodos eficientes en parámetros como LoRA, prefix-tuning, o simplemente prompting en contexto.
Véase también
- Attention Mechanisms
- Neural Networks
- Recurrent Neural Networks
- Word Embeddings
- Softmax Function
- Transfer Learning
- Backpropagation
- Cross-Entropy Loss
Referencias
- Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł. y Polosukhin, I. (2017). "Attention Is All You Need". NeurIPS.
- Devlin, J., Chang, M.-W., Lee, K. y Toutanova, K. (2019). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". NAACL.
- Radford, A., Narasimhan, K., Salimans, T. y Sutskever, I. (2018). "Improving Language Understanding by Generative Pre-Training". OpenAI technical report.
- Brown, T. et al. (2020). "Language Models are Few-Shot Learners". NeurIPS.
- Kaplan, J. et al. (2020). "Scaling Laws for Neural Language Models". arXiv:2001.08361.
- Dosovitskiy, A. et al. (2021). "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale". ICLR.
- Su, J., Lu, Y., Pan, S., Murtadha, A., Wen, B. y Liu, Y. (2021). "RoFormer: Enhanced Transformer with Rotary Position Embedding". arXiv:2104.09864.
- Dao, T., Fu, D. Y., Ermon, S., Rudra, A. y Ré, C. (2022). "FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness". NeurIPS.