---
title: "FlashAttention-2 (BG)"
source: "https://systems-analysis.info/int/FlashAttention-2_(BG)"
wiki: "systems-analysis.info/int"
article: "FlashAttention-2_(BG)"
language: "bg"
categories:
  - "Category:Bulgarian"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 2193
wiki_created_at: 2026-09-06T22:59:56Z
wiki_modified_at: 2026-09-06T22:59:56Z
downloaded_at: 2026-09-07T22:49:45Z
---

# FlashAttention-2 (BG)

**FlashAttention-2** — това е усъвършенстван алгоритъм, предназначен за изчисляване на механизма за внимание (attention) в големи езикови модели (LLM). Алгоритъмът е разработен от **Три Дао** (Tri Dao) и изследователи от Станфордския университет и е представен през юли 2023 година<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_main-1)</sup>. Ключовата му цел е значително да ускори обучението и инференса (извода) на transformer модели чрез по-ефективно използване на хардуерните ресурси на GPU, като същевременно запазва пълна идентичност на изчисленията със стандартния механизъм за внимание, тоест **без загуба на точност**.

FlashAttention-2 е логично продължение на алгоритъма **FlashAttention**, представен от същия екип през 2022 година. Новата версия решава проблема с непълното натоварване на GPU, наблюдаван при предшественика, и постига почти двукратно увеличение на скоростта в сравнение с първата версия.

## Предпоставки: проблемът с вниманието в трансформерите

Стандартният механизъм за самовнимание (self-attention) е тясното място при работа с дълги текстови последователности в трансформерите. Неговата изчислителна сложност и потребление на памет нарастват **квадратично** (O(N²)) в зависимост от дължината на последователността (N), което налага сериозни ограничения върху максималната дължина на контекста и мащабируемостта на LLM<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_main-1)</sup>.

За решаването на този проблем през 2022 година беше представен алгоритъмът **FlashAttention**<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-huggingface_optim-2)</sup>. Ключовите му идеи:

- **Отчитане на йерархията на паметта на GPU (IO-awareness)**: Алгоритъмът минимизира скъпоструващите операции за четене/запис между бавната памет на GPU (HBM) и бързата статична памет (SRAM) на чипа.
- **Блоково обработване (tiling)**: Изчисленията се разделят на малки блокове (тайлове), които се обработват в бързата SRAM, което позволява да се избегне материализирането на пълната матрица на вниманието в паметта.

Това позволи да се постигне **линеен** ръст на потреблението на памет (O(N)) и ускорение от 2–4 пъти в сравнение със стандартните реализации<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-huggingface_optim-2)</sup>. FlashAttention получи широко разпространение и допринесе за появата на модели със значително увеличен контекст — например от 2–4 хил. токена (GPT-3) до 128 хил. (GPT-4) и повече<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-tridao_blog_fa3-3)</sup>. Така, в модела **Falcon-40B** използването на FlashAttention ускори инференса 3 пъти, а общата производителност на генериране — 5 пъти в сравнение с GPT-3<sup>[\[4\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-e2e_analysis-4)</sup>.

## Разработка и цели на FlashAttention-2

Въпреки успеха, първата версия на FlashAttention не използваше изчислителните ресурси на GPU напълно. При видеокартите **NVIDIA A100** производителността достигаше само **25–40%** от теоретичния максимум (FLOPs/s)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_main-1)</sup>. Основната причина беше неоптималното натоварване на потоковите мултипроцесори (Streaming Multiprocessors) и излишните операции с обща памет<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-openreview_fa2-5)</sup>.

Целта на **FlashAttention-2** стана по-нататъшното ускоряване на изчисленията чрез по-ефективно разпаралелване на работата и минимизиране на спомагателните операции. Алгоритъмът беше напълно пренаписан с използване на нискониво примитиви от библиотеката **NVIDIA CUTLASS 3.x** за постигане на максимална производителност<sup>[\[6\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-hazyresearch_blog-6)</sup>.

## Техническа архитектура и принципи на работа

FlashAttention-2 въвежда три ключови подобрения за повишаване на паралелизма и ефективността<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_main-1)</sup>:

### 1. Минимизиране на не-матричните операции

Алгоритъмът намалява броя на спомагателните операции с плаваща запетая, които не са матрично умножение (non-matmul FLOPs). Тъй като тензорните ядра на GPU са оптимизирани именно за матрични операции (GEMM) и ги изпълняват до 16 пъти по-бързо, тази промяна позволява по-голямата част от времето да се използват най-производителните блокове на GPU.

### 2. Подобрен паралелизъм

В оригиналния FlashAttention работата върху една „глава" на вниманието не се разпаралелваше, което водеше до престои при дълги последователности и малки размери на батча. FlashAttention-2 въвежда **междублоково разпаралелване**: изчисленията за една глава на вниманието вече се разпределят между различни потокови мултипроцесори на GPU, което значително повишава тяхното натоварване.

### 3. Оптимизирано разпределение на работата вътре в блока

На ниво един изчислителен блок работата беше преразпределена между групи потоци (warps) за намаляване на обмена на данни чрез обща памет (shared memory). Това намалява броя на излишните операции за четене/запис, необходими за нормализиране на Softmax.

## Производителност и ефективност

Благодарение на архитектурните подобрения, FlashAttention-2 демонстрира значителен ръст на производителността:

- **Двукратно ускорение**: Алгоритъмът работи приблизително **2 пъти по-бързо** в сравнение с първата версия на FlashAttention<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_main-1)</sup>.
- **Висока утилизация на GPU**: На GPU **NVIDIA A100** се постига **50–73%** от теоретичната максимална пропускателна способност (TFLOPs), което е близо до ефективността на оптимизираните операции за матрично умножение (GEMM)<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_main-1)</sup>.
- **Рекордна скорост на изчисления**:
  - На GPU **A100** се постига скорост до **225 TFLOP/s** в цялостния цикъл на обучение на модел от тип GPT, което съответства на 72% утилизация на изчислителните блокове. За сравнение, стандартното внимание при същите условия натоварваше GPU с по-малко от 100 TFLOP/s<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_pdf-7)</sup>.
  - На GPU **H100** производителността достига **335 TFLOP/s**<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_pdf-7)</sup>.

Такъв ръст на производителността позволява, например, да се обучава модел с контекстен прозорец от **16k** токена за същото време, което преди беше необходимо за прозорец от **8k** токена<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-openreview_fa2-5)</sup>. Важно е, че алгоритъмът остава **точен** и детерминиран, поради което прилагането му не влияе върху качеството на предсказанията на модела<sup>[\[8\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-raschka_blog-8)</sup>.

## Приложение и интеграция в екосистемата

FlashAttention-2 бързо се превърна в стандартен инструмент в екосистемата на LLM. Той е интегриран в много популярни фреймуъркове и библиотеки:

- **PyTorch**: Нативна поддръжка.
- **Hugging Face Transformers**: Поддръжката се включва с параметъра \`attn_implementation=\\flash_attention_2\\\` при зареждане на модела<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-linkedin_younes-9)</sup>. Съвместим е с десетки архитектури (GPT, Llama, Falcon, BERT и др.)<sup>[\[10\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-huggingface_gpu_infer-10)</sup>.
- **TensorRT-LLM**, **xFormers** и **Triton**: Алгоритъмът е реализиран за тези платформи, което осигурява широко приложение<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_pdf-7)</sup>.

Интеграцията позволява лесно да се съчетава FlashAttention-2 с други методи за оптимизация, като квантуване (GPTQ, QLoRA) и ефективно дообучване (PEFT)<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-linkedin_younes-9)</sup>.

## Сравнение със следващите версии

### FlashAttention-3

Изследванията в областта на оптимизацията на вниманието продължават. През юли 2024 година Три Дао представи **FlashAttention-3**, насочен към използване на възможностите на архитектурата на GPU **NVIDIA Hopper** (H100/H200). Ключови нововъведения<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-tridao_blog_fa3-3)</sup>:

- **Поддръжка на FP8**: Използва 8-битни изчисления с плаваща запетая за по-нататъшно ускорение.
- **Асинхронни операции**: По-ефективно използва асинхронните възможности на GPU.

FlashAttention-3 осигурява ускорение от **1.5–2 пъти** в сравнение с FlashAttention-2 на GPU H100, достигайки производителност до **740 TFLOP/s** (75% от теоретичния максимум)<sup>[\[11\]](https://systems-analysis.info/int/FlashAttention-2_(BG)#cite_note-arxiv_fa3-11)</sup>.

## Литература

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

## Бележки

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