Descubra cómo Flash Attention optimiza la memoria y acelera los modelos Transformer. Descubra cómo mejora la visión artificial y por qué Ultralytics es la mejor opción.
Flash Attention es un algoritmo altamente optimizado diseñado para acelerar el entrenamiento y la inferencia de modelos Transformer mediante una gestión más eficiente del acceso a la memoria . En el aprendizaje profundo (DL) moderno, especialmente con modelos de gran tamaño, el principal cuello de botella no suele ser la velocidad de cálculo del procesador, sino el tiempo que se tarda en mover los datos entre el almacenamiento en memoria y las unidades de cálculo. Flash Attention aborda esta «barrera de memoria» reorganizando la forma en que los mecanismos de atención procesan los datos, lo que da como resultado un rendimiento más rápido y un menor uso de memoria sin sacrificar la precisión.
GPU comprender la atención flash, resulta útil examinar la arquitectura de una GPU unidad de procesamiento gráfico). Una GPU tiene una memoria de alto ancho de banda (HBM) de gran capacidad pero más lenta y una SRAM en chip de baja capacidad pero increíblemente rápida. Las implementaciones de atención estándar leen y escriben repetidamente grandes matrices en la lenta HBM, lo que crea un retraso.
Flash Attention utiliza una técnica denominada «tiling» (mosaico) para dividir la gran matriz de atención en bloques más pequeños que caben por completo en la SRAM rápida. Al mantener estos bloques en la memoria rápida y realizar más cálculos allí antes de volver a escribir el resultado, el algoritmo reduce significativamente el número de operaciones de lectura/escritura en la HBM. Esta innovación, introducida por investigadores de la Universidad de Stanford, hace que el proceso sea «consciente de la E/S», lo que significa que tiene en cuenta explícitamente el coste del movimiento de datos. Puede explorar los detalles técnicos en el artículo de investigación original.
Es importante distinguir la atención instantánea de conceptos similares en el glosario de inteligencia artificial (IA):
Aunque se desarrolló originalmente para el procesamiento del lenguaje natural (NLP) con el fin de manejar secuencias largas de texto, Flash Attention se ha convertido en un elemento fundamental en la visión artificial (CV). Las imágenes de alta resolución crean secuencias masivas de datos cuando se procesan mediante Vision Transformers (ViT).
Esta tecnología influye en el desarrollo de los detectores de objetos. Por ejemplo, algunos modelos experimentales como el YOLO12 impulsado por la comunidad introdujeron capas de atención aprovechando estos principios. Sin embargo, las arquitecturas basadas exclusivamente en la atención pueden sufrir inestabilidad en el entrenamiento y lentitud CPU . Para la mayoría de las aplicaciones profesionales, Ultralytics es el estándar recomendado. YOLO26 utiliza una arquitectura altamente optimizada que equilibra la velocidad y la precisión para la detección de objetos de extremo a extremo y la segmentación de imágenes, evitando la sobrecarga que a menudo se asocia con las pesadas capas de atención en los dispositivos periféricos.
Las mejoras en eficiencia que ofrece Flash Attention permiten ejecutar aplicaciones que antes resultaban demasiado costosas o lentas.
Aunque Flash Attention suele ser una optimización interna dentro de bibliotecas como PyTorch, Ultralytics permite aprovechar fácilmente los modelos basados en la atención. El siguiente fragmento de código muestra cómo cargar un RT-DETR , que utiliza mecanismos de atención, para realizar una inferencia en una imagen.
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model which utilizes transformer attention
model = RTDETR("rtdetr-l.pt")
# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Display the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")
Mediante herramientas como la Ultralytics , los desarrolladores pueden entrenar e implementar estos sofisticados modelos sin necesidad de implementar manualmente complejos GPU . La plataforma se encarga de la infraestructura, lo que permite a los equipos centrarse en la selección de conjuntos de datos de alta calidad y en la interpretación de los resultados.