FlashAttention-3 (TR)
FlashAttention-3 — GPU mimarisine ait donanım olanaklarını en üst düzeyde kullanmak için tasarlanmış, transformer sinir ağlarındaki attention mekanizmasını optimize eden bir algoritmadır; NVIDIA Hopper (H100) mimarisi için geliştirilmiştir[1]. Algoritma, 2024 yılında Colfax Research, Meta, NVIDIA, Georgia Tech, Princeton Üniversitesi ve Together AI şirketlerinden oluşan bir araştırmacı grubu tarafından tanıtılmıştır. Çalışma, NeurIPS 2024 konferansına kabul edilmiş ve spotlight olarak seçilmiştir[2].
FlashAttention-3, FlashAttention (2022) ve FlashAttention-2'yi (2023) izleyen algoritma ailesinin üçüncü iterasyonudur. Temel amacı, hesaplama doğruluğunu korurken büyük dil modellerinin (LLM) eğitimini ve çıkarımını (inference) önemli ölçüde hızlandırmaktır.
Giriş ve Arka Plan
Attention Mekanizmasının Sorunu
Transformer'ların temel bileşeni olan öz-dikkat (self-attention) mekanizması, giriş dizisinin uzunluğu (n) arttıkça hesaplama karmaşıklığı ve bellek tüketimi karesel olarak (O(n²)) büyümektedir[1]. Bu durum ciddi bir "darboğaz" oluşturmaktadır: modern GPU'lar hızlı matris çarpmalarına optimize edilmiştir, ancak üstel fonksiyonların (örneğin Softmax'taki gibi) hesaplanması çok daha yavaştır. Bunun yanı sıra, naive bir uygulamada GPU belleğinde büyük bir ara attention tensörünün tutulması gerekmekte ve bu da modellerin ölçeklenebilirliğini kısıtlamaktadır.
FlashAttention ve FlashAttention-2
Bu sorunu çözmek amacıyla 2022 yılında FlashAttention önerilmiştir; bu algoritma, iki teknik sayesinde yavaş global bellekte (HBM) gerçekleştirilen erişim sayısını azaltmıştır:
- Blok işleme (tiling): Hesaplamalar, hızlı çip üstü bellekte (SRAM) işlenen bloklara (tile) bölünür.
- İşlemlerin birleştirilmesi: Tüm işlemler (matris çarpımı, Softmax) ara sonuçları global belleğe yazmadan tek bir GPU çekirdeğinde gerçekleştirilir.
Bu yaklaşım, bellek karmaşıklığını karesel düzeyden doğrusal düzeye indirmiş ve hesaplamaları 2–4 kat hızlandırmıştır.
2023 yılında geliştirilmiş bir sürüm olan FlashAttention-2 sunulmuş; bu sürüm hesaplamaların paralelleştirilmesini optimize etmiştir. NVIDIA Ampere (A100) mimarisindeki GPU'larda teorik tepe performansın ~%70'ine ulaşmıştır[3]. Ancak daha yeni NVIDIA Hopper (H100) mimarisinde verimliliği belirgin biçimde düşük kalmış ve yaklaşık %35 düzeyinde seyretmiştir[1]. Bunun nedeni, algoritmanın Hopper'ın yeni donanım olanaklarını kullanmamasıydı; bu durum FlashAttention-3'ün geliştirilmesi için itici güç olmuştur.
Hopper (H100) GPU'sunun Yeni Donanım Olanakları
NVIDIA Hopper mimarisi, FlashAttention-3'ün maksimum performansa ulaşmak için kullandığı bir dizi yeni özellik sunmaktadır[4]:
- WGMMA (Warpgroup Matrix Multiply-Accumulate): Tensor çekirdekleri için yeni bir komut türü olup Ampere mimarisine kıyasla neredeyse iki katı performans artışıyla matris çarpmalarını gerçekleştirir.
- TMA (Tensor Memory Accelerator): Global bellek (HBM) ile paylaşımlı bellek (shared memory) arasındaki veri aktarımını hızlandıran bir donanım modülüdür. TMA, adres hesaplamalarını otomatik olarak yaparak hesaplama çekirdeklerinin yükünü azaltır.
- FP8 Formatı: 8-bitlik kayan noktalı veri formatı için donanım desteği; FP16'ya kıyasla teorik performansı iki katına çıkarır, ancak sınırlı dinamik aralık nedeniyle hassasiyet kaybı riski taşır.
FlashAttention-3'ün Teknik Yenilikleri
Algoritma, Hopper mimarisi için özel olarak tasarlanmış üç temel optimizasyon yöntemi uygulamaktadır[4]:
1. Asenkron Yürütme ve Warp Uzmanlığı
FlashAttention-3, GPU üzerindeki farklı iş parçacığı gruplarının (warp) farklı görevlere uzmanlaştığı warp-specialization ilkesini kullanmaktadır:
- Producer warps: TMA aracılığıyla global bellekten veri yükler.
- Consumer warps: Tensor çekirdeklerinde matris çarpmalarını gerçekleştirir.
Hopper'ın donanım düzeyindeki asenkronluğu sayesinde bu işlemler zamanda üst üste gelir. Bir warp grubu hesaplama yaparken, diğeri paralel olarak bir sonraki blok için veri yükler. "Ping-pong zamanlama" (ping-pong scheduling) ilkesiyle organize edilen bu boru hattı (pipeline) yaklaşımı, yavaş işlemlerin (örneğin Softmax) neden olduğu gecikmeleri gizlemeyi ve GPU'nun tüm işlevsel modüllerini tam kapasite yüklemeyi mümkün kılmaktadır.
2. Bellek İşlemlerinin Minimize Edilmesi
Algoritma, önceki sürümlerdeki tiling yaklaşımını korumakla birlikte, mevcut hesaplamalarla paralel olarak sonraki veri bloklarını asenkron biçimde yüklemek için TMA'yı aktif şekilde kullanmaktadır. Yavaş HBM'den hızlı SRAM'e veri aktarımı, fiilen temel hesaplamaların "gölgesinde" gerçekleştirilmekte; bu sayede GPU'nun veri bekleyerek boşta kalma süresi azalmaktadır.
3. Kuantizasyon Hatasını Azaltarak Düşük Hassasiyet (FP8) Kullanımı
FP8'e geçiş hızı iki katına çıkarır; ancak kuantizasyon nedeniyle önemli hassasiyet kayıplarına yol açabilir. Bununla mücadele etmek için geliştiriciler incoherent processing yöntemini uygulamıştır[4]. Bu yöntemin özü şudur:
- Attention hesaplanmadan önce özellik vektörleri (sorgular Q ve anahtarlar K) rastgele bir ortogonal matris (örneğin Hadamard matrisi) ile çarpılır.
- Bu dönüşüm, anormal büyük büyüklüklere sahip değerleri (aykırı değerler) tüm koordinatlara "yayarak" dağılımlarını düzleştirir.
- Ardından FP8'e kuantizasyon uygulanır ve bu süreç artık daha az hatayla gerçekleşir.
- Dönüşüm ortogonal olduğundan, matrisin etkisi çarpmada birbirini götüreceğinden nihai attention sonucunu (QKᵀ) bozmaz.
Bu teknik, FP8 ile attention hesaplama hatasını, dönüşüm uygulanmadan standart FP8 kullanımına kıyasla yaklaşık 2,6 kat azaltmıştır[4].
Performans ve Önemi
Söz konusu tekniklerin uygulanması, FlashAttention-3'ün H100 GPU'sunda önceki sürümlere kıyasla önemli bir üstünlük elde etmesini sağlamıştır:
- FlashAttention-2'ye kıyasla 1,5–2 kat hızlanma.
- Yüksek GPU kullanım oranı: H100'ün teorik maksimum performansının ~%75–85'ine ulaşmaktadır.
- Verim:
- Yarı hassasiyet (FP16/BF16) için 740–840 TFLOPS'a kadar.
- 8-bitlik hassasiyet (FP8) kullanımında 1,2–1,3 PFLOPS (petaflops)'a kadar[2].
FlashAttention-3'ün yüksek verimliliği, LLM'lerin geliştirilmesini ve kullanımını doğrudan etkilemektedir:
- Eğitim süresinin kısaltılması: Attention işleminde %75–100 hızlanma, haftalarca veya aylarca sürebilen model eğitim sürelerini önemli ölçüde kısaltmaktadır.
- Bağlam penceresinin genişletilmesi: Modeller daha uzun dizileri (yüz binlerce token) verimli biçimde işleyebilmekte; bu durum büyük belgelerin veya kodun analizi açısından önem taşımaktadır[1].
- Kaynakların verimli kullanımı: Aynı performansın daha az GPU ile elde edilmesini ya da aynı donanımda daha yüksek hıza ulaşılmasını sağlayarak model dağıtım maliyetlerini düşürmektedir.
Erişilebilirlik ve Entegrasyon
Yazarlar, FlashAttention-3'ün kaynak kodunu açık lisans altında GitHub'da yayımlamıştır[4]. PyTorch ve Hugging Face Transformers kütüphaneleri gibi önde gelen derin öğrenme framework'lerine entegre edilmesi beklenmekte; bu sayede teknoloji geniş bir geliştirici ve araştırmacı kitlesine erişilebilir hale gelecektir. Önceki sürümler endüstride fiili standart haline gelmiştir ve FlashAttention-3'ün de bu eğilimi sürdürmesi beklenmektedir.
Dış bağlantılar
- GitHub'daki resmi FlashAttention deposu
- Together AI'ın FlashAttention-3 duyuru blogu
Kaynakça
- Shah, J. et al. (2024). FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision. arXiv:2407.08608.
- 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.
- 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. arXiv:2410.01359.
- Abbott, V.; Zardini, G. (2025). FlashAttention on a Napkin: A Diagrammatic Approach to Deep Learning IO-Awareness. arXiv:2412.03317.
Notlar
- ↑ 1.0 1.1 1.2 1.3 «FlashAttention-3 unleashes the power of H100 GPUs for LLMs». VentureBeat. [1]
- ↑ 2.0 2.1 Шах, Джей, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». OpenReview. [2]
- ↑ Шах, Джей, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». arXiv:2407.08608v2 [cs.LG], 15 июля 2024 г. [3]
- ↑ 4.0 4.1 4.2 4.3 4.4 Шах, Джей, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». Together AI Blog. [4]