Tüm yazılar
Matematik3 Nisan 2025

Sliding Window Attention: Uzun Bağlam için Pencere Çevirme

Tam attention $O(n^2)$'dir. Pencere sürerek bunu $O(n)$ yapan, Longformer ve Mistral'in temel tekniği.

Matematik Karavanı 5 dk okuma 5 soru
Cam pencereler — sliding window'in görsel metaforu

Tam attention sorunu

Klasik transformer attention: her token tüm diğer tokenlara bakar. nn token için n2n^2 ikili karşılaştırma.

n=2048n=2048: 4M çift. n=100Kn=100K: 10 milyar çift. Bellek ve hesap patlar.

Modern LLM'lerin uzun bağlam (32K, 128K, 1M token) sınırı bu yüzden.

Sliding window — basit fikir

Sliding window attention (SWA): her token sadece yakın komşulara baksın. Tipik pencere w=4096w=4096.

  • Token ii, [iw/2,i+w/2][i-w/2, i+w/2] aralığına bakar.
  • Diğer tokenlar görünmez.
  • Her token için sabit boyut → O(nw)=O(n)O(n \cdot w) = O(n) hesap.

Bu lineer karmaşıklık.

Niye işe yarar

Dil çoğunlukla lokal bağımlıdır. Bir cümlenin anlamı bir önceki paragrafa bağlıdır, ama 50 sayfa öncesine çok az. Yakın bağlam önemli.

Sliding window bu sezgiyi matematiksel olarak kullanır: uzak tokenları görmeme küçük kayıp, büyük hız kazancı.

Longformer (2020) — ilk büyük uygulama

Allen AI'dan Longformer modeli SWA + global attention. Lokal pencere için SWA, özel "global" tokenlar (örn. [CLS]) tüm token'lara bakar.

Bu kombinasyon: uzun belge için iyi performans. 16K bağlamla makale özetleme, soru-cevap.

Mistral 7B (2023) — modern standart

Mistral SWA'yı modern LLM'e taşıyan model oldu. Pencere boyutu 4096.

Trick: SWA + KV-cache rolling: cache büyümez. 32K bağlam, sabit bellek.

Mistral 7B aynı performansta Llama 2'den uzun bağlama sahip ve hızlı.

Etkili pencere

Sliding window'in ilginç özelliği: birden çok katmanla bilgi yayılabilir.

Pencere ww, LL katman ile etkili pencere: LwL \cdot w. 32 katman × 4096 = 131K. Yani teorik olarak son token ilk tokeni "dolaylı yoldan" görür.

Pratikte bu yayılma sınırlıdır ama yine de etkili.

Modern varyantlar

SWA'dan sonra varyantlar:

  • BigBird (2020): SWA + random + global.
  • Sparse Transformer (OpenAI): Strided attention.
  • Reformer: Locality-sensitive hashing.
  • Linear Attention: O(n)O(n) formel ama farklı yaklaşım.

Modern uzun bağlam ekosisteminin temel teknikleri.

SWA vs Mamba

Mamba state-space modeli doğal olarak O(n)O(n). SWA approximation; Mamba direkt.

Modern eğilim: hibrit modeller. Bazı katmanlar SWA, bazıları Mamba, bazıları tam attention. Her birinin avantajı farklı.

Klasik benzetme

Bir öğretmen sınıfta sınava bakıyor. Tam attention: her öğrencinin her diğerini gördüğünü hayal et. 30 kişilik sınıfta 900 göz teması.

Sliding window: her öğrenci sadece sıra arkadaşlarını görüyor. Yakındakine bakıyor. Çok daha hızlı, ama uzak öğrencilerle konuşma yok.

Akademik öğretim için bu sınırlama anlamlı. Dil işleme için de.

Sade ders

SWA hikâyesinden iki şey:

  1. Lokallik istismar edilebilir. Dil çoğunlukla lokal; tüm token'a tam attention israf. Bu sezgiyi formel kullanmak büyük verimlilik kazanır.
  2. Yaklaşım algoritmaları gerçek dünya için kritik. Tam attention idealdir ama O(n2)O(n^2) patlar. SWA "%99 doğruluk" olabilir ama "%100 ölçek" sağlar.

Bağlam

Mistral için: [[mistral-ai-avrupa-nin-open-source-cevabı]]. KV-cache için: [[kv-cache-llm-belleginin-sessiz-darbogazi]]. FlashAttention için: [[flashattention-gpu-yu-akilli-kullanan-attention]]. Mamba için: [[mamba-transformer-a-meydan-okuyan-uzun-bagimli-model]]. Transformer için: [[transformer-attention-is-all-you-need]].

Etiketler

sliding window attentionLongformerMistraluzun bağlamattention

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Sliding window attention ne yapar?

2. Niye işe yarar?

3. Etkili pencere nedir?

4. Mistral 7B'de SWA'nın rolü nedir?

5. SWA ile Mamba farkı nedir?