Kayan Pencere Dikkati (Sliding Window Attention)

Her tokenin yalnızca yakın komşularına dikkat ederek uzun dizileri verimli işleyen attention mekanizması.

Kayan Pencere Dikkati (Sliding Window Attention, SWA), transformer mimarisinde her tokenın bütün diziye değil yalnızca belirli bir pencere boyutundaki komşu tokenlara dikkat ettiği verimli bir attention yöntemidir. Klasik tam dikkat (full self-attention) O(n²) bellek ve hesaplama karmaşıklığına yol açarken, kayan pencere yaklaşımı bunu O(n·w) düzeyine indirir; burada w, pencere boyutunu gösterir. Mistral 7B bu mekanizmayı temel dikkat katmanlarında benimseyerek hem çıkarım hızını artırmış hem de uzun bağlam işleme kapasitesini genişletmiştir. Longformer ise yerel kayan pencereyi, belgelerin tamamını temsil eden global dikkat tokenleriyle birleştirerek soru-cevap ve özetleme görevlerinde başarılı sonuçlar elde etmiştir.

Nasıl Çalışır?

Her token, dizideki konumundan itibaren ±w/2 uzaklığındaki tokenlara dikkat eder; pencere dışındaki tokenlar maskelenir. Bu sayede: • **Bellek tasarrufu:** Tüm dizinin attention matrisini belleğe almak yerine yalnızca pencere içindeki tokenlar işlenir. • **Hesaplama hızı:** Uzun dizilerde tam dikkatten çok daha hızlı çalışır. • **Yerel bağlam:** Dil modelleme için yerel bağlam genellikle en bilgi verici kısımdır; kayan pencere bu önceliklendirmeyi yansıtır. Bazı mimarilerde belirli katmanlar tam dikkat, diğerleri kayan pencere kullanır; bu karma yapı hem yerel hem uzak bağlamı yakalar.

Kayan Pencere Dikkat Mekanizması

  • check_circle Standart Attention'ın Sorunu: Tam self-attention: her token diğer tüm token'lara dikkat eder. Hesaplama maliyeti: O(n²) — 100K token için 10 milyar çift. Bellek: n²'ye orantılı KV cache — uzun bağlam ile GPU'yu doldurur. Bu sınır standart transformerın uzun belge analizinde pratik kullanımını kısıtlar.
  • check_circle Kayan Pencere Çözümü: Her token yalnızca w (pencere) komşusuna dikkat eder. Hesaplama: O(n × w) — w sabitse doğrusal ölçeklenir. Mistral 7B: 4096 token pencere + KV cache yönetimi ile etkin 8192+ token bağlam. Bilgi iletimi: birden fazla katman üst üste geldikçe uzak token'lar dolaylı olarak birbirini etkileyebilir.
  • check_circle Hybrid Attention: Global + yerel attention kombinasyonu. Longformer: bazı token'lar (CLS, sorgu) tüm diziye dikkat eder; diğerleri yerel pencereye. BigBird: kayan pencere + rastgele + global attention. Mistral MoE: bazı katmanlarda tam, bazılarında kayan pencere.

Sliding Window Attention Kullanan Modeller

Mistral 7B: sliding window attention ile 8K bağlam, KV cache yönetimi. Mixtral 8×7B: her katmanda sliding window kullanarak uzun bağlam. Gemma 2: GQA (Grouped Query Attention) + sliding window hibrid. Flash Attention ile birleşim: IO-aware hesaplama ile kayan pencere GPU belleği verimliliği artıyor. Ring Attention: dağıtık sistemlerde kayan pencereyi birden fazla GPU'ya yayma. Sınır: pencere dışındaki bilgiye doğrudan erişim yok — çok uzak bağlam referansları kaçırılabilir. Yama: rope embedding uzaklığı kodlayarak çok uzak token'ların daha düşük ağırlık almasını sağlar.