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

# FlashAttention-2 (PL)

**FlashAttention-2** — to ulepszony algorytm przeznaczony do obliczania mechanizmu uwagi (attention) w dużych modelach językowych (LLM). Algorytm został opracowany przez **Tri Dao** i badaczy ze Uniwersytetu Stanforda i przedstawiony w lipcu 2023 roku<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_main-1)</sup>. Jego kluczowym celem jest znaczące przyspieszenie trenowania i inferencji modeli-transformerów dzięki efektywniejszemu wykorzystaniu zasobów sprzętowych GPU, przy jednoczesnym zachowaniu pełnej identyczności obliczeń ze standardowym mechanizmem uwagi, to znaczy **bez utraty dokładności**.

FlashAttention-2 jest logiczną kontynuacją algorytmu **FlashAttention** przedstawionego przez ten sam zespół w 2022 roku. Nowa wersja rozwiązuje problem niepełnego wykorzystania GPU, który był obserwowany u poprzednika, i osiąga niemal dwukrotny wzrost szybkości w porównaniu z pierwszą wersją.

## Przesłanki: problem mechanizmu uwagi w transformerach

Standardowy mechanizm samouwagi (self-attention) stanowi wąskie gardło podczas pracy z długimi sekwencjami tekstu w transformerach. Jego złożoność obliczeniowa i zużycie pamięci rosną **kwadratowo** (O(N²)) w zależności od długości sekwencji (N), co nakłada poważne ograniczenia na maksymalną długość kontekstu i skalowalność LLM<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_main-1)</sup>.

Dla rozwiązania tego problemu w 2022 roku przedstawiono algorytm **FlashAttention**<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-huggingface_optim-2)</sup>. Jego kluczowe idee:

- **Uwzględnienie hierarchii pamięci GPU (IO-awareness)**: Algorytm minimalizuje kosztowne operacje odczytu/zapisu między wolną pamięcią GPU (HBM) a szybką pamięcią statyczną (SRAM) na chipie.
- **Przetwarzanie blokowe (tiling)**: Obliczenia są podzielone na małe bloki (kafelki), które są przetwarzane w szybkiej SRAM, co pozwala uniknąć materializacji pełnej macierzy uwagi w pamięci.

Pozwoliło to osiągnąć **liniowy** wzrost zużycia pamięci (O(N)) i przyspieszenie 2–4-krotne w porównaniu ze standardowymi implementacjami<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-huggingface_optim-2)</sup>. FlashAttention zyskał szerokie zastosowanie i przyczynił się do pojawienia się modeli ze znacznie zwiększonym kontekstem, na przykład z 2–4 tys. tokenów (GPT-3) do 128 tys. (GPT-4) i więcej<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-tridao_blog_fa3-3)</sup>. Na przykład w modelu **Falcon-40B** zastosowanie FlashAttention przyspieszyło inferencję 3-krotnie, a ogólną wydajność generowania — 5-krotnie w porównaniu z GPT-3<sup>[\[4\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-e2e_analysis-4)</sup>.

## Rozwój i cele FlashAttention-2

Niemimo sukcesu, pierwsza wersja FlashAttention nie wykorzystywała w pełni zasobów obliczeniowych GPU. Na kartach graficznych **NVIDIA A100** wydajność osiągała jedynie **25–40%** teoretycznego maksimum (FLOPs/s)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_main-1)</sup>. Główną przyczyną było nieoptymalne obciążenie procesorów strumieniowych (Streaming Multiprocessors) i nadmiarowe operacje na pamięci współdzielonej<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-openreview_fa2-5)</sup>.

Celem **FlashAttention-2** stało się dalsze przyspieszenie obliczeń poprzez efektywniejsze zrównoleglenie pracy i minimalizację operacji pomocniczych. Algorytm został całkowicie przepisany z użyciem niskopoziomowych prymitywów biblioteki **NVIDIA CUTLASS 3.x** w celu osiągnięcia maksymalnej wydajności<sup>[\[6\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-hazyresearch_blog-6)</sup>.

## Architektura techniczna i zasady działania

FlashAttention-2 wprowadza trzy kluczowe usprawnienia w celu zwiększenia równoległości i efektywności<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_main-1)</sup>:

### 1. Minimalizacja operacji nie-macierzowych

Algorytm ogranicza liczbę pomocniczych operacji zmiennoprzecinkowych niebędących mnożeniem macierzy (non-matmul FLOPs). Ponieważ rdzenie tensorowe GPU są zoptymalizowane właśnie pod operacje macierzowe (GEMM) i wykonują je nawet 16 razy szybciej, zmiana ta pozwala przez większość czasu wykorzystywać najbardziej wydajne bloki GPU.

### 2. Ulepszony równoległość

W oryginalnym FlashAttention praca nad jedną "głową" uwagi nie była zrównoleglana, co prowadziło do przestojów przy długich sekwencjach i małych rozmiarach batcha. FlashAttention-2 wprowadza **równoległość między blokami**: teraz obliczenia dla jednej głowy uwagi są rozdzielane między różne procesory strumieniowe GPU, co znacznie zwiększa ich obciążenie.

### 3. Zoptymalizowany podział pracy wewnątrz bloku

Na poziomie jednego bloku obliczeniowego praca została redystrybuowana między grupy wątków (warps) w celu zmniejszenia wymiany danych przez pamięć współdzieloną (shared memory). Zmniejsza to liczbę nadmiarowych operacji odczytu/zapisu potrzebnych do normalizacji Softmax.

## Wydajność i efektywność

Dzięki ulepszeniom architektonicznym FlashAttention-2 wykazuje znaczący wzrost wydajności:

- **Dwukrotne przyspieszenie**: Algorytm działa około **2 razy szybciej** w porównaniu z pierwszą wersją FlashAttention<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_main-1)</sup>.
- **Wysokie wykorzystanie GPU**: Na GPU **NVIDIA A100** osiągana jest **50–73%** teoretycznej maksymalnej przepustowości (TFLOPs), co zbliża się do efektywności zoptymalizowanych operacji mnożenia macierzy (GEMM)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_main-1)</sup>.
- **Rekordowa szybkość obliczeń**:
  - Na GPU **A100** osiągana jest szybkość do **225 TFLOP/s** w pełnym cyklu trenowania modelu typu GPT, co odpowiada 72% wykorzystania bloków obliczeniowych. Dla porównania, standardowy mechanizm uwagi w tych samych warunkach obciążał GPU poniżej 100 TFLOP/s<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_pdf-7)</sup>.
  - Na GPU **H100** wydajność osiąga **335 TFLOP/s**<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_pdf-7)</sup>.

Taki wzrost wydajności pozwala na przykład trenować model z oknem kontekstowym **16k** tokenów w tym samym czasie, jaki wcześniej był potrzebny dla okna **8k** tokenów<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-openreview_fa2-5)</sup>. Co istotne, algorytm pozostaje **dokładny** i deterministyczny, więc jego zastosowanie nie wpływa na jakość predykcji modelu<sup>[\[8\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-raschka_blog-8)</sup>.

## Zastosowanie i integracja z ekosystemem

FlashAttention-2 szybko stał się standardowym narzędziem w ekosystemie LLM. Jest zintegrowany z wieloma popularnymi frameworkami i bibliotekami:

- **PyTorch**: Natywne wsparcie.
- **Hugging Face Transformers**: Wsparcie włączane jest parametrem \`attn_implementation="flash_attention_2"\` podczas ładowania modelu<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-linkedin_younes-9)</sup>. Kompatybilny z dziesiątkami architektur (GPT, Llama, Falcon, BERT i inne)<sup>[\[10\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-huggingface_gpu_infer-10)</sup>.
- **TensorRT-LLM**, **xFormers** i **Triton**: Algorytm jest zaimplementowany dla tych platform, co zapewnia szerokie zastosowanie<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_pdf-7)</sup>.

Integracja pozwala łatwo łączyć FlashAttention-2 z innymi metodami optymalizacji, takimi jak kwantyzacja (GPTQ, QLoRA) i efektywne fine-tuning (PEFT)<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-linkedin_younes-9)</sup>.

## Porównanie z kolejnymi wersjami

### FlashAttention-3

Badania w dziedzinie optymalizacji mechanizmu uwagi są kontynuowane. W lipcu 2024 roku Tri Dao przedstawił **FlashAttention-3**, nastawiony na wykorzystanie możliwości architektury GPU **NVIDIA Hopper** (H100/H200). Kluczowe nowości<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-tridao_blog_fa3-3)</sup>:

- **Wsparcie FP8**: Wykorzystuje 8-bitowe obliczenia zmiennoprzecinkowe w celu dalszego przyspieszenia.
- **Operacje asynchroniczne**: Efektywniej wykorzystuje asynchroniczne możliwości GPU.

FlashAttention-3 zapewnia przyspieszenie **1,5–2 razy** w porównaniu z FlashAttention-2 na GPU H100, osiągając wydajność do **740 TFLOP/s** (75% teoretycznego maksimum)<sup>[\[11\]](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_note-arxiv_fa3-11)</sup>.

## Literatura

- 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.

## Przypisy

1.  <span id="cite_note-arxiv_main-1">↑ <sup>[1.0](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_ref-arxiv_main_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_ref-arxiv_main_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_ref-arxiv_main_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_ref-arxiv_main_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_ref-arxiv_main_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/FlashAttention-2_(PL)#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_(PL)#cite_ref-huggingface_optim_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/FlashAttention-2_(PL)#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_(PL)#cite_ref-tridao_blog_fa3_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/FlashAttention-2_(PL)#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_(PL)#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_(PL)#cite_ref-openreview_fa2_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/FlashAttention-2_(PL)#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_(PL)#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_(PL)#cite_ref-arxiv_pdf_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/FlashAttention-2_(PL)#cite_ref-arxiv_pdf_7-1)</sup> <sup>[7.2](https://systems-analysis.info/int/FlashAttention-2_(PL)#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_(PL)#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_(PL)#cite_ref-linkedin_younes_9-0)</sup> <sup>[9.1](https://systems-analysis.info/int/FlashAttention-2_(PL)#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_(PL)#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_(PL)#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>
