FlashAttention-4: Algorithm and Kernel Pipelining Co-Design for Asymmetric Hardware Scaling

O artigo apresenta o FlashAttention-4, uma nova abordagem de co-design de algoritmos e kernel que otimiza a atenção para GPUs Blackwell (como B200 e GB200), superando gargalos de hardware assimétrico através de pipelines assíncronos e técnicas de redução de operações não matriciais, alcançando até 1,3x de velocidade em relação ao cuDNN e implementado inteiramente em CuTe-DSL para compilação significativamente mais rápida.

Ted Zadouri, Markus Hoehnerbach, Jay Shah, Timmy Liu, Vijay Thakkar, Tri Dao

Publicado 2026-03-06
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você está tentando organizar uma festa gigante (o Modelo de IA) onde milhares de convidados (os dados) precisam se encontrar, conversar e trocar informações. O problema é que, quanto mais convidados chegam, mais difícil fica para todos se ouvirem, porque o tempo de conversa cresce muito rápido.

No mundo das Inteligências Artificiais, essa "conversa" é chamada de Atenção. E para fazer isso rápido, usamos chips de computador superpotentes (GPUs).

Aqui está a história do FlashAttention-4, explicada como se fosse uma receita de como otimizar essa festa:

1. O Problema: A Festa Desbalanceada

Antes, os chips de computador eram como cozinhas onde todos os equipamentos (fornos, liquidificadores, geladeiras) melhoravam na mesma velocidade. Mas, com a nova geração de chips (chamada Blackwell, usada em supercomputadores modernos), aconteceu algo estranho:

  • Os fornos (que fazem cálculos matemáticos pesados) ficaram duas vezes mais rápidos.
  • Mas as geladeiras (memória) e os liquidificadores (funções especiais) não ficaram mais rápidos.

Resultado? Os cozinheiros (os cálculos) estão tão rápidos que ficam parados esperando os ingredientes chegarem da geladeira ou esperando o liquidificador terminar. O gargalo mudou: não é mais a velocidade de cozinhar, é a velocidade de transportar e processar os ingredientes.

2. A Solução: FlashAttention-4

Os autores criaram uma nova maneira de organizar a cozinha para lidar com esse desequilíbrio. Eles não tentaram apenas "correr mais rápido", mas mudaram a estratégia de trabalho.

A. A Nova Linha de Montagem (Pipelining)

Antes, a cozinha fazia uma coisa de cada vez: pegava o ingrediente, cozinhava, servia.
Com o FlashAttention-4, eles criaram uma linha de montagem assíncrona.

  • A Analogia: Imagine que enquanto um grupo de cozinheiros está assando o bolo (cálculo pesado), outro grupo já está cortando as frutas para a próxima torta (cálculo leve) e um terceiro está trazendo os ingredientes da despensa.
  • O Truque: Eles usam uma nova "geladeira especial" dentro do chip (chamada Tensor Memory) para guardar os ingredientes que estão sendo usados agora, para não ter que voltar à despensa principal toda hora. Isso evita que os cozinheiros fiquem parados esperando.

B. O Liquidificador "Fake" (Emulação de Função Exponencial)

Para fazer a "conversa" (Softmax) funcionar, o chip precisa usar uma função matemática difícil chamada "exponencial". No chip novo, a peça que faz isso (o liquidificador) é lenta e é o maior gargalo.

  • A Solução: Em vez de usar o liquidificador lento para tudo, eles criaram um liquidificador de emergência feito com peças comuns da cozinha (unidades FMA).
  • O Truque: Eles usam uma aproximação matemática inteligente (polinômios) para simular o resultado do liquidificador lento. É como usar uma faca afiada para cortar algo que normalmente exigiria um processador de alimentos. É quase tão preciso, mas muito mais rápido. Além disso, eles só usam esse método quando realmente necessário, pulando etapas desnecessárias se o resultado já estiver "bom o suficiente".

C. A Dupla de Cozinheiros (Modo 2-CTA)

No chip novo, eles podem fazer duas equipes de cozinheiros trabalharem juntas em um único prato gigante.

  • A Solução: Em vez de cada equipe carregar todos os ingredientes sozinha, eles dividem a carga. Uma equipe carrega a metade esquerda do prato, a outra a metade direita.
  • O Benefício: Isso reduz pela metade o tempo que eles passam indo até a despensa (memória compartilhada) e também reduz o número de vezes que eles precisam discutir quem fez o quê (reduções atômicas), tornando tudo mais fluido.

3. A Grande Inovação: Escrevendo em "Português" (CuTe-DSL)

Antes, para programar esses chips, os engenheiros precisavam escrever código extremamente complexo em uma linguagem difícil chamada C++, que demorava horas para ser traduzida pelo computador.

  • A Mudança: O FlashAttention-4 foi escrito inteiramente em uma linguagem baseada em Python (chamada CuTe-DSL).
  • A Analogia: É como trocar de escrever um livro em grego antigo (C++) para escrever em português moderno. O resultado final (o livro impresso) é o mesmo, mas o autor consegue escrever e corrigir o texto 20 a 30 vezes mais rápido. Isso permite que novos pesquisadores testem ideias novas em minutos, não em dias.

4. Os Resultados: A Festa é um Sucesso!

Quando testaram essa nova organização na cozinha (no chip B200):

  • A festa ficou 1,3 vezes mais rápida do que a melhor solução anterior da NVIDIA (cuDNN).
  • Ficou 2,7 vezes mais rápida do que outras tentativas populares (Triton).
  • Eles conseguiram usar 71% da capacidade total do chip (o que é impressionante, já que geralmente os chips ficam "preguiçosos" esperando dados).

Resumo Final

O FlashAttention-4 é como um maestro genial que percebeu que a orquestra tinha instrumentos muito rápidos e outros lentos. Em vez de tentar acelerar os lentos, ele reorganizou a partitura:

  1. Fez os rápidos tocarem enquanto os lentos se preparavam.
  2. Criou atalhos inteligentes para as partes lentas.
  3. Dividiu o trabalho em duplas para não sobrecarregar ninguém.
  4. E escreveu a partitura de um jeito que qualquer músico possa entender e modificar rapidamente.

Isso permite que as IAs leiam livros inteiros, entendam vídeos longos e raciocinem de forma muito mais eficiente, sem gastar energia à toa.