---
title: "FlashAttention-2 (PT)"
source: "https://systems-analysis.info/int/FlashAttention-2_(PT)"
wiki: "systems-analysis.info/int"
article: "FlashAttention-2_(PT)"
language: "pt"
categories:
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Portuguese"
revision_id: 2209
wiki_created_at: 2026-09-06T23:00:20Z
wiki_modified_at: 2026-09-06T23:00:20Z
downloaded_at: 2026-09-07T22:49:51Z
---

# FlashAttention-2 (PT)

**FlashAttention-2** é um algoritmo avançado projetado para calcular o mecanismo de atenção (attention) em grandes modelos de linguagem (LLMs). O algoritmo foi desenvolvido por **Tri Dao** e pesquisadores da Universidade de Stanford e apresentado em julho de 2023<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_main-1)</sup>. Seu principal objetivo é acelerar significativamente o treinamento e a inferência de modelos transformer através do uso mais eficiente dos recursos de hardware da GPU, mantendo a identidade computacional completa com o mecanismo de atenção padrão, ou seja, **sem perda de precisão**.

FlashAttention-2 é a continuação lógica do algoritmo **FlashAttention**, apresentado pela mesma equipe em 2022. A nova versão resolve o problema de subutilização da GPU observado em seu predecessor e alcança um aumento de velocidade de quase duas vezes em comparação com a primeira versão.

## Pré-requisitos: o problema da atenção nos transformers

O mecanismo de autoatenção (self-attention) padrão é um gargalo ao trabalhar com longas sequências de texto em transformers. Sua complexidade computacional e consumo de memória crescem **quadraticamente** (O(N²)) em relação ao comprimento da sequência (N), o que impõe sérias limitações ao comprimento máximo do contexto e à escalabilidade dos LLMs<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_main-1)</sup>.

Para resolver esse problema, o algoritmo **FlashAttention** foi apresentado em 2022<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-huggingface_optim-2)</sup>. Suas ideias principais são:

- **Consciência da hierarquia de memória da GPU (IO-awareness)**: O algoritmo minimiza as custosas operações de leitura/escrita entre a memória lenta da GPU (HBM) e a memória estática rápida (SRAM) no chip.
- **Processamento em blocos (tiling)**: Os cálculos são divididos em pequenos blocos (tiles) que são processados na SRAM rápida, evitando a materialização da matriz de atenção completa na memória.

Isso permitiu alcançar um crescimento **linear** no consumo de memória (O(N)) e uma aceleração de 2 a 4 vezes em comparação com as implementações padrão<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-huggingface_optim-2)</sup>. O FlashAttention se tornou amplamente adotado e contribuiu para o surgimento de modelos com contexto significativamente maior, por exemplo, de 2 a 4 mil tokens (GPT-3) para 128 mil (GPT-4) e mais<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-tridao_blog_fa3-3)</sup>. Por exemplo, no modelo **Falcon-40B**, o uso do FlashAttention acelerou a inferência em 3 vezes e o desempenho geral de geração em 5 vezes em comparação com o GPT-3<sup>[\[4\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-e2e_analysis-4)</sup>.

## Desenvolvimento e objetivos do FlashAttention-2

Apesar do sucesso, a primeira versão do FlashAttention não utilizava totalmente os recursos computacionais da GPU. Nas placas de vídeo **NVIDIA A100**, o desempenho atingia apenas **25–40%** do máximo teórico (FLOPs/s)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_main-1)</sup>. A principal razão era a carga não otimizada dos multiprocessadores de streaming (Streaming Multiprocessors) e operações redundantes com a memória compartilhada<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-openreview_fa2-5)</sup>.

O objetivo do **FlashAttention-2** foi acelerar ainda mais os cálculos por meio de um paralelismo de trabalho mais eficiente e da minimização de operações auxiliares. O algoritmo foi completamente reescrito usando primitivas de baixo nível da biblioteca **NVIDIA CUTLASS 3.x** para alcançar o desempenho máximo<sup>[\[6\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-hazyresearch_blog-6)</sup>.

## Arquitetura técnica e princípios de funcionamento

O FlashAttention-2 introduz três melhorias principais para aumentar o paralelismo e a eficiência<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_main-1)</sup>:

### 1. Minimização de operações não matriciais

O algoritmo reduz o número de operações auxiliares de ponto flutuante que não são multiplicações de matrizes (non-matmul FLOPs). Como os Tensor Cores da GPU são otimizados especificamente para operações de matriz (GEMM) e as executam até 16 vezes mais rápido, essa mudança permite que os blocos mais eficientes da GPU sejam utilizados na maior parte do tempo.

### 2. Paralelismo aprimorado

No FlashAttention original, o trabalho em uma única "cabeça" de atenção não era paralelizado, o que levava à ociosidade com sequências longas e tamanhos de lote pequenos. O FlashAttention-2 introduz o **paralelismo entre blocos**: agora, os cálculos para uma única cabeça de atenção são distribuídos entre diferentes multiprocessadores de streaming da GPU, aumentando significativamente sua utilização.

### 3. Divisão de trabalho otimizada dentro do bloco

No nível de um único bloco computacional, o trabalho foi redistribuído entre grupos de threads (warps) para reduzir a troca de dados através da memória compartilhada (shared memory). Isso diminui o número de operações redundantes de leitura/escrita necessárias para a normalização do Softmax.

## Desempenho e eficiência

Graças às melhorias arquitetônicas, o FlashAttention-2 demonstra um ganho significativo de desempenho:

- **Aceleração de duas vezes**: O algoritmo opera aproximadamente **2 vezes mais rápido** em comparação com a primeira versão do FlashAttention<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_main-1)</sup>.
- **Alta utilização da GPU**: Em GPUs **NVIDIA A100**, alcança **50–73%** da taxa de transferência máxima teórica (TFLOPs), o que se aproxima da eficiência de operações otimizadas de multiplicação de matrizes (GEMM)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_main-1)</sup>.
- **Velocidade de computação recorde**:
  - Em uma GPU **A100**, atinge velocidades de até **225 TFLOP/s** no ciclo completo de treinamento de um modelo tipo GPT, o que corresponde a 72% de utilização das unidades computacionais. Em comparação, a atenção padrão sob as mesmas condições sobrecarregava a GPU com menos de 100 TFLOP/s<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_pdf-7)</sup>.
  - Em uma GPU **H100**, o desempenho atinge **335 TFLOP/s**<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_pdf-7)</sup>.

Esse aumento de desempenho permite, por exemplo, treinar um modelo com uma janela de contexto de **16k** tokens no mesmo tempo que antes era necessário para uma janela de **8k** tokens<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-openreview_fa2-5)</sup>. É importante notar que o algoritmo permanece **exato** e determinístico, de modo que sua aplicação não afeta a qualidade das previsões do modelo<sup>[\[8\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-raschka_blog-8)</sup>.

## Aplicação e integração no ecossistema

O FlashAttention-2 rapidamente se tornou uma ferramenta padrão no ecossistema de LLMs. Ele está integrado em muitos frameworks e bibliotecas populares:

- **PyTorch**: Suporte nativo.
- **Hugging Face Transformers**: O suporte é ativado com o parâmetro \`attn_implementation="flash_attention_2"\` ao carregar um modelo<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-linkedin_younes-9)</sup>. É compatível com dezenas de arquiteturas (GPT, Llama, Falcon, BERT, etc.)<sup>[\[10\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-huggingface_gpu_infer-10)</sup>.
- **TensorRT-LLM**, **xFormers** e **Triton**: O algoritmo foi implementado para essas plataformas, o que garante sua ampla aplicação<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_pdf-7)</sup>.

A integração permite combinar facilmente o FlashAttention-2 com outros métodos de otimização, como quantização (GPTQ, QLoRA) e ajuste fino eficiente (PEFT)<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-linkedin_younes-9)</sup>.

## Comparação com versões subsequentes

### FlashAttention-3

A pesquisa na área de otimização de atenção continua. Em julho de 2024, Tri Dao apresentou o **FlashAttention-3**, voltado para aproveitar os recursos da arquitetura de GPU **NVIDIA Hopper** (H100/H200). As principais inovações incluem<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-tridao_blog_fa3-3)</sup>:

- **Suporte a FP8**: Utiliza cálculos de ponto flutuante de 8 bits para maior aceleração.
- **Operações assíncronas**: Utiliza de forma mais eficiente as capacidades assíncronas da GPU.

O FlashAttention-3 proporciona uma aceleração de **1.5 a 2 vezes** em comparação com o FlashAttention-2 em GPUs H100, atingindo um desempenho de até **740 TFLOP/s** (75% do máximo teórico)<sup>[\[11\]](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_note-arxiv_fa3-11)</sup>.

## Literatura

- Dao, T. (2023). *FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning*. <a href="https://arxiv.org/abs/2307.08691" class="external text" rel="nofollow">arXiv:2307.08691</a>.
- Dao, T. et al. (2022). *FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness*. <a href="https://arxiv.org/abs/2205.14135" class="external text" rel="nofollow">arXiv:2205.14135</a>.
- Shah, J. et al. (2024). *FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision*. <a href="https://arxiv.org/abs/2407.08608" class="external text" rel="nofollow">arXiv:2407.08608</a>.
- Kwon, W. et al. (2023). *Efficient Memory Management for Large Language Model Serving with PagedAttention*. <a href="https://arxiv.org/abs/2309.06180" class="external text" rel="nofollow">arXiv:2309.06180</a>.
- Ye, Z. et al. (2025). *FlashInfer: Efficient and Customizable Attention Engine for LLM Inference Serving*. <a href="https://arxiv.org/abs/2501.01005" class="external text" rel="nofollow">arXiv:2501.01005</a>.
- Chen, Y. et al. (2023). *FlashDecoding++: Faster Large Language Model Inference on GPUs*. <a href="https://arxiv.org/abs/2311.01282" class="external text" rel="nofollow">arXiv:2311.01282</a>.
- Liu, Y. et al. (2024). *FastAttention: Extending FlashAttention-2 to NPUs and Low-Resource GPUs*. <a href="https://openreview.net/forum?id=76NYyOrnfk" class="external text" rel="nofollow">OpenReview: 76NYyOrnfk</a>.
- Dege, P. et al. (2025). *FlashMLA-ETAP: Efficient Transpose Attention Pipeline for Accelerating MLA Inference on NVIDIA H20 GPUs*. <a href="https://arxiv.org/abs/2506.01969" class="external text" rel="nofollow">arXiv:2506.01969</a>.
- Wang, G. et al. (2024). *FlashMask: Efficient and Rich Mask Extension of FlashAttention*. <a href="https://openreview.net/forum?id=rog0J435OO" class="external text" rel="nofollow">OpenReview: rog0J435OO</a>.
- Abbott, V.; Zardini, G. (2025). *FlashAttention on a Napkin: A Diagrammatic Approach to Deep Learning IO-Awareness*. <a href="https://arxiv.org/abs/2412.03317" class="external text" rel="nofollow">arXiv:2412.03317</a>.

## Notas

1.  <span id="cite_note-arxiv_main-1">↑ <sup>[1.0](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_main_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_main_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_main_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_main_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_main_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_main_1-5)</sup> Dao, Tri. "FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning". *arXiv:2307.08691* \[cs.LG\], 17 de julho de 2023. <a href="https://arxiv.org/abs/2307.08691" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-huggingface_optim-2">↑ <sup>[2.0](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-huggingface_optim_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-huggingface_optim_2-1)</sup> "Optimizing LLMs for Speed and Memory". *Hugging Face Documentation*. <a href="https://huggingface.co/docs/transformers/v4.42.0/en/llm_tutorial_optimization" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-tridao_blog_fa3-3">↑ <sup>[3.0](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-tridao_blog_fa3_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-tridao_blog_fa3_3-1)</sup> Dao, Tri. "FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision". *Tri Dao's Blog*. <a href="https://tridao.me/blog/2024/flash3/" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-e2e_analysis-4">[↑](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-e2e_analysis_4-0) "FlashAttention vs FlashAttention-2 - an Analysis". *E2E Networks Blog*. <a href="https://www.e2enetworks.com/blog/shades-of-attention-flashattention-vs-flashattention-2-a-comprehensive-study" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-openreview_fa2-5">↑ <sup>[5.0](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-openreview_fa2_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-openreview_fa2_5-1)</sup> "FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning". *OpenReview*. <a href="https://openreview.net/forum?id=mZn2Xyh9Ec" class="external autonumber" rel="nofollow">[5]</a></span>
6.  <span id="cite_note-hazyresearch_blog-6">[↑](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-hazyresearch_blog_6-0) "FlashAttention-2". *Hazy Research, Stanford University*. <a href="https://hazyresearch.stanford.edu/blog/2023-07-17-flash2" class="external autonumber" rel="nofollow">[6]</a></span>
7.  <span id="cite_note-arxiv_pdf-7">↑ <sup>[7.0](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_pdf_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_pdf_7-1)</sup> <sup>[7.2](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_pdf_7-2)</sup> Dao, Tri. "FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning" (PDF). *arXiv:2307.08691*. <a href="https://arxiv.org/pdf/2307.08691.pdf" class="external autonumber" rel="nofollow">[7]</a></span>
8.  <span id="cite_note-raschka_blog-8">[↑](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-raschka_blog_8-0) Raschka, Sebastian. "Llama 2 and FlashAttention 2". *Ahead of AI Magazine*. <a href="https://magazine.sebastianraschka.com/p/research-highlights-in-three-sentences" class="external autonumber" rel="nofollow">[8]</a></span>
9.  <span id="cite_note-linkedin_younes-9">↑ <sup>[9.0](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-linkedin_younes_9-0)</sup> <sup>[9.1](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-linkedin_younes_9-1)</sup> Belkada, Younes. "Faster and more memory efficient models with Flash Attention 2!". *LinkedIn*. <a href="https://www.linkedin.com/posts/younes-belkada-b1a903145_flashattention-llms-activity-7112061650106474496-1dzz" class="external autonumber" rel="nofollow">[9]</a></span>
10. <span id="cite_note-huggingface_gpu_infer-10">[↑](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-huggingface_gpu_infer_10-0) "GPU inference". *Hugging Face Documentation*. <a href="https://huggingface.co/docs/transformers/v4.39.0/perf_infer_gpu_one" class="external autonumber" rel="nofollow">[10]</a></span>
11. <span id="cite_note-arxiv_fa3-11">[↑](https://systems-analysis.info/int/FlashAttention-2_(PT)#cite_ref-arxiv_fa3_11-0) Dao, Tri, et al. "FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision". *arXiv:2407.08608* \[cs.LG\], 11 de julho de 2024. <a href="https://arxiv.org/abs/2407.08608" class="external autonumber" rel="nofollow">[11]</a></span>
