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

Sparse Attention

La atención dispersa permite que cada token preste atención a un subconjunto seleccionado de los demás, como una ventana local, tokens globales o selecciones top-k, para reducir el coste de las secuencias largas.

La atención dispersa es una familia de mecanismos de atención en los que cada consulta puntúa solo un subconjunto seleccionado de claves, en lugar de todas las claves de la secuencia. La autoatención completa sobre N tokens calcula N² puntuaciones por cabezal, por lo que duplicar la longitud de un documento cuadruplica el coste de atención; en cambio, un patrón en el que cada token atiende a k elementos cuesta N·k. El patrón puede fijarse de antemano, como una ventana local, o seleccionarse según el contenido, como las claves con mayor puntuación para cada consulta. El Sparse Transformer de OpenAI de 2019 utilizó patrones con saltos, cuyo coste era O(N√N), para modelar secuencias de decenas de miles de pasos; los modelos de lenguaje grandes (LLM) actuales utilizan capas dispersas para admitir ventanas de contexto de más de 100.000 tokens.

Patrones de dispersión habituales#

Los patrones fijos determinan de antemano qué pares se puntúan. La atención de ventana deslizante permite que cada token vea solo los w tokens anteriores: Mistral 7B utiliza una ventana de 4.096 tokens, y los modelos de pesos abiertos gpt-oss de OpenAI alternan capas densas con capas de ventana de 128 tokens, igual que la alternancia entre capas densas y localmente dispersas que utilizó GPT-3. Cada capa con ventana transmite información otros w tokens hacia delante, por lo que una pila profunda sigue conectando tokens distantes. Los patrones con saltos añaden cada s-ésimo token anterior, de modo que la información también puede recorrer grandes distancias en una sola capa. Los tokens globales atienden a todas las posiciones y reciben atención de todas ellas: Longformer los asigna a tokens de tarea, como el token de clasificación; BigBird también añade conexiones aleatorias; y los sumideros de atención mantienen visibles los primeros tokens para todas las consultas, lo que estabiliza la generación en streaming.

Los patrones basados en el contenido eligen los pares a partir de los datos. Native Sparse Attention de DeepSeek (NSA, 2025) combina resúmenes comprimidos de bloques de claves, una selección de los bloques más relevantes y una ventana deslizante; todo se entrena de extremo a extremo. DeepSeek Sparse Attention en DeepSeek-V3.2 ejecuta un pequeño «indexador rápido» que puntúa cada token anterior para cada consulta y después calcula la atención completa solo sobre los 2.048 mejores, por lo que el coste principal de atención de cada consulta se mantiene fijo por larga que sea la ventana de contexto. Los modelos de producción suelen combinar estas reglas:

Cómo convertir un patrón en ahorro#

Una máscara aplicada a una matriz densa de puntuaciones sigue calculando todas las puntuaciones, por lo que las mejoras de velocidad dependen de núcleos que omitan los bloques vacíos de la matriz. Los núcleos de atención Flash admiten directamente las ventanas deslizantes, y FlexAttention de PyTorch compila cualquier función de máscara en un núcleo disperso por bloques de GPU. Su create_block_mask muestra qué bloques omite un núcleo de este tipo con una ventana de 1.024 tokens y cuatro tokens sumidero:

from torch.nn.attention.flex_attention import create_block_mask

seq_len, window, sinks = 8192, 1024, 4


def local_plus_sinks(b, h, q_idx, kv_idx):
    """Causal attention to the previous 1,024 tokens plus the first 4 tokens."""
    causal = q_idx >= kv_idx
    return causal & ((q_idx - kv_idx <= window) | (kv_idx < sinks))


# FlexAttention divide la máscara en bloques de 128 x 128 para que sus núcleos puedan omitir los bloques vacíos
block_mask = create_block_mask(local_plus_sinks, B=None, H=None, Q_LEN=seq_len, KV_LEN=seq_len, device="cpu")
print(block_mask)

La salida muestra sparsity=85.47%, la proporción de bloques de 128 × 128 de la matriz de puntuaciones de 8.192 × 8.192 que no contienen ningún par permitido, y dibuja el patrón como una banda diagonal para la ventana y una columna a la izquierda para los tokens sumidero. Cuando flex_attention se ejecuta en torch.compile, su núcleo omite esos bloques por completo.

  • Atención Flash: un núcleo que tiene en cuenta las operaciones de entrada/salida y calcula la atención exacta entre todos los pares, dividiendo el trabajo en bloques en la memoria rápida del propio chip. Estos bloques también son la unidad que omiten los núcleos dispersos por bloques.
  • Atención lineal: mantiene todos los pares, pero sustituye la softmax por un mapa de características, de modo que todas las claves y valores anteriores se comprimen en un estado de tamaño fijo.
  • Atención deformable: mecanismo de visión en el que cada consulta atiende a unos pocos puntos de muestreo con desplazamientos aprendidos en un mapa de características, en lugar de seguir un patrón fijo.
  • Mezcla de expertos (MoE): dispersión en los parámetros, donde cada token activa solo unas pocas redes expertas mientras que su patrón de atención sigue siendo denso.

Aplicaciones#

Los modelos de lenguaje con contexto largo son su principal aplicación: las capas dispersas limitan el cálculo, y las capas con ventanas también limitan la caché KV, lo que permite a los modelos resumir informes largos o buscar en grandes bases de código en una sola solicitud. BigBird aplicó su patrón disperso a secuencias de ADN, cuya entrada de miles de pares de bases es mucho más larga que una frase habitual, para predecir regiones promotoras. En visión artificial, el número de tokens aumenta con la resolución de la imagen, así que los modelos restringen la atención a regiones locales: Swin Transformer atiende dentro de ventanas desplazadas. YOLO12, un detector centrado en la atención de investigadores de la University at Buffalo y la University of Chinese Academy of Sciences que se ejecuta en el paquete Ultralytics, utiliza atención por áreas: su etapa del backbone con stride 16 divide el mapa de características de 40 × 40 de una imagen de 640 píxeles en cuatro franjas horizontales de 400 tokens y atiende solo dentro de cada franja; así puntúa una cuarta parte de los 2,56 millones de pares que necesitaría la atención completa sobre los 1.600 tokens.

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