Repolode
fla-org

fla-org/flash-linear-attention

Kernels basados en Triton y capas listas para entrenar para arquitecturas LLM de atención lineal, atención dispersa, espacio de estados e híbridas.

Estrellas
5,952
Forks
778
Issues abiertos
126
Último commit
hace 8 horas

¿Qué es?

Flash Linear Attention (fla) es una biblioteca de Python con componentes eficientes en el uso del hardware para modelos de secuencia que sustituyen o complementan la atención softmax estándar. Ofrece kernels de Triton, capas listas para usar como GatedDeltaNet, RetNet, GLA y Mamba2, y clases de modelos compatibles con 🤗 Transformers basadas en ellas. El proyecto afirma que sus implementaciones son independientes de la plataforma y están verificadas en hardware de NVIDIA, AMD e Intel.

Además de capas individuales, fla incluye módulos fusionados, como RMSNorm con gating, entropía cruzada lineal fusionada y embeddings rotatorios, diseñados para reducir el uso de memoria y acelerar el entrenamiento. Los modelos híbridos pueden combinar capas de atención estándar con modelos de atención lineal mediante un argumento de configuración, con control por capa. La generación funciona mediante las API estándar de Hugging Face, y los checkpoints preentrenados están alojados en la organización fla-hub.

El repositorio también documenta un flujo de entrenamiento con el framework complementario flame, basado en torchtitan, además de scripts de evaluación que usan lm-evaluation-harness y mediciones de perplexity.

Funciones clave

  • 01Kernels de Triton para atención lineal, atención dispersa y variantes de modelos de espacio de estados.
  • 02Capas de mezcla de tokens que se integran directamente, como MultiScaleRetention, para sustituir la atención multi-cabeza.
  • 03Clases de modelos compatibles con Hugging Face Transformers y configuraciones personalizables.
  • 04Modelos híbridos que insertan capas de atención estándar a profundidades seleccionadas.
  • 05Módulos fusionados de normalización, embeddings rotatorios y entropía cruzada para reducir el uso de memoria y acelerar el entrenamiento.
  • 06Extras para los backends CUDA, ROCm, XPU, Ascend NPU y CPU.

Casos de uso

  • Sustituir la atención cuadrática de un modelo de lenguaje de contexto largo por una variante de atención lineal.
  • Preentrenar o ajustar LLM subcuadráticos con un flujo de trabajo al estilo de Hugging Face.
  • Experimentar con arquitecturas híbridas que combinan capas de atención y recurrentes.
  • Comparar la velocidad de los kernels de atención lineal en distintas GPU.

Temas

Preguntas frecuentes

¿Qué es flash-linear-attention?
Kernels basados en Triton y capas listas para entrenar para arquitecturas LLM de atención lineal, atención dispersa, espacio de estados e híbridas. Flash Linear Attention (fla) es una biblioteca de Python con componentes eficientes en el uso del hardware para modelos de secuencia que sustituyen o complementan la atención softmax estándar. Ofrece kernels de Triton, capas listas para usar como GatedDeltaNet, RetNet, GLA y Mamba2, y clases de modelos compatibles con 🤗 Transformers basadas en ellas. El proyecto afirma que sus implementaciones son independientes de la plataforma y están verificadas en hardware de NVIDIA, AMD e Intel.
¿flash-linear-attention es gratuito? ¿Qué licencia tiene?
flash-linear-attention es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿flash-linear-attention sigue mantenido?
Mantenimiento activo. El último commit de flash-linear-attention fue el 20 oct 2026.
¿Para qué puedo usar flash-linear-attention?
Sustituir la atención cuadrática de un modelo de lenguaje de contexto largo por una variante de atención lineal. Preentrenar o ajustar LLM subcuadráticos con un flujo de trabajo al estilo de Hugging Face. Experimentar con arquitecturas híbridas que combinan capas de atención y recurrentes. Comparar la velocidad de los kernels de atención lineal en distintas GPU.
¿Dónde consigo flash-linear-attention?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fla-org/flash-linear-attention

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados