RoPE Nasıl Çalışır?
RoPE'un çalışma prensibi karmaşık sayı teorisine dayanır. Her token pozisyonu m için sorgu vektörü q_m ve anahtar vektörü k_n, boyut çiftleri üzerinden belirli açılarla döndürülür. İki token arasındaki dikkat puanı (q_m · k_n) hesaplandığında sonuç yalnızca (m-n) farkına bağlıdır; bu sayede model göreli mesafeyi öğrenir. Teknik olarak d-boyutlu vektör, d/2 adet iki boyutlu alt uzaya ayrılır. i. alt uzay için döndürme frekansı θ_i = 10000^(−2i/d) formülüyle belirlenir. Küçük i değerleri için yüksek frekans (hızlı dönen boyutlar kısa menzilli bağları yakalar), büyük i değerleri için düşük frekans (yavaş dönen boyutlar uzun menzilli yapısal bağları kodlar) elde edilir. Bu mimari, Fourier dönüşümündeki frekans ayrıştırmasına benzer bir hiyerarşi kurar. Pratikte RoPE yalnızca sorgu (Q) ve anahtar (K) vektörlerine uygulanır; değer (V) vektörlerine uygulanmaz. Bu, standart scaled dot-product attention hesaplama akışıyla tam uyumludur ve Flash Attention gibi bellek verimli kernel'larla birlikte kullanılabilir.
Mutlak Konum Gömme ile Karşılaştırma
- check_circle Sinüs/Kosinüs PE (Orijinal Transformer): Mutlak konum vektörlerini gömme matrisine ekler. Göreli konumu dolaylı olarak öğrenir; uzun dizilerde genellenebilirlik sınırlıdır. Ekstra bellek gerekmez ama göreli konum farkındalığı zayıftır.
- check_circle Öğrenilmiş Konum Gömme (GPT-2 tarzı): Her konuma ayrı parametre atanır. Eğitim penceresinin ötesinde doğrudan genelleşemez ve ekstra n_positions × d_model parametre gerektirir.
- check_circle ALiBi (Attention with Linear Biases): Dikkat puanlarına sabit doğrusal uzaklık cezası ekler. MPT ve bazı BLOOM varyantlarında kullanılır; uzun bağlamda iyi performans gösterir ancak RoPE kadar yaygınlaşmamıştır.
- check_circle RoPE: Göreli konum farkındalığını doğrudan matematiksel olarak garanti altına alır. Sıfır ek parametre, Flash Attention uyumlu ve bağlam uzatma için idealdir. Günümüz açık kaynak LLM ekosisteminin de facto standardıdır.
Bağlam Uzunluğu Genişletme Yöntemleri
RoPE'un güçlü özelliklerinden biri, eğitim sırasında görülmeyen daha uzun bağlamları çalışma zamanında destekleme potansiyelidir. Bu amaçla çeşitli genişletme yöntemleri geliştirilmiştir. YaRN (Yet Another RoPE extensioN): Düşük frekanslı boyutların döndürme açısını sıkıştırarak uzun bağlamlarda faz kaymasını önler. LLaMA ve Mistral modellerinin uzun bağlam sürümleri (32K, 128K) bu yöntemi kullanır. NTK-aware Scaling: Yüksek frekanslı boyutlarda az değişiklik, düşük frekanslı boyutlarda çok değişiklik yaparak taban (base) parametresini ölçekler. Herhangi bir ek eğitime gerek duymadan bağlamı 2-4× genişletebilir. LongRoPE: Konum gömme sıkıştırmasını doğrusal olmayan şekilde optimize ederek 2 milyon tokena kadar bağlam genişletmesine olanak tanır; Microsoft Research tarafından geliştirilmiştir. Bu yöntemlerin tümü, ek eğitim olmaksızın veya çok az ince ayar ile uygulanabilir; bu da RoPE tabanlı modelleri uzun bağlam adaptasyonu için özellikle uygun kılar.
RoPE Kullanan Başlıca Modeller
- check_circle LLaMA 1/2/3 (Meta): Meta AI'ın açık kaynak model serisi. LLaMA 2'de 4K, LLaMA 3'te 8K-128K bağlam penceresiyle standart RoPE kullanır.
- check_circle Mistral / Mixtral (Mistral AI): Mistral'ın modelleri, kayan pencereli dikkat (sliding window attention) ile RoPE'u birleştirerek verimli uzun bağlam işler.
- check_circle Gemma / Gemma 2 (Google DeepMind): Google'ın açık kaynak LLM serisi; standart transformer mimarisinde RoPE kullanır ve Gemma 2'de 8K bağlam destekler.
- check_circle Qwen Serisi (Alibaba): Qwen 1.5 ve 2.0/2.5 modelleri RoPE benimseyerek 128K bağlam penceresi destekler.
- check_circle DeepSeek (DeepSeek AI): DeepSeek-V2'de MLA (Multi-head Latent Attention) ile birlikte RoPE kullanılır; küresel dikkat katmanlarında uygulanır.
Sıkça Sorulan Sorular
- check_circle RoPE neden öğrenilmiş konum gömmeye göre tercih edilir?: Öğrenilmiş PE, eğitimde görülen maksimum konum sayısıyla sınırlıdır. RoPE ise göreli konum farkındalığını matematiksel olarak garanti eder, ekstra parametre gerektirmez ve YaRN/NTK scaling ile eğitim penceresini çalışma zamanında uzatabilir.
- check_circle RoPE hangi bileşenlere uygulanır?: Yalnızca sorgu (Q) ve anahtar (K) vektörlerine uygulanır; değer (V) vektörlerine uygulanmaz. Bu, standart dikkat hesaplamasıyla tam uyumludur.
- check_circle RoPE ve ALiBi arasındaki temel fark nedir?: ALiBi, dikkat puanlarına doğrusal bir uzaklık cezası eklerken RoPE vektörleri döndürür. RoPE teorik olarak daha zengin bir konum temsili sunar ve günümüzde çok daha yaygın kullanılmaktadır.
- check_circle RoPE tabanlı bir modeli eğitim penceresinden uzun bağlamlarda kullanabilir miyim?: Evet, YaRN veya NTK-aware scaling ile eğitim bağlam penceresinin 2-8× katı uzunluklarda çalışabilirsiniz; ancak kalite düşebilir. En güvenilir seçenek, modelin özel uzun bağlam sürümünü (örn. Mistral 128K, LLaMA 3.1 128K) kullanmaktır.