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

Longformer

Longformer combina la atención con ventana deslizante con unos pocos tokens globales, por lo que su coste aumenta linealmente con la longitud y puede procesar documentos de 4.096 tokens.

Longformer es un Transformer para documentos largos que sustituye la autoatención completa por atención de ventana deslizante alrededor de cada token, más atención global sobre unos pocos tokens elegidos para cada tarea; así, su coste crece de forma lineal con la longitud de la entrada en lugar de cuadrática. Iz Beltagy, Matthew Peters y Arman Cohan, del Allen Institute for AI, lo presentaron en el artículo de 2020 Longformer: el Transformer para documentos largos. Los codificadores como BERT y RoBERTa procesan como máximo 512 tokens, por lo que había que dividir los textos más largos en fragmentos que perdían las conexiones entre ellos. Los modelos Longformer publicados procesan 4096 tokens de una vez, una ventana de contexto ocho veces mayor.

Cómo funciona la atención de Longformer#

Cada capa combina patrones locales y globales dentro de un mecanismo de atención:

  • Atención de ventana deslizante: Cada token atiende a una ventana fija de tokens vecinos: 256 a cada lado en los modelos publicados.
  • Ventana deslizante dilatada: Los espacios entre las posiciones atendidas permiten que una cabeza llegue más lejos con el mismo coste. Los autores utilizaron dilatación en algunas cabezas de las capas superiores de sus modelos de lenguaje a nivel de carácter.
  • Atención global: Los tokens seleccionados atienden a todas las posiciones y todas las posiciones atienden a ellos, mediante proyecciones independientes de consulta, clave y valor. La tarea determina cuáles se eligen: el token [CLS] para clasificación y los tokens de la pregunta para responder preguntas.

Apilar capas amplía el alcance de la ventana del mismo modo que las convoluciones apiladas amplían el campo receptivo de una red neuronal convolucional (CNN): l capas con una ventana de tamaño w cubren l × w tokens. Cada capa calcula aproximadamente n × w puntuaciones de atención en lugar de n × n. Contar los pares de una máscara de Longformer permite ver la diferencia:

import torch

window = 512  # Longformer-base: 256 tokens on each side of every token

for n in (1024, 2048, 4096):
    pos = torch.arange(n)
    # Sliding window: each token attends to neighbors within window / 2 positions
    mask = (pos[:, None] - pos[None, :]).abs() <= window // 2
    # Global attention on token 0 ([CLS]): it sees every token and every token sees it
    mask[0, :] = True
    mask[:, 0] = True
    print(f"{n} tokens: full attention {n * n / 1e6:.1f}M scores, Longformer {mask.sum().item() / 1e6:.1f}M")

Imprime 0,5 M, 1,0 M y 2,0 M puntuaciones de Longformer frente a 1,0 M, 4,2 M y 16,8 M para la atención completa: cada vez que se duplica la entrada, el trabajo de atención de Longformer se duplica, mientras que el de la atención completa se cuadruplica. Las implementaciones reales calculan únicamente la banda de puntuaciones, de donde procede el ahorro de memoria.

Entrenamiento y resultados#

Longformer parte del punto de control de RoBERTa. Los autores copiaron ocho veces sus 512 incrustaciones posicionales aprendidas para cubrir 4.096 posiciones y continuaron el preentrenamiento de modelos de lenguaje enmascarados con documentos largos. Tras el ajuste fino, superó sistemáticamente a RoBERTa en tareas con documentos largos y logró en su momento resultados de vanguardia en los bancos de pruebas de respuesta a preguntas WikiHop y TriviaQA, mientras que el modelo de lenguaje a nivel de carácter obtuvo nuevos resultados en text8 y enwik8.

Longformer-Encoder-Decoder (LED) añade un decodificador para tareas de resumen de texto y otras de generación de texto, como demuestra el resumen de artículos científicos completos de arXiv. Transformers de Hugging Face implementa ambos modelos y recibe los tokens globales mediante un global_attention_mask. Después aparecieron versiones específicas de dominio, como Clinical-Longformer, preentrenado con grandes corpus de textos clínicos y evaluado en 10 tareas, entre ellas el reconocimiento de entidades nombradas, la respuesta a preguntas y la clasificación de documentos.

  • Transformer-XL: Lee un texto largo segmento a segmento y permite que cada segmento atienda a los estados ocultos almacenados en caché del segmento anterior, ampliando el contexto mediante recurrencia para la generación de izquierda a derecha.
  • BigBird: Modelo de Google del mismo año que añade enlaces de atención aleatorios a la atención de ventana y a la global, y también procesa 4096 tokens.
  • Atención dispersa: Familia más amplia de patrones de atención fijos a la que pertenece Longformer.
  • Atención Flash: Calcula la atención completa exacta en bloques de memoria en chip, por lo que el consumo de memoria crece de forma lineal con la longitud, aunque el número de puntuaciones sigue siendo cuadrático.

Atención local y global en visión#

Las imágenes de alta resolución plantean el mismo problema, porque un Transformer de visión (ViT) convierte una imagen en miles de tokens de parches. El Swin Transformer lo resuelve con ventanas locales desplazadas, y el Segment Anything Model (SAM) de Meta, que se ejecuta en el paquete Ultralytics, combina atención por ventanas y atención global bloque a bloque para la segmentación de imágenes: su codificador de imágenes ViT-B atiende dentro de ventanas no superpuestas de 14 × 14 sobre una cuadrícula de parches de 64 × 64 en 8 de sus 12 bloques, y globalmente sobre los 4096 parches en los bloques 2, 5, 8 y 11.

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