---
title: "FlashAttention-2 (IT)"
source: "https://systems-analysis.info/int/FlashAttention-2_(IT)"
wiki: "systems-analysis.info/int"
article: "FlashAttention-2_(IT)"
language: "it"
categories:
  - "Category:Italian"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 2205
wiki_created_at: 2026-09-06T23:00:14Z
wiki_modified_at: 2026-09-06T23:00:14Z
downloaded_at: 2026-09-07T22:49:49Z
---

# FlashAttention-2 (IT)

**FlashAttention-2** — è un algoritmo avanzato progettato per il calcolo del meccanismo di attention nei grandi modelli linguistici (LLM). L'algoritmo è stato sviluppato da **Tri Dao** e dai ricercatori dell'Università di Stanford ed è stato presentato nel luglio 2023<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_main-1)</sup>. Il suo obiettivo principale è accelerare significativamente il training e l'inferenza dei modelli transformer attraverso un utilizzo più efficiente delle risorse hardware della GPU, mantenendo al contempo la piena identità dei calcoli con il meccanismo di attention standard, ovvero **senza perdita di precisione**.

FlashAttention-2 è la naturale evoluzione dell'algoritmo **FlashAttention**, presentato dallo stesso team nel 2022. La nuova versione risolve il problema del sottoutilizzo della GPU osservato nel predecessore e raggiunge quasi il doppio della velocità rispetto alla prima versione.

## Prerequisiti: il problema dell'attention nei transformer

Il meccanismo standard di self-attention rappresenta un collo di bottiglia quando si lavora con sequenze di testo lunghe nei transformer. La sua complessità computazionale e il consumo di memoria crescono **quadraticamente** (O(N²)) in funzione della lunghezza della sequenza (N), il che impone seri limiti alla lunghezza massima del contesto e alla scalabilità degli LLM<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_main-1)</sup>.

Per risolvere questo problema, nel 2022 è stato presentato l'algoritmo **FlashAttention**<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-huggingface_optim-2)</sup>. Le sue idee chiave sono:

- **Gestione della gerarchia di memoria della GPU (IO-awareness)**: L'algoritmo minimizza le costose operazioni di lettura/scrittura tra la memoria lenta della GPU (HBM) e la memoria statica veloce (SRAM) sul chip.
- **Elaborazione a blocchi (tiling)**: I calcoli sono suddivisi in piccoli blocchi (tile) che vengono elaborati nella SRAM veloce, evitando la materializzazione dell'intera matrice di attention in memoria.

Questo ha permesso di ottenere una crescita **lineare** del consumo di memoria (O(N)) e un'accelerazione da 2 a 4 volte rispetto alle implementazioni standard<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-huggingface_optim-2)</sup>. FlashAttention ha ottenuto ampia diffusione e ha contribuito all'emergere di modelli con un contesto notevolmente esteso, ad esempio da 2–4 mila token (GPT-3) a 128 mila (GPT-4) e oltre<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-tridao_blog_fa3-3)</sup>. Nel modello **Falcon-40B**, l'utilizzo di FlashAttention ha accelerato l'inferenza di 3 volte e le prestazioni generali di generazione di 5 volte rispetto a GPT-3<sup>[\[4\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-e2e_analysis-4)</sup>.

## Sviluppo e obiettivi di FlashAttention-2

Nonostante il successo, la prima versione di FlashAttention non sfruttava appieno le risorse computazionali della GPU. Sulle schede video **NVIDIA A100**, le prestazioni raggiungevano solo il **25–40%** del massimo teorico (FLOPs/s)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_main-1)</sup>. La causa principale era il carico non ottimale degli Streaming Multiprocessor e le operazioni ridondanti sulla memoria condivisa<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-openreview_fa2-5)</sup>.

L'obiettivo di **FlashAttention-2** è diventato la maggiore accelerazione dei calcoli attraverso una parallelizzazione più efficiente del lavoro e la minimizzazione delle operazioni ausiliarie. L'algoritmo è stato completamente riscritto utilizzando primitive di basso livello della libreria **NVIDIA CUTLASS 3.x** per ottenere le massime prestazioni<sup>[\[6\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-hazyresearch_blog-6)</sup>.

## Architettura tecnica e principi di funzionamento

FlashAttention-2 introduce tre miglioramenti chiave per aumentare il parallelismo e l'efficienza<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_main-1)</sup>:

### 1. Minimizzazione delle operazioni non-matmul

L'algoritmo riduce il numero di operazioni ausiliarie in virgola mobile che non sono moltiplicazioni di matrici (non-matmul FLOPs). Poiché i tensor core della GPU sono ottimizzati proprio per le operazioni matriciali (GEMM) e le eseguono fino a 16 volte più velocemente, questa modifica consente di utilizzare per la maggior parte del tempo i blocchi più performanti della GPU.

### 2. Parallelismo migliorato

Nell'originale FlashAttention, il lavoro su una singola "testa" di attention non veniva parallelizzato, il che causava tempi morti con sequenze lunghe e batch di piccole dimensioni. FlashAttention-2 introduce il **parallelismo inter-blocco**: i calcoli per una singola testa di attention vengono ora distribuiti tra diversi Streaming Multiprocessor della GPU, aumentandone significativamente il carico.

### 3. Suddivisione ottimizzata del lavoro all'interno del blocco

A livello di un singolo blocco computazionale, il lavoro è stato ridistribuito tra gruppi di thread (warp) per ridurre lo scambio di dati attraverso la memoria condivisa (shared memory). Questo riduce il numero di operazioni ridondanti di lettura/scrittura necessarie per la normalizzazione Softmax.

## Prestazioni ed efficienza

Grazie ai miglioramenti architetturali, FlashAttention-2 mostra un significativo incremento delle prestazioni:

- **Accelerazione doppia**: L'algoritmo funziona circa **2 volte più velocemente** rispetto alla prima versione di FlashAttention<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_main-1)</sup>.
- **Elevata utilizzo della GPU**: Sulla GPU **NVIDIA A100** si raggiunge il **50–73%** della larghezza di banda teorica massima (TFLOPs), avvicinandosi all'efficienza delle operazioni di moltiplicazione di matrici ottimizzate (GEMM)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_main-1)</sup>.
- **Velocità di calcolo record**:
  - Sulla GPU **A100** si raggiunge una velocità fino a **225 TFLOP/s** nel ciclo di training end-to-end di un modello di tipo GPT, corrispondente al 72% di utilizzo dei blocchi computazionali. A titolo di confronto, l'attention standard nelle stesse condizioni caricava la GPU a meno di 100 TFLOP/s<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_pdf-7)</sup>.
  - Sulla GPU **H100** le prestazioni raggiungono **335 TFLOP/s**<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_pdf-7)</sup>.

Tale incremento delle prestazioni consente, ad esempio, di addestrare un modello con una finestra di contesto di **16k** token nello stesso tempo che in precedenza era necessario per una finestra di **8k** token<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-openreview_fa2-5)</sup>. È importante notare che l'algoritmo rimane **preciso** e deterministico, pertanto la sua applicazione non influisce sulla qualità delle previsioni del modello<sup>[\[8\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-raschka_blog-8)</sup>.

## Applicazione e integrazione nell'ecosistema

FlashAttention-2 è rapidamente diventato uno strumento standard nell'ecosistema degli LLM. È integrato in molti framework e librerie popolari:

- **PyTorch**: Supporto nativo.
- **Hugging Face Transformers**: Il supporto si abilita con il parametro \`attn_implementation="flash_attention_2"\` durante il caricamento del modello<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-linkedin_younes-9)</sup>. Compatibile con decine di architetture (GPT, Llama, Falcon, BERT e altre)<sup>[\[10\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-huggingface_gpu_infer-10)</sup>.
- **TensorRT-LLM**, **xFormers** e **Triton**: L'algoritmo è implementato per queste piattaforme, garantendo un'ampia applicabilità<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_pdf-7)</sup>.

L'integrazione consente di combinare facilmente FlashAttention-2 con altri metodi di ottimizzazione, come la quantizzazione (GPTQ, QLoRA) e il fine-tuning efficiente (PEFT)<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-linkedin_younes-9)</sup>.

## Confronto con le versioni successive

### FlashAttention-3

La ricerca nel campo dell'ottimizzazione dell'attention continua. Nel luglio 2024, Tri Dao ha presentato **FlashAttention-3**, mirato a sfruttare le potenzialità dell'architettura GPU **NVIDIA Hopper** (H100/H200). Le principali novità<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-tridao_blog_fa3-3)</sup>:

- **Supporto FP8**: Utilizza calcoli in virgola mobile a 8 bit per un'ulteriore accelerazione.
- **Operazioni asincrone**: Sfrutta in modo più efficiente le capacità asincrone della GPU.

FlashAttention-3 fornisce un'accelerazione di **1,5–2 volte** rispetto a FlashAttention-2 sulla GPU H100, raggiungendo prestazioni fino a **740 TFLOP/s** (75% del massimo teorico)<sup>[\[11\]](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_note-arxiv_fa3-11)</sup>.

## Letteratura

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

## Note

1.  <span id="cite_note-arxiv_main-1">↑ <sup>[1.0](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_main_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_main_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_main_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_main_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_main_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_main_1-5)</sup> Дао, Три. «FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning». *arXiv:2307.08691* \[cs.LG\], 17 июля 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_(IT)#cite_ref-huggingface_optim_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/FlashAttention-2_(IT)#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_(IT)#cite_ref-tridao_blog_fa3_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-tridao_blog_fa3_3-1)</sup> Дао, Три. «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_(IT)#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_(IT)#cite_ref-openreview_fa2_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/FlashAttention-2_(IT)#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_(IT)#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_(IT)#cite_ref-arxiv_pdf_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_pdf_7-1)</sup> <sup>[7.2](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-arxiv_pdf_7-2)</sup> Дао, Три. «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_(IT)#cite_ref-raschka_blog_8-0) Рашка, Себастьян. «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_(IT)#cite_ref-linkedin_younes_9-0)</sup> <sup>[9.1](https://systems-analysis.info/int/FlashAttention-2_(IT)#cite_ref-linkedin_younes_9-1)</sup> Белькада, Юнес. «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_(IT)#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_(IT)#cite_ref-arxiv_fa3_11-0) Дао, Три, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». *arXiv:2407.08608* \[cs.LG\], 11 июля 2024 г. <a href="https://arxiv.org/abs/2407.08608" class="external autonumber" rel="nofollow">[11]</a></span>
