Flaş Dikkati
Flash Attention, dev dikkat matrisini yavaş belleğe hiç yazmadan, Transformers'ın içindeki dikkat adımını hesaplamanın akıllıca bir yoludur.
Genel Bakış
It makes long-context models far faster and more memory-efficient without changing their math.
Derin Dalış
Standart dikkat, her jetonu diğer jetonlarla karşılaştırır ve dizi uzunluğuyla karesel olarak büyüyen bir N'ye N puan matrisi üretir. Safça, bu matris GPU yüksek bant genişliğine sahip belleğe (HBM) yazılır ve buradan geri okunur ve asıl darboğaz çarpmalar değil, bu mekiktir. Tri Dao ve meslektaşları tarafından 2022'de tanıtılan Flash Attention, matrisin hiçbir zaman tam olarak saklanmaması için hesaplamayı yeniden düzenliyor. Hızlı çip üzerindeki SRAM'e sığan küçük kutucuklardaki sorguları, anahtarları ve değerleri işler, kısmi sonuçları hesaplar ve çevrimiçi çalışan bir softmax hilesi kullanarak bunları birleştirir. Çıktı matematiksel olarak sıradan dikkatin aynısıdır ancak doğrusal bellek kullanır ve özellikle uzun dizilerde birkaç kat daha hızlı çalışır.
Teknik Bilgi
İşin püf noktası döşeme artı çevrimiçi softmax'tır. Softmax normalde paydasını hesaplamak için tüm puan satırına ihtiyaç duyar, ancak Flash Attention, her döşemeyi aktarırken devam eden maksimumu ve devam eden toplamı tutar ve nihai sonucun kesin olması için daha önceki kısmi çıktıları yeniden ölçeklendirir. Ara puanlar SRAM'de (HBM'den çok daha hızlı) kaldığından, algoritma IO-farkındadır: ham aritmetik işlemler yerine bellek okuma ve yazma işlemlerini en aza indirir.
Stratejik Etki
Maliyet ve bütçe
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Daha net kararlar
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Quality control
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
Flash Dikkatinin Geleceği
Flash Attention, FlashAttention-2 ve FlashAttention-3'ün, iş bölümlemeyi geliştirerek ve düşük hassasiyetli FP8 yollarından yararlanarak H100 gibi daha yeni GPU'lardan daha fazla verim elde etmesiyle varsayılan bir yapı taşı haline geldi. Donanımla sürekli ortak tasarım, eğitim ve çıkarım çerçevelerine daha sıkı entegrasyon ve seyrek, kayan pencere ve çok uzun bağlam dikkatine göre ayarlanmış değişkenler bekleyebilirsiniz. Bağlam pencereleri milyonlarca jetona doğru genişledikçe, bunun gibi GÇ uyumlu çekirdekler belleği ve hızı pratik tutmak için temel olmaya devam ediyor.
Gerçek Dünya Uygulaması
Daha düşük bellek maliyetiyle daha uzun bağlam pencereleriyle Llama ve GPT sınıfı sistemler gibi büyük dil modellerinin eğitimi.
Uzun bir istemin ilk kez okunduğu ön doldurma aşamasını hızlandırarak sohbet asistanlarına daha hızlı hizmet vermek.
Tek bir GPU'da uzun sıralı dikkati mümkün kılarak kitapların veya kod tabanlarının tamamını alan belge analiz araçlarının etkinleştirilmesi.
Yüksek çözünürlüklü girişlerin çok uzun simge dizileri oluşturduğu görüntü ve ses Transformatörlerine güç verilmesi.
Riskler ve Korkuluklar
Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.
Altyapı ve bakım maliyetleri genellikle hafife alınır.
Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.
Uygulama Yol Haritası
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Keşfetmeye Devam Edin
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Flash Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
Dikkat Açma ve Kafa Budama
Sık sorulan sorular
What is Flash Attention?
Flash Attention, dev dikkat matrisini yavaş belleğe hiç yazmadan, Transformers'ın içindeki dikkat adımını hesaplamanın akıllıca bir yoludur. Uzun bağlamlı modelleri, matematiklerini değiştirmeden çok daha hızlı ve bellek açısından daha verimli hale getirir.
Flash Attention'ın hedeflediği ana darboğaz nedir?
Flash Attention, IO-farkındadır: hızlı çip üzerindeki SRAM ile yavaş, yüksek bant genişlikli bellek arasında gidip gelen verileri azaltır; bu, aritmetiğin kendisinden ziyade gerçek darboğazdır.
Flash Attention N'ye N dikkat matrisinin tamamının saklanmasını nasıl önler?
Hesaplamayı, her bloğun hızlı SRAM'a sığacağı şekilde döşer, matrisin tamamını HBM'de gerçekleştirmeden kısmi çıktıları hesaplar ve biriktirir.
Hangi teknik Flash Attention'ın tüm satırı aynı anda görmeden softmax'ı doğru hesaplamasını sağlar?
Çevrimiçi softmax, döşemeleri aktarırken çalışan bir maksimumu ve çalışan paydayı korur, daha önceki kısmi çıktıları yeniden ölçeklendirerek son normalleştirmenin tam olmasını sağlar.
Flash Attention neden en çok uzun dizilerde yardımcı oluyor?
Saf dikkat matrisi bellekte N-kare olarak ölçeklenir, bu nedenle tam depolamadan kaçınmak, tam olarak diziler uzun olduğunda en büyük tasarrufu sağlar.
Flash Attention'ın 'GÇ uyumlu' tasarımı neyi en aza indirmeye öncelik verir?
GÇ bilinçli, algoritmanın, aritmetik işlemler yerine HBM trafiğini en aza indirerek, bellek hiyerarşisinde veri taşıma maliyetine göre tasarlandığı anlamına gelir.