Zubnet AIAprenderWiki › Flash Attention
Infraestructura

Flash Attention

También conocido como: FlashAttention, FlashAttention-2
Una implementación del mecanismo de atención optimizada para GPU que es 2–4x más rápida y usa significativamente menos memoria que la atención estándar. Flash Attention logra esto no cambiando lo que la atención calcula, sino reestructurando cómo se realiza el cálculo en el hardware de la GPU — minimizando las transferencias lentas de memoria entre la HBM y la SRAM on-chip de la GPU.

Por qué importa

Flash Attention es posiblemente la optimización de sistemas más impactante en la IA moderna. Hizo prácticos los modelos de contexto largo al reducir el uso de memoria de la atención de cuadrático a casi lineal (en la práctica), habilitando directamente el salto de 4K a 128K+ tokens de ventana de contexto. Todos los LLM principales lo usan. Sin Flash Attention, los modelos de contexto largo actuales serían prohibitivamente caros.

En profundidad

La idea clave (Dao et al., 2022): la atención estándar materializa la matriz completa de atención N×N en la HBM (High Bandwidth Memory) de la GPU, lo cual es intensivo en memoria (cuadrático en la longitud de la secuencia) y lento (el ancho de banda de la HBM es el cuello de botella). Flash Attention nunca materializa esta matriz. En su lugar, calcula la atención en bloques, cargando pequeños segmentos de Q, K, V en la SRAM rápida on-chip, calculando resultados parciales y acumulándolos — una técnica llamada "tiling" o "fusión de kernels".

El Ahorro de Memoria

La atención estándar almacena la matriz de atención N×N, requiriendo O(N²) de memoria. Para un contexto de 128K con 128 cabezas de atención, eso son cientos de gigabytes. Flash Attention usa O(N) de memoria calculando el softmax de forma incremental y sin almacenar nunca la matriz completa. Esto es lo que hizo factibles las ventanas de contexto de 128K–1M en el hardware existente. FlashAttention-2 mejoró aún más el rendimiento al paralelizar mejor entre los bloques de hilos de la GPU.

Diseño de Algoritmos Consciente de E/S

Flash Attention ejemplifica un principio más amplio: en el hardware moderno, el cuello de botella suele ser el ancho de banda de memoria, no el cálculo. Las GPUs pueden realizar billones de operaciones por segundo pero solo pueden leer/escribir cientos de gigabytes por segundo desde la HBM. Los algoritmos que minimizan el tráfico de memoria (incluso a costa de cálculos adicionales) a menudo ganan. Este enfoque "consciente de E/S" está influyendo en cómo todo el campo piensa sobre el diseño de algoritmos para cargas de trabajo de IA.

Conceptos relacionados

← Todos los términos
← Ficha de modelo FLOPs →
ESC
Empieza a escribir para buscar...