Repolode
fla-org

fla-org/flash-linear-attention

Kernels baseados em Triton e camadas prontas para treinamento para arquiteturas de atenção linear, atenção esparsa, espaço de estados e LLMs híbridos.

Estrelas
5,952
Forks
778
Issues abertas
126
Último commit
há 5 horas

O que é?

Flash Linear Attention (fla) é uma biblioteca Python de componentes eficientes em hardware para modelos de sequência, que substituem ou complementam a atenção softmax padrão. Ela oferece kernels Triton, camadas prontas como GatedDeltaNet, RetNet, GLA e Mamba2, além de classes de modelos compatíveis com 🤗 Transformers construídas sobre esses componentes. O projeto afirma que suas implementações são agnósticas à plataforma e foram verificadas em hardware NVIDIA, AMD e Intel.

Além das camadas individuais, fla inclui módulos fundidos, como RMSNorm com gating, entropia cruzada linear fundida e embeddings rotativos, com o objetivo de reduzir o uso de memória e acelerar o treinamento. Modelos híbridos podem combinar camadas de atenção padrão com modelos de atenção linear por meio de um argumento de configuração, com controle por camada. A geração funciona pelas APIs padrão do Hugging Face, e os checkpoints pré-treinados estão hospedados na organização fla-hub.

O repositório também documenta um fluxo de treinamento usando o framework complementar flame, construído sobre torchtitan, além de scripts de avaliação que usam lm-evaluation-harness e medição de perplexidade.

Recursos principais

  • 01Kernels Triton para atenção linear, atenção esparsa e variantes de modelos de espaço de estados.
  • 02Camadas de mistura de tokens substitutas, como MultiScaleRetention, que substituem a atenção multi-head.
  • 03Classes de modelos compatíveis com Hugging Face Transformers, com configurações personalizáveis.
  • 04Modelos híbridos que inserem camadas de atenção padrão em profundidades escolhidas.
  • 05Módulos fundidos de normalização, embeddings rotativos e entropia cruzada para reduzir o uso de memória e acelerar o treinamento.
  • 06Extras de backend para CUDA, ROCm, XPU, Ascend NPU e CPU.

Casos de uso

  • Substituir a atenção quadrática de um modelo de linguagem de contexto longo por uma variante de atenção linear.
  • Pré-treinar ou ajustar LLMs subquadráticos usando um fluxo de trabalho no estilo Hugging Face.
  • Experimentar arquiteturas híbridas que combinam camadas de atenção e recorrentes.
  • Comparar a velocidade dos kernels de atenção linear em diferentes GPUs.

Tópicos

Perguntas frequentes

O que é flash-linear-attention?
Kernels baseados em Triton e camadas prontas para treinamento para arquiteturas de atenção linear, atenção esparsa, espaço de estados e LLMs híbridos. Flash Linear Attention (fla) é uma biblioteca Python de componentes eficientes em hardware para modelos de sequência, que substituem ou complementam a atenção softmax padrão. Ela oferece kernels Triton, camadas prontas como GatedDeltaNet, RetNet, GLA e Mamba2, além de classes de modelos compatíveis com 🤗 Transformers construídas sobre esses componentes. O projeto afirma que suas implementações são agnósticas à plataforma e foram verificadas em hardware NVIDIA, AMD e Intel.
flash-linear-attention é gratuito? Qual é a licença?
flash-linear-attention é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
flash-linear-attention ainda é mantido?
Manutenção ativa. O último commit de flash-linear-attention foi em 20 de out. de 2026.
Para que posso usar flash-linear-attention?
Substituir a atenção quadrática de um modelo de linguagem de contexto longo por uma variante de atenção linear. Pré-treinar ou ajustar LLMs subquadráticos usando um fluxo de trabalho no estilo Hugging Face. Experimentar arquiteturas híbridas que combinam camadas de atenção e recorrentes. Comparar a velocidade dos kernels de atenção linear em diferentes GPUs.
Onde consigo flash-linear-attention?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fla-org/flash-linear-attention

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados