Kayan Pencere Dikkati (Sliding Window Attention)

Transformer'larda her tokenın yalnızca yakın komşu tokenlara dikkat ettiği, O(n²) tam dikkat yerine O(n·w) karmaşıklık sunan verimli attention yöntemi.

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. Tam dikkat mekanizmasında n uzunluğundaki bir dizi için n² çift dikkat hesaplamak gerekir; bu, 8.192 token uzunluğunda bile yaklaşık 67 milyon hesaplama anlamına gelir. Kayan Pencere Dikkati'nde her token yalnızca kendi konumunun w/2 soluna ve sağına dikkat eder. Pencere dizi boyunca kaydırılır ve bellek tüketimi sabit kalır. Mistral 7B bu mekanizmayı temel attention 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. BigBird modeli de benzer bir yaklaşımla yerel, global ve rastgele dikkat kombinasyonunu kullanır. Kayan Pencere Dikkati, uzak tokenlara doğrudan erişimi kısıtladığından bazı görevlerde tam dikkate kıyasla dezavantaj yaratabilir. Bu sınırlamayı aşmak için genellikle dönüşümlü katmanlar kullanılır: modelin bazı katmanları tam dikkat, bazıları ise kayan pencere dikkati uygular. Mistral bu stratejiyi benimseyerek hesaplama verimliliğini korurken uzun menzilli bağımlılıkları yönetme kapasitesini de sürdürür. Uzun bağlamlı uygulamaların giderek yaygınlaşmasıyla birlikte — hukuk belgeleri analizi, uzun kod tabanları, bilimsel makaleler — Kayan Pencere Dikkati ve benzeri verimlilik teknikleri (Flash Attention, GQA) LLM altyapısının temel bileşenleri haline gelmiştir. GPT-4 Turbo ve Claude'un 200K token desteği gibi örnekler, bu tür verimlilik mekanizmalarının önkoşulluğunu ortaya koymaktadır. Hukuk belgesi analizi, kod tabanı inceleme ve uzun bilimsel raporların özetlenmesi bu mekanizmanın doğrudan yararlı olduğu alanlardır.

Kayan Pencere Dikkati Nedir?

Kayan Pencere Dikkati (Sliding Window Attention), transformer mimarisinde her tokenın yalnızca belirli bir pencere boyutundaki komşu tokenlara dikkat ettiği verimlilik tekniğidir. Klasik tam dikkat O(n²) bellek ve hesaplama karmaşıklığına yol açarken SWA bunu O(n·w) düzeyine indirir. Her token, kendi konumunun w/2 soluna ve w/2 sağına dikkat eder; pencere dizi boyunca sabit boyutla kaydırılır ve hesaplama maliyeti sabit kalır.

Tam Dikkat ile Karşılaştırma

n uzunluğundaki bir dizide tam dikkat n² adet dikkat çifti hesaplar. 8.192 token için bu yaklaşık 67 milyon çift anlamına gelir; bellek tüketimi de buna paralel büyür. Kayan Pencere Dikkati'nde her token yalnızca 2w komşusuyla ilişkilendirilir; toplam hesaplama n·w ile orantılı kalır. Pratik pencere boyutu genellikle 512–4.096 token arasındadır. Bu sayede aynı GPU'da çok daha uzun diziler işlenebilir.

Temel Modeller ve Kullanım Biçimleri

  • check_circle Mistral 7B: Dönüşümlü katman stratejisi uygular: bazı katmanlarda tam dikkat, bazılarında kayan pencere dikkati. Bu sayede hem uzak bağımlılıkları yönetir hem de hesaplama verimliliğini korur.
  • check_circle Longformer: Yerel kayan pencere dikkatini, CLS tokeni gibi belge temsilcisi global dikkat tokenleriyle birleştirir. Uzun belge sınıflandırma ve soru-cevap görevlerinde BERT'ten belirgin biçimde verimlidir.
  • check_circle BigBird: Yerel kayan pencere, global dikkat ve rastgele dikkat kombinasyonunu kullanır. Teorik olarak tam dikketin herhangi bir işlevini gerçekleştirebileceği kanıtlanmıştır (universal approximator).

Sınırlamalar ve Çözüm Stratejileri

Kayan Pencere Dikkati, uzak tokenlara doğrudan erişimi kısıtladığından bazı görevlerde — özellikle uzun menzilli bağımlılıklar gerektiren metinlerde — tam dikkate kıyasla dezavantaj yaratabilir. Bu sorunu gidermek için iki strateji yaygındır: (1) dönüşümlü katman tasarımı (bazı katmanlar tam dikkat uygular), (2) global dikkat tokenleri (CLS ya da görev odaklı özel tokenlar tüm diziyle ilişkilendirilir).

Uzun Bağlamlı LLM'lerdeki Rolü

GPT-4 Turbo'nun 128K, Claude'un 200K token desteği gibi örnekler, uzun bağlamlı çıkarımın giderek önem kazandığını göstermektedir. Flash Attention ve Grouped Query Attention (GQA) ile birlikte Kayan Pencere Dikkati, bu tür kapasitelerin altyapısal ön koşullarından biridir. Hukuk belgesi analizi, kod tabanı inceleme ve uzun bilimsel raporların özetlenmesi bu mekanizmanın doğrudan yararlı olduğu alanlardır.

Sık Sorulan Sorular

  • check_circle Kayan Pencere Dikkati neden tam dikkate göre daha verimlidir?: Her tokenın yalnızca w komşusuyla ilişkilendirilmesi hesaplama karmaşıklığını O(n²)'den O(n·w)'ye düşürür; uzun dizilerde bu fark katlanarak artar.
  • check_circle Bu yöntemle uzak tokenlara nasıl erişilir?: Dönüşümlü tam dikkat katmanları veya global dikkat tokenleri (CLS) aracılığıyla dolaylı erişim sağlanır. Longformer ve Mistral bu stratejileri kullanır.
  • check_circle Pencere boyutu nasıl seçilir?: Görev ve GPU belleğine göre değişir. Tipik değerler 512–4.096 token arasındadır. Küçük pencere daha hızlı çıkarım sunarken uzak bağımlılıkları kaçırma riskini artırır.
  • check_circle Flash Attention ile farkı nedir?: Flash Attention, tam dikkatin IO verimliliğini optimize eder (hesaplama değişmez, bellek erişim modeli değişir). Kayan Pencere Dikkati ise hesaplamanın kendisini kısıtlayarak karmaşıklığı azaltır. İkisi birbirini tamamlar ve birlikte kullanılabilir.