---
title: "FlashAttention-2 (FA)"
source: "https://systems-analysis.info/int/FlashAttention-2_(FA)"
wiki: "systems-analysis.info/int"
article: "FlashAttention-2_(FA)"
language: "fa"
categories:
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Persian"
revision_id: 2199
wiki_created_at: 2026-09-06T23:00:01Z
wiki_modified_at: 2026-09-06T23:00:01Z
downloaded_at: 2026-09-07T22:49:47Z
---

# FlashAttention-2 (FA)

**FlashAttention-2** — الگوریتمی پیشرفته است که برای محاسبه مکانیزم توجه (attention) در مدل‌های زبانی بزرگ (LLM) طراحی شده است. این الگوریتم توسط **تری دائو** (Tri Dao) و پژوهشگران دانشگاه استنفورد توسعه یافته و در ژوئیه ۲۰۲۳ معرفی شد<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_main-1)</sup>. هدف اصلی آن — تسریع قابل توجه آموزش و استنتاج (inference) مدل‌های transformer از طریق استفاده کارآمدتر از منابع سخت‌افزاری GPU، با حفظ کامل یکسانی محاسبات با مکانیزم توجه استاندارد، یعنی **بدون افت دقت**، می‌باشد.

FlashAttention-2 ادامه منطقی الگوریتم **FlashAttention** است که در سال ۲۰۲۲ توسط همان تیم معرفی شد. نسخه جدید مشکل بارگذاری ناقص GPU که در نسخه پیشین مشاهده می‌شد را برطرف کرده و به افزایش سرعتی تقریباً دو برابری نسبت به نسخه اول دست می‌یابد.

## پیش‌زمینه: مشکل توجه در transformer‌ها

مکانیزم self-attention استاندارد هنگام کار با دنباله‌های متنی طولانی در transformer‌ها گلوگاه محسوب می‌شود. پیچیدگی محاسباتی و مصرف حافظه آن به صورت **درجه دوم** (O(N²)) بر حسب طول دنباله (N) رشد می‌کند، که محدودیت‌های جدی بر حداکثر طول زمینه و مقیاس‌پذیری LLM‌ها اعمال می‌کند<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_main-1)</sup>.

برای حل این مشکل در سال ۲۰۲۲ الگوریتم **FlashAttention** معرفی شد<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-huggingface_optim-2)</sup>. ایده‌های کلیدی آن:

- **در نظر گرفتن سلسله‌مراتب حافظه GPU (IO-awareness)**: الگوریتم عملیات پرهزینه خواندن/نوشتن بین حافظه کُند GPU (HBM) و حافظه استاتیک سریع (SRAM) روی تراشه را به حداقل می‌رساند.
- **پردازش بلوکی (tiling)**: محاسبات به بلوک‌های کوچک (tile) تقسیم می‌شوند که در SRAM سریع پردازش می‌شوند و این امکان را می‌دهد که از مادی‌سازی ماتریس کامل توجه در حافظه اجتناب شود.

این رویکرد به دستیابی به رشد **خطی** مصرف حافظه (O(N)) و تسریع ۲ تا ۴ برابری نسبت به پیاده‌سازی‌های استاندارد منجر شد<sup>[\[2\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-huggingface_optim-2)</sup>. FlashAttention به طور گسترده‌ای به کار گرفته شد و به ظهور مدل‌هایی با زمینه به طور قابل توجهی افزایش‌یافته کمک کرد، به عنوان مثال از ۲ تا ۴ هزار token (GPT-3) تا ۱۲۸ هزار (GPT-4) و بیشتر<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-tridao_blog_fa3-3)</sup>. در مدل **Falcon-40B** استفاده از FlashAttention سرعت استنتاج را ۳ برابر و عملکرد کلی تولید را ۵ برابر نسبت به GPT-3 افزایش داد<sup>[\[4\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-e2e_analysis-4)</sup>.

## توسعه و اهداف FlashAttention-2

با وجود موفقیت، نسخه اول FlashAttention از منابع محاسباتی GPU به طور کامل استفاده نمی‌کرد. در کارت‌های گرافیک **NVIDIA A100** عملکرد تنها به **۲۵ تا ۴۰ درصد** از حداکثر نظری (FLOPs/s) می‌رسید<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_main-1)</sup>. دلیل اصلی بارگذاری غیربهینه پردازنده‌های جریانی (Streaming Multiprocessors) و عملیات اضافی با حافظه مشترک بود<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-openreview_fa2-5)</sup>.

هدف **FlashAttention-2** تسریع بیشتر محاسبات از طریق موازی‌سازی کارآمدتر و به حداقل رساندن عملیات کمکی بود. الگوریتم به طور کامل با استفاده از عناصر اولیه سطح پایین کتابخانه **NVIDIA CUTLASS 3.x** برای دستیابی به حداکثر عملکرد بازنویسی شد<sup>[\[6\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-hazyresearch_blog-6)</sup>.

## معماری فنی و اصول کار

FlashAttention-2 سه بهبود کلیدی برای افزایش موازی‌سازی و کارایی معرفی می‌کند<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_main-1)</sup>:

### ۱. به حداقل رساندن عملیات غیر-ماتریسی

الگوریتم تعداد عملیات کمکی اعشاری که ضرب ماتریسی نیستند (non-matmul FLOPs) را کاهش می‌دهد. از آنجا که هسته‌های تنسوری GPU دقیقاً برای عملیات ماتریسی (GEMM) بهینه شده‌اند و آن‌ها را تا ۱۶ برابر سریع‌تر انجام می‌دهند، این تغییر امکان می‌دهد بیشتر اوقات از پربازده‌ترین بلوک‌های GPU استفاده شود.

### ۲. موازی‌سازی بهبودیافته

در FlashAttention اصلی، کار روی یک «سر» توجه موازی‌سازی نمی‌شد که منجر به بیکاری در هنگام دنباله‌های طولانی و اندازه‌های کوچک batch می‌شد. FlashAttention-2 **موازی‌سازی بین‌بلوکی** را معرفی می‌کند: اکنون محاسبات برای یک سر توجه بین پردازنده‌های جریانی مختلف GPU توزیع می‌شود که بارگذاری آن‌ها را به طور قابل توجهی افزایش می‌دهد.

### ۳. تقسیم بهینه‌شده کار درون بلوک

در سطح یک بلوک محاسباتی، کار بین گروه‌های thread (warp) برای کاهش تبادل داده از طریق حافظه مشترک (shared memory) توزیع مجدد شد. این امر تعداد عملیات اضافی خواندن/نوشتن مورد نیاز برای نرمال‌سازی Softmax را کاهش می‌دهد.

## عملکرد و کارایی

به لطف بهبودهای معماری، FlashAttention-2 افزایش عملکرد قابل توجهی را نشان می‌دهد:

- **تسریع دو برابری**: الگوریتم تقریباً **۲ برابر سریع‌تر** نسبت به نسخه اول FlashAttention کار می‌کند<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_main-1)</sup>.
- **استفاده بالا از GPU**: روی GPU **NVIDIA A100** به **۵۰ تا ۷۳ درصد** از حداکثر نظری پهنای باند (TFLOPs) دست می‌یابد که به کارایی عملیات بهینه‌شده ضرب ماتریسی (GEMM) نزدیک است<sup>[\[1\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_main-1)</sup>.
- **سرعت محاسبات رکوردی**:
  - روی GPU **A100** سرعتی تا **225 TFLOP/s** در چرخه آموزش سرتاسری مدلی از نوع GPT به دست می‌آید که معادل ۷۲ درصد استفاده از بلوک‌های محاسباتی است. برای مقایسه، توجه استاندارد در همان شرایط GPU را با کمتر از ۱۰۰ TFLOP/s بارگذاری می‌کرد<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_pdf-7)</sup>.
  - روی GPU **H100** عملکرد به **335 TFLOP/s** می‌رسد<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_pdf-7)</sup>.

چنین افزایش عملکردی به عنوان مثال امکان می‌دهد مدلی با پنجره زمینه **16k** token در همان زمانی آموزش داده شود که پیشتر برای پنجره **8k** token نیاز بود<sup>[\[5\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-openreview_fa2-5)</sup>. مهم است که الگوریتم **دقیق** و قطعی باقی می‌ماند، بنابراین کاربرد آن بر کیفیت پیش‌بینی‌های مدل تأثیری ندارد<sup>[\[8\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-raschka_blog-8)</sup>.

## کاربرد و یکپارچگی در اکوسیستم

FlashAttention-2 به سرعت به ابزاری استاندارد در اکوسیستم LLM تبدیل شد. این الگوریتم در بسیاری از framework‌ها و کتابخانه‌های محبوب یکپارچه شده است:

- **PyTorch**: پشتیبانی بومی.
- **Hugging Face Transformers**: پشتیبانی با پارامتر \`attn_implementation="flash_attention_2"\` هنگام بارگذاری مدل فعال می‌شود<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-linkedin_younes-9)</sup>. با ده‌ها معماری سازگار است (GPT، Llama، Falcon، BERT و غیره)<sup>[\[10\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-huggingface_gpu_infer-10)</sup>.
- **TensorRT-LLM**، **xFormers** و **Triton**: الگوریتم برای این پلتفرم‌ها پیاده‌سازی شده که استفاده گسترده را تضمین می‌کند<sup>[\[7\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-arxiv_pdf-7)</sup>.

یکپارچگی امکان ترکیب آسان FlashAttention-2 با سایر روش‌های بهینه‌سازی مانند کوانتیزاسیون (GPTQ، QLoRA) و fine-tuning کارآمد (PEFT) را فراهم می‌کند<sup>[\[9\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-linkedin_younes-9)</sup>.

## مقایسه با نسخه‌های بعدی

### FlashAttention-3

پژوهش‌ها در زمینه بهینه‌سازی توجه ادامه دارند. در ژوئیه ۲۰۲۴ تری دائو **FlashAttention-3** را معرفی کرد که هدف آن بهره‌برداری از قابلیت‌های معماری GPU **NVIDIA Hopper** (H100/H200) است. نوآوری‌های کلیدی<sup>[\[3\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_note-tridao_blog_fa3-3)</sup>:

- **پشتیبانی از FP8**: از محاسبات اعشاری ۸ بیتی برای تسریع بیشتر استفاده می‌کند.
- **عملیات ناهمزمان**: از قابلیت‌های ناهمزمان GPU به صورت کارآمدتری بهره می‌برد.

FlashAttention-3 تسریع **۱.۵ تا ۲ برابری** نسبت به FlashAttention-2 روی GPU H100 ارائه می‌دهد و به عملکردی تا **740 TFLOP/s** (۷۵ درصد از حداکثر نظری) می‌رسد<sup>[\[11\]](https://systems-analysis.info/int/FlashAttention-2_(FA)#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_(FA)#cite_ref-arxiv_main_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-arxiv_main_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-arxiv_main_1-2)</sup> <sup>[1.3](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-arxiv_main_1-3)</sup> <sup>[1.4](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-arxiv_main_1-4)</sup> <sup>[1.5](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۱]</a></span>
2.  <span id="cite_note-huggingface_optim-2">↑ <sup>[2.0](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-huggingface_optim_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۲]</a></span>
3.  <span id="cite_note-tridao_blog_fa3-3">↑ <sup>[3.0](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-tridao_blog_fa3_3-0)</sup> <sup>[3.1](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۳]</a></span>
4.  <span id="cite_note-e2e_analysis-4">[↑](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۴]</a></span>
5.  <span id="cite_note-openreview_fa2-5">↑ <sup>[5.0](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-openreview_fa2_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۵]</a></span>
6.  <span id="cite_note-hazyresearch_blog-6">[↑](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۶]</a></span>
7.  <span id="cite_note-arxiv_pdf-7">↑ <sup>[7.0](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-arxiv_pdf_7-0)</sup> <sup>[7.1](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-arxiv_pdf_7-1)</sup> <sup>[7.2](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۷]</a></span>
8.  <span id="cite_note-raschka_blog-8">[↑](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۸]</a></span>
9.  <span id="cite_note-linkedin_younes-9">↑ <sup>[9.0](https://systems-analysis.info/int/FlashAttention-2_(FA)#cite_ref-linkedin_younes_9-0)</sup> <sup>[9.1](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۹]</a></span>
10. <span id="cite_note-huggingface_gpu_infer-10">[↑](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۱۰]</a></span>
11. <span id="cite_note-arxiv_fa3-11">[↑](https://systems-analysis.info/int/FlashAttention-2_(FA)#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">[۱۱]</a></span>
