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.