Positional Encoding (Konum Kodlama (Positional Encoding))

Transformer modellerinde token'ların dizi içindeki sıralarını temsil etmek için embedding vektörlerine eklenen sayısal kodlama yöntemi.

Konum Kodlama (Positional Encoding), Transformer mimarisinin temel bileşenlerinden biridir. Geleneksel Tekrarlayan Sinir Ağları (RNN) ve LSTM modelleri token'ları sırayla işleyerek doğal olarak konum bilgisini korur; Transformer modelleri ise tüm token'ları aynı anda paralel biçimde işler. Bu yaklaşım hesapsal açıdan büyük bir avantaj sunarken, modelin dizideki sıra bilgisini doğrudan elde edememesi anlamına gelir. Konum kodlama bu sorunu çözer: her token'ın öğrenilmiş embedding vektörüne, o token'ın dizideki konumunu temsil eden sayısal bir vektör eklenir. Örneğin "Kedi fareyi kovaladı" cümlesinde "kedi" kelimesi 1. konumda, "fareyi" 2. konumda yer alır; bu iki konumun farklı konum vektörleri sayesinde model sözcüklerin sıralamasını anlayabilir. Sinüzoidal Konum Kodlama, orijinal "Attention Is All You Need" makalesinde (Vaswani ve diğerleri, 2017) kullanılmış yöntemdir. Bu yaklaşımda her konum için sinüs ve kosinüs fonksiyonları hesaplanır: PE(pos, 2i) = sin(pos / 10000^(2i/d)) ve PE(pos, 2i+1) = cos(pos / 10000^(2i/d)). Farklı frekanstaki dalgalar sayesinde her konum benzersiz bir imzaya sahip olur; bu vektörler öğrenilmez, eğitim sırasında sabit kalır. BERT ve GPT-2 gibi modeller, konum bilgisini eğitim sırasında veri üzerinden öğrenir. Bu öğrenilmiş konum gömmeleri daha esnek bir yapı sunmakla birlikte eğitimde görülmemiş dizi uzunluklarına genelleme yapmakta zorlanabilir. RoPE (Rotary Position Embedding), LLaMA, Mistral, Gemma ve Qwen ailesi gibi modern dil modellerinin büyük çoğunluğunun tercih ettiği bir yöntemdir. RoPE, konum bilgisini döndürme matrisleri aracılığıyla dikkat mekanizmasına doğrudan entegre eder. Hem mutlak hem göreli konum bilgisini etkin biçimde kodlar; uzun bağlam uzunluklarına genelleme konusunda önceki yöntemlere kıyasla belirgin üstünlük gösterir. ALiBi (Attention with Linear Biases) ise dikkat puanlarına konum farkına dayalı doğrusal bir ceza ekler. Bu tasarım, modeli eğitimde hiç görmediği dizi uzunluklarına genellemeye yardımcı olur ve bellek açısından verimli bir çözüm sunar. Konum kodlamasının seçimi modelin bağlam penceresi boyutunu, çok dilli performansını ve hesapsal verimini doğrudan etkiler. Bu nedenle büyük dil modeli araştırmalarında, özellikle uzun bağlam penceresi geliştirme çalışmalarında, aktif olarak araştırılan bir alan olmayı sürdürmektedir.

Neden Konum Bilgisi Gerekli?

Transformer modelleri, tüm token'ları aynı anda işleyen paralel bir mimari kullanır. RNN ve LSTM gibi geleneksel modeller token'ları sırayla işlediği için sıralama bilgisini doğal olarak kazanır; Transformer bu avantajdan yoksundur. Dikkat mekanizması (self-attention), bir token'ın diğerleriyle ilişkisini hesaplarken yalnızca içeriğe bakar; hangi token'ın nerede olduğuna dair herhangi bir bilgi taşımaz. Bu durum ciddi bir semantik sorun yaratır: 'Kedi fareyi kovaladı' ile 'Fare kediyi kovaladı' cümlelerindeki kelimeler aynı embedding'lere sahipse model bu iki cümleyi ayırt edemez. Konum kodlama, her token embedding'ine o token'ın sırasını taşıyan bir vektör ekleyerek bu boşluğu kapatır.

Sinüzoidal Konum Kodlama

Orijinal Transformer makalesinde (Vaswani et al., 2017) önerilen sinüzoidal yöntem, her konum için farklı frekanslardaki sinüs ve kosinüs fonksiyonlarını kullanır. Çift indeksler için sin(pos / 10000^(2i/d)), tek indeksler için cos(pos / 10000^(2i/d)) formülleri uygulanır. Burada pos dizideki konum numarası, i boyut indeksi, d_model ise embedding boyutudur. Düşük frekanslı bileşenler geniş konum aralıklarını, yüksek frekanslılar dar aralıkları temsil eder; bu sayede her konum matematiksel olarak benzersiz bir iz bırakır. Bu vektörler eğitimle öğrenilmez, saf matematiksel hesaplamayla belirlenir; dolayısıyla model ilke olarak eğitimde görmediği daha uzun dizilere genelleme yapabilir.

Öğrenilmiş Konum Gömmeleri

BERT, GPT ve birçok ilk nesil büyük dil modeli, sabit sinüzoidal formüller yerine konum bilgisini doğrudan veriden öğrenir. Modelin parametre tablosunda her konum için ayrı bir vektör bulunur; bu vektörler eğitim sırasında diğer model ağırlıklarıyla birlikte güncellenir. Öğrenilmiş yöntemin avantajı, modelin görev ve dil özelliklerine uygun konum temsillerini keşfetmesidir. Dezavantajı ise sınırlı genelleme kapasitesidir: modelin izin verilen maksimum uzunluğu sabit olup eğitim sırasında belirlenir. Daha uzun bağlamlar için konum enterpolasyonu gibi ek teknikler gerekir.

RoPE ve Modern Yaklaşımlar

Rotary Position Embedding (RoPE), Su ve diğerleri tarafından 2021 yılında önerilen ve günümüzde yaygın biçimde kullanılan bir yöntemdir. RoPE, konum bilgisini embedding'lere doğrudan eklemek yerine dikkat mekanizmasındaki sorgu (query) ve anahtar (key) vektörlerini konum bazlı döndürme matrisleriyle dönüştürür. Bu tasarım hem mutlak konumu hem de iki token arasındaki göreli uzaklığı aynı anda kodlar. LLaMA, Mistral, Gemma, Qwen ve daha birçok modern açık kaynak modeli RoPE'u tercih eder. ALiBi (Attention with Linear Biases) ise dikkat puanlarına konum farkıyla orantılı bir ceza ekleyerek çalışır ve eğitimde görmediği uzun dizilere daha iyi genelleme yapabilir.

Bağlam Uzunluğu ve Genelleme

Konum kodlamasının seçimi, modelin etkin bağlam penceresi boyutunu doğrudan belirler. 128K–1M token'lık bağlam pencereli modellerin ortaya çıkması, konum genellemesini kritik bir araştırma sorusu haline getirmiştir. Yalnızca 2K-4K token üzerinde eğitilen modellerin bağlam penceresini genişletmek için konum enterpolasyonu, NTK-aware ölçekleme ve YaRN (Yet another RoPE extensioN) gibi teknikler geliştirilmiştir. RoPE tabanlı modeller bu genişletme tekniklerine özellikle iyi yanıt verir. Öğrenilmiş konumlu modeller ise ekstrapolasyon yerine interpolasyon gerektirir ve genellikle daha sınırlı bir genişleme kapasitesi sunar.

help Sık Sorulan Sorular

  • check_circle Konum kodlama olmasa Transformer ne kaybeder? Token sırası tamamen kaybolur. Model 'Kedi fareyi kovaladı' ile 'Fare kediyi kovaladı' cümlelerini özdeş olarak algılar; sıra bağımlı tüm anlam ilişkileri ortadan kalkar.
  • check_circle RoPE neden sinüzoidal yöntemden daha iyi? RoPE, konum bilgisini dikkat hesaplamasına doğrudan entegre ettiği için hem mutlak hem göreli konum bilgisini aynı anda kodlar. Uzun bağlam genellemesinde belirgin üstünlük gösterir ve modern LLM'lerin büyük çoğunluğu tarafından tercih edilir.
  • check_circle BERT ve GPT farklı konum kodlama mı kullanır? BERT ve orijinal GPT, öğrenilmiş konum gömmelerini (learned positional embeddings) kullanır. GPT-4 gibi daha yeni modeller RoPE veya benzer gelişmiş tekniklere geçiş yapmıştır.
  • check_circle Bağlam uzunluğunu artırmak için konum kodlaması nasıl uyarlanır? RoPE tabanlı modellerde konum enterpolasyonu, NTK-aware ölçekleme veya YaRN gibi tekniklerle eğitim sonrası bağlam penceresi genişletilebilir. Bu teknikler mevcut ağırlıkları korurken konum bileşenlerini yeniden ölçekler.
  • check_circle Konum kodlaması görüntü ve ses modellerinde de kullanılır mı? Evet. Vision Transformer (ViT) görüntü yamalarını (patch) bir dizi olarak işler ve 2D konum gömmeleri kullanır. Ses modellerinde de benzer teknikler uygulanır; zaman eksenine özgü özel yöntemler de mevcuttur.