Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Flaş Dikkat

Flash Attention'ın belleği nasıl optimize ettiğini ve Transformer modellerini nasıl hızlandırdığını keşfedin. Bilgisayar görüşünü nasıl geliştirdiğini ve Ultralytics neden en iyi seçim olduğunu öğrenin.

Flash Attention, bellek erişimini daha verimli bir şekilde yöneterek Transformer modellerinin eğitimi ve çıkarımını hızlandırmak için tasarlanmış, yüksek düzeyde optimize edilmiş bir algoritmadır. Modern derin öğrenmede (DL), özellikle büyük modellerde, birincil darboğaz genellikle işlemcinin hesaplama hızı değil, bellek depolama ve hesaplama birimleri arasında veri aktarımı için gereken süredir. Flash Attention, dikkat mekanizmalarının verileri işleme şeklini yeniden düzenleyerek bu "bellek duvarını" ortadan kaldırır ve doğruluktan ödün vermeden daha hızlı performans ve daha düşük bellek kullanımı sağlar .

Flaş Dikkat Nasıl Çalışır?

Flash Attention'ı anlamak için, bir GPU Grafik İşlem Birimi) mimarisine bakmak yardımcı olabilir. Bir GPU yüksek kapasiteli ancak daha yavaş olan Yüksek Bant Genişliği Belleği (HBM) ve düşük kapasiteli ancak inanılmaz derecede hızlı olan yonga üstü SRAM'e sahiptir. Standart dikkat uygulamaları, büyük matrisleri yavaş HBM'ye tekrar tekrar okur ve yazar, bu da birikim yaratır.

Flash Attention, büyük dikkat matrisini hızlı SRAM'e tamamen sığacak şekilde daha küçük bloklara ayırmak için "döşeme" adı verilen bir teknik kullanır. Bu blokları hızlı bellekte tutarak ve sonucu geri yazmadan önce orada daha fazla hesaplama yaparak, algoritma HBM'ye yapılan okuma/yazma işlemlerinin sayısını önemli ölçüde azaltır. Bu blokları hızlı bellekte tutarak ve sonucu geri yazmadan önce burada daha fazla hesaplama gerçekleştirerek, algoritma HBM'ye yapılan okuma/yazma işlemlerinin sayısını önemli ölçüde azaltır. Stanford Üniversitesi araştırmacıları tarafından tanıtılan bu yenilik, süreci "IO-aware" hale getirir, yani veri hareketinin maliyetini açıkça hesaba katar. Teknik ayrıntıları orijinal araştırma makalesinde inceleyebilirsiniz.

İlgili Terimlerden Ayrım

Flash Attention'ı yapay zeka (AI) sözlüğündeki benzer kavramlardan ayırmak önemlidir: * Flash Attention, yapay zeka sistemlerinde bir tür öğrenme algoritmasıdır.

  • Standart Dikkat: Tam dikkat matrisini hesaplayan geleneksel uygulama. Matematiksel olarak çıktı açısından Flash Dikkat ile aynıdır, ancak bellek IO'sunu optimize etmediği için genellikle daha yavaş ve bellek yoğun bir uygulamadır.
  • Flash Dikkat: Standart dikkatin tam optimizasyonu. Yaklaşık bir sonuç vermez; tam olarak aynı sayısal sonuçları verir, sadece çok daha hızlıdır.
  • Seyrek Dikkat: Hesaplama gücünden tasarruf etmek için belirli bağlantıları göz ardı eden bir yaklaşım tekniğidir. Flash Dikkat'ten farklı olarak, seyrek dikkatyöntemleri hız için bir miktar hassasiyetten ödün verir.

Bilgisayar Görme ve YOLO'da Alaka Düzeyi

Başlangıçta uzun metin dizilerini işlemek için Doğal Dil İşleme (NLP) için geliştirilen Flash Attention, bilgisayar görüşü (CV) alanında da kritik bir öneme sahip hale gelmiştir. Yüksek çözünürlüklü görüntüler, Vision Transformers (ViT) tarafından işlendiğinde büyük veri dizileri oluşturur.

Bu teknoloji, nesne algılayıcıların geliştirilmesini etkilemektedir. Örneğin, topluluk odaklı YOLO12 gibi bazı deneysel modeller, bu ilkeleri kullanan dikkat katmanları getirmiştir. Ancak, tamamen dikkat temelli mimariler, eğitim istikrarsızlığı ve yavaş CPU muzdarip olabilir. Çoğu profesyonel uygulama için, Ultralytics önerilen standarttır. YOLO26 , uçtan uca nesne algılama ve görüntü segmentasyonu için hız ve doğruluğu dengeleyen, son derece optimize edilmiş bir mimari kullanır ve kenar cihazlarda genellikle ağır dikkat katmanlarıyla ilişkili ek yükü önler.

Gerçek Dünya Uygulamaları

Flash Attention'ın sağladığı verimlilik artışı, daha önce çok pahalı veya yavaş olduğu için çalıştırılamayan uygulamaların çalıştırılmasını mümkün kılar.

  1. Uzun Bağlamlı Üretken Yapay Zeka: GPT-4 gibi Büyük Dil Modellerinin (LLM) dünyasında, Flash Attention, modelin büyük miktarda bilgiyi "hatırlamasını" sağlar. Bu, büyük bir bağlam penceresi oluşturarak, kullanıcıların model bellek sınırları nedeniyle çökmeden metin özetlemesi için kitapların tamamını veya yasal kod tabanlarını yüklemelerine olanak tanır.
  2. Yüksek Çözünürlüklü Tıbbi Teşhis: Tıbbi görüntü analizinde ayrıntılar önemlidir. Patologlar, doku örneklerinin gigapiksel taramalarını analiz eder. Flash Attention, modellerin bu devasa görüntüleri doğal çözünürlüklerinde işlemelerine olanak tanıyarak, görüntüyü küçültmeden ve hayati verileri kaybetmeden erken aşamadaki beyin tümörleri gibi küçük anomalileri tespit eder.

Kod Örneği

Flash Attention genellikle PyTorchiçinde sıklıkla bir iç optimizasyon olsa da, Ultralytics ile dikkat tabanlı modelleri kolayca kullanabilirsiniz. Aşağıdaki kod parçacığı, bir RT-DETR modelinin nasıl yüklendiğini ve dikkat mekanizmalarını kullanarak bir görüntü üzerinde çıkarım yapıldığını göstermektedir.

from ultralytics import RTDETR

# Load a pre-trained RT-DETR model which utilizes transformer attention
model = RTDETR("rtdetr-l.pt")

# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")

Ultralytics gibi araçları kullanarak, geliştiriciler karmaşık GPU manuel olarak uygulamaya gerek kalmadan bu sofistike modelleri eğitebilir ve uygulayabilir. Platform, altyapıyı yöneterek ekiplerin yüksek kaliteli veri kümelerini düzenlemeye ve sonuçları yorumlamaya odaklanmasına olanak tanır.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın