---
title: "FlashAttention-2"
source: "https://systems-analysis.info/wiki/FlashAttention-2"
wiki: "systems-analysis.info/wiki"
article: "FlashAttention-2"
language: "ru"
categories:
  - "Категория:Russian"
  - "Категория:Большие языковые модели"
  - "Категория:Машинное обучение"
revision_id: 99
wiki_created_at: 2026-09-06T21:54:59Z
wiki_modified_at: 2026-09-06T21:54:59Z
downloaded_at: 2026-09-07T22:17:25Z
---

# FlashAttention-2

**FlashAttention-2** — это усовершенствованный алгоритм, предназначенный для вычисления механизма внимания (attention) в [больших языковых моделях (LLM)](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели"). Алгоритм был разработан **Три Дао** (Tri Dao) и исследователями из Стэнфордского университета и представлен в июле 2023 года<sup>[\[1\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-arxiv_main-1)</sup>. Его ключевая цель — значительно ускорить обучение и инференс (вывод) моделей-трансформеров за счёт более эффективного использования аппаратных ресурсов GPU, при этом сохраняя полную идентичность вычислений со стандартным механизмом внимания, то есть **без потери точности**.

FlashAttention-2 является логическим продолжением алгоритма **[FlashAttention](https://systems-analysis.info/wiki/FlashAttention "FlashAttention")**, представленного той же командой в 2022 году. Новая версия решает проблему неполной загрузки GPU, которая наблюдалась у предшественника, и достигает почти двукратного прироста скорости по сравнению с первой версией.

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

Стандартный механизм самовнимания (self-attention) является узким местом при работе с длинными последовательностями текста в трансформерах. Его вычислительная сложность и потребление памяти растут **квадратично** (O(N²)) в зависимости от длины последовательности (N), что накладывает серьёзные ограничения на максимальную длину контекста и масштабируемость LLM<sup>[\[1\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-arxiv_main-1)</sup>.

Для решения этой проблемы в 2022 году был представлен алгоритм **FlashAttention**<sup>[\[2\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-huggingface_optim-2)</sup>. Его ключевые идеи:

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

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

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

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

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

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

FlashAttention-2 вводит три ключевых улучшения для повышения параллелизма и эффективности<sup>[\[1\]](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_note-arxiv_main-1)</sup>.
- **Высокая утилизация GPU**: На GPU **NVIDIA A100** достигается **50–73%** от теоретической максимальной пропускной способности (TFLOPs), что близко к эффективности оптимизированных операций матричного умножения (GEMM)<sup>[\[1\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-arxiv_main-1)</sup>.
- **Рекордная скорость вычислений**:
  - На GPU **A100** достигается скорость до **225 TFLOP/s** в сквозном цикле обучения модели типа GPT, что соответствует 72% утилизации вычислительных блоков. Для сравнения, стандартное внимание в тех же условиях нагружало GPU менее чем на 100 TFLOP/s<sup>[\[7\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-arxiv_pdf-7)</sup>.
  - На GPU **H100** производительность достигает **335 TFLOP/s**<sup>[\[7\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-arxiv_pdf-7)</sup>.

Такой прирост производительности позволяет, например, обучать модель с контекстным окном **16k** токенов за то же время, что ранее требовалось для окна **8k** токенов<sup>[\[5\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-openreview_fa2-5)</sup>. Важно, что алгоритм остаётся **точным** и детерминированным, поэтому его применение не влияет на качество предсказаний модели<sup>[\[8\]](https://systems-analysis.info/wiki/FlashAttention-2#cite_note-raschka_blog-8)</sup>.

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

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

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

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

## Сравнение с последующими версиями

### FlashAttention-3

Исследования в области оптимизации внимания продолжаются. В июле 2024 года Три Дао представил **FlashAttention-3**, нацеленный на использование возможностей архитектуры GPU **NVIDIA Hopper** (H100/H200). Ключевые нововведения<sup>[\[3\]](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_note-arxiv_fa3-11)</sup>.

## См. также

- [FlashAttention-3](https://systems-analysis.info/wiki/FlashAttention-3 "FlashAttention-3")
- [Большие языковые модели](https://systems-analysis.info/wiki/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8 "Большие языковые модели")
- [FlashAttention](https://systems-analysis.info/wiki/FlashAttention "FlashAttention")
- [AI-агент](https://systems-analysis.info/wiki/AI-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82 "AI-агент")
- [Agentic workflows](https://systems-analysis.info/wiki/Agentic_workflows "Agentic workflows")

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

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

## Примечания

1.  <span id="cite_note-arxiv_main-1">↑ <sup>[1,0](https://systems-analysis.info/wiki/FlashAttention-2#cite_ref-arxiv_main_1-0)</sup> <sup>[1,1](https://systems-analysis.info/wiki/FlashAttention-2#cite_ref-arxiv_main_1-1)</sup> <sup>[1,2](https://systems-analysis.info/wiki/FlashAttention-2#cite_ref-arxiv_main_1-2)</sup> <sup>[1,3](https://systems-analysis.info/wiki/FlashAttention-2#cite_ref-arxiv_main_1-3)</sup> <sup>[1,4](https://systems-analysis.info/wiki/FlashAttention-2#cite_ref-arxiv_main_1-4)</sup> <sup>[1,5](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_ref-huggingface_optim_2-0)</sup> <sup>[2,1](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_ref-tridao_blog_fa3_3-0)</sup> <sup>[3,1](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_ref-openreview_fa2_5-0)</sup> <sup>[5,1](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_ref-arxiv_pdf_7-0)</sup> <sup>[7,1](https://systems-analysis.info/wiki/FlashAttention-2#cite_ref-arxiv_pdf_7-1)</sup> <sup>[7,2](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#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/wiki/FlashAttention-2#cite_ref-linkedin_younes_9-0)</sup> <sup>[9,1](https://systems-analysis.info/wiki/FlashAttention-2#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/wiki/FlashAttention-2#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/wiki/FlashAttention-2#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>
