Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Transformer

Un Transformer es una red neuronal basada en la autoatención que procesa una secuencia completa en paralelo. Descubre cómo funciona, cuáles son sus variantes y cómo se usa en visión.

Un Transformer es una arquitectura de red neuronal que procesa una secuencia de tokens, como palabras o parches de imagen, permitiendo que cada token extraiga información de los demás mediante la autoatención. Investigadores de Google lo presentaron en 2017 en Attention Is All You Need para la traducción automática. Las redes neuronales recurrentes (RNN) anteriores leían las frases palabra por palabra, por lo que el entrenamiento no podía paralelizarse entre posiciones. El Transformer procesa todas las posiciones a la vez, y su modelo base alcanzó resultados de vanguardia en traducción del inglés al alemán tras 12 horas de entrenamiento en ocho GPU. Actualmente, los Transformer son la base de los grandes modelos de lenguaje (LLM), los Vision Transformer, el reconocimiento del habla y muchos modelos de detección de objetos y generación de imágenes.

Cómo funcionan los Transformer#

Primero, los tokens de entrada se convierten en embeddings, vectores de anchura fija (512 en el modelo original). A continuación, un Transformer aplica una pila de capas idénticas, cada una con dos subcapas:

  • Autoatención multi-cabeza: Cada token produce un vector de consulta, una clave y un valor. La salida de un token es una media ponderada de todos los vectores de valor, cuyos pesos dependen de cuánto coincida su consulta con cada clave, tal como se explica en el mecanismo de atención. Varias cabezas se ejecutan en paralelo —ocho en el modelo original—, de modo que pueden seguir relaciones distintas.
  • Red neuronal feed-forward: Una red de dos capas aplicada por separado a cada token, que transforma la información recopilada por la atención.

Una conexión residual rodea cada subcapa y la normalización de capas mantiene estables las activaciones. El modelo original apilaba seis de estas capas en un codificador, que lee la frase de origen, y seis en un decodificador, que escribe la traducción token a token. Cada capa del decodificador añade un paso de autoatención enmascarada que oculta los tokens futuros y otro de atención cruzada que lee la salida del codificador:

La atención compara los tokens únicamente por su contenido, así que una capa Transformer no tiene una noción de orden integrada: si se desordenan los tokens de entrada, solo se desordenan las salidas. Por eso, la información de posición se añade a los embeddings de tokens mediante patrones fijos de senos y cosenos en el artículo original, vectores de posición aprendidos en BERT y ViT, o embeddings posicionales rotatorios (RoPE) en la mayoría de los LLM actuales. Este código de PyTorch muestra el efecto con una capa de codificador:

import torch
from torch import nn

# Una capa de codificador Transformer y una secuencia de 5 embeddings de tokens
torch.manual_seed(0)
layer = nn.TransformerEncoderLayer(d_model=32, nhead=4, batch_first=True).eval()
tokens = torch.randn(1, 5, 32)
reverse = torch.arange(4, -1, -1)

# La autoatención por sí sola ignora el orden: invertir la entrada solo invierte la salida
print(torch.allclose(layer(tokens[:, reverse])[:, reverse], layer(tokens), atol=1e-5))

# Añadir un vector aprendido por posición hace que cada salida dependa de dónde se encuentre su token
positions = nn.Embedding(5, 32).weight
reordered = layer(tokens[:, reverse] + positions)[:, reverse]
print(torch.allclose(reordered, layer(tokens + positions), atol=1e-5))

Muestra True y, a continuación, False: invertir los tokens solo invierte las salidas hasta que se añaden los vectores de posición; después, el orden de los tokens cambia la salida de cada token.

Modelos de codificador, decodificador y codificador-decodificador#

Las tres formas de utilizar la pila original sirven para tareas distintas:

  • Solo codificador: Cada token presta atención a toda la entrada en ambas direcciones, lo que resulta adecuado para tareas de comprensión. BERT para texto y ViT para imágenes utilizan solo un codificador.
  • Solo decodificador: Cada token presta atención únicamente a los tokens anteriores, por lo que el modelo genera texto token a token. Los modelos GPT y la mayoría de los LLM actuales utilizan este diseño.
  • Codificador-decodificador: Un codificador lee una secuencia y un decodificador escribe otra mientras presta atención a la primera, como ocurre en los modelos de traducción, T5 y el reconocedor de voz Whisper.

Transformer en visión artificial#

El Vision Transformer (ViT) trata una imagen como una secuencia de parches de 16×16 píxeles y aplica un codificador Transformer sin modificar. El Swin Transformer limita la atención a ventanas locales para poder trabajar con imágenes de alta resolución. DETR reformuló la detección como una predicción de conjuntos: un decodificador Transformer convierte un conjunto fijo de consultas de objeto aprendidas en cajas, una por consulta, lo que elimina la supresión no máxima (NMS) y los anclajes diseñados manualmente. El paquete Ultralytics ejecuta RT-DETR de Baidu, una versión en tiempo real de este diseño cuyo codificador híbrido aplica una capa de codificador Transformer solo al mapa de características de stride 32 —400 tokens para una imagen de 640×640— y cuyo decodificador de seis capas refina 300 consultas de objeto para obtener las detecciones finales sin NMS. Los Transformer también generan imágenes: los Transformer de difusión han sustituido a U-Net en modelos recientes de texto a imagen y de vídeo, y los modelos de visión y lenguaje introducen tokens de imagen en un LLM solo decodificador.

  • Redes neuronales convolucionales (CNN): Una convolución observa un vecindario pequeño con el mismo filtro en cada posición, una suposición integrada que resulta útil con conjuntos de datos pequeños. La atención puede vincular dos posiciones cualesquiera en una sola capa, pero tiene que aprender la estructura espacial a partir de los datos; por eso, los Transformer suelen necesitar más datos de entrenamiento o preentrenamiento para superar a las CNN.
  • RNN y LSTM: Mantienen un estado de tamaño fijo de un paso al siguiente, por lo que la memoria por token es constante, pero el entrenamiento es secuencial. Un Transformer mantiene disponibles todos los tokens anteriores y se entrena en paralelo.
  • Modelos de espacio de estados: Arquitecturas como Mamba procesan secuencias con un estado recurrente cuyo coste aumenta linealmente con la longitud, y los modelos híbridos las intercalan con capas de atención.

La autoatención compara cada token con todos los demás, por lo que su coste aumenta con el cuadrado de la longitud de la secuencia. Una secuencia de 4096 tokens tiene unos 16,8 millones de pares consulta-clave en cada cabeza de cada capa, y duplicar la longitud a 8192 tokens cuadruplica esa cifra hasta unos 67 millones. FlashAttention reduce el tráfico de memoria de este cálculo, y la caché KV almacena las claves y los valores de los tokens anteriores para que el decodificador los calcule una sola vez durante la generación.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático