-
Attention'ın önemi
- Attention, Transformer mimarisinin temel katmanıdır ve büyük dil modelleri ile uzun bağlamlı uygulamalarda darboğaz oluşturur.
- FlashAttention ve FlashAttention-2, GPU'da bellek okuma/yazmayı en aza indirerek Attention'ı hızlandıran yaklaşımın öncülüğünü yaptı.
- Bu sayede LLM'lerin bağlam uzunluğu önemli ölçüde arttı.
-
FlashAttention-3'ün başlıca teknikleri
- Eşzamansızlıktan yararlanma: Tensor Cores ve TMA'nın eşzamansızlığından yararlanarak tüm hesaplama ile veri hareketini üst üste bindirir.
- Blok düzeyinde işlemler: Blok bazlı matris çarpımı ile softmax işlemlerini dönüşümlü olarak yürütür.
- Düşük hassasiyetli işleme: FP8 düşük hassasiyet desteğini kullanarak performansı artırır.
-
FlashAttention-3'ün performans artışı
- GPU kullanım verimliliği: H100 GPU'nun azami performansının %75'ine kadar ulaşarak önceki sürümlerden 1.5-2 kat daha hızlıdır.
- Düşük hassasiyet performansı: FP8 kullanarak işleme hızını artırır ve bellek kullanımını azaltır.
- Uzun bağlam işleme: Attention mekanizmasını hızlandırarak daha uzun metinleri verimli şekilde işleyebilir.
-
FlashAttention özeti
- FlashAttention, Attention hesaplamasını yeniden düzenleyip tiling ve yeniden hesaplama kullanarak hızı büyük ölçüde artırır ve bellek kullanımını azaltır.
- Tiling ile giriş bloklarını yükler, ilgili blok üzerinde Attention uygular ve ardından çıktıyı günceller.
- Ara Attention matrisini belleğe yazmayarak bellek okuma/yazma miktarını azaltır.
-
Hopper GPU'nun yeni donanım özellikleri
- WGMMA: Yeni Tensor Cores'u kullanarak yüksek throughput sağlar.
- TMA: Global bellek ile paylaşımlı bellek arasındaki veri aktarımını hızlandıran donanım birimi.
- FP8 düşük hassasiyet: FP8 kullanarak Tensor Core throughput'unu iki katına çıkarır.
-
Eşzamansızlık: GEMM ile Softmax'ı üst üste bindirme
- Üst üste bindirmenin gerekliliği: GEMM ile softmax'ı paralel yürütüp performansı en üst düzeye çıkarır.
- Ping-pong scheduling: İki warp grubu sırayla GEMM ve softmax yürütürerek performansı artırır.
- Warp grubu içinde üst üste bindirme: Aynı warp grubu içinde GEMM ile softmax paralel yürütülerek throughput artırılır.
-
Düşük hassasiyet: Tutarsız olmayan işleme ile kuantizasyon hatasını azaltma
- Tutarsız olmayan işleme: Hadamard dönüşümünü kullanarak kuantizasyon hatasını azaltır.
- Deney sonuçları: Tutarsız olmayan işleme ile kuantizasyon hatası 2.6 kat azaltılmıştır.
-
Attention benchmark'ları
- FP16: FlashAttention-2'den yaklaşık 1.6-1.8 kat daha hızlıdır.
- FP8: En fazla 1.2 PFLOPS'a ulaşır.
GN⁺ özeti
- FlashAttention-3, GPU'nun yeni donanım özelliklerinden yararlanarak Attention mekanizmasının performansını büyük ölçüde artırır.
- Uzun bağlamı verimli şekilde işleyebildiği için büyük dil modellerinin performansını en üst düzeye çıkarır.
- PyTorch gibi başlıca framework'lere entegre edilme olasılığı yüksek olduğundan, gelecekte yapay zeka araştırmaları ve uygulamaları üzerinde büyük etkisi olacaktır.
- Benzer işlevler sunan projeler arasında Triton ve cuDNN bulunur.
1 yorum
Hacker News görüşleri
Tri Dao'nun FA3 çalışmasına 2022 Nisan'da başlamış göründüğü söyleniyor
Flash Attention algoritmasının donanıma ne kadar bağımlı olduğu merak ediliyor
Derleyicilerin FlashAttention gibi optimizasyonları kendi başlarına bulup bulamayacağı merak ediliyor
ROCm/AMD MI300x'e port etmek isteyenlerin iletişime geçmesi isteniyor
TMA (Tensor Memory Accelerator), global bellek ile paylaşımlı bellek arasındaki veri aktarımını hızlandıran bir donanım birimi
FlashAttention-3, Hopper GPU'lar (ör. H100) için optimize edilmiş
Modern LLM'lerde sigmoid gibi aktivasyon fonksiyonlarının çok yavaş olduğu belirtiliyor
Değişken maskeleme varken Flash Attention'ın, maskeleme yokken olduğundan neden 5 kat daha yavaş olduğu merak ediliyor
FlashAttention'ın LLM'lerdeki attention işleminin yerini alıp alamayacağı merak ediliyor
Pahalı donanım gerekiyor