İçeriğe geç
parazade
Yapay Zeka

Öz Dikkat Nedir?

İngilizce: Self-Attention

Yayın: · Son güncelleme:

Öz Dikkat Nedir? Kısaca

Öz dikkat (self-attention), bir dizideki her öğenin aynı dizideki diğer tüm öğelere ne kadar dikkat etmesi gerektiğini hesaplayan mekanizmadır. Her kelimenin anlamını bağlamdaki diğer kelimelere göre yeniden şekillendirir ve Transformer mimarisinin temelini oluşturur.

Öz Dikkat nedir?
İçindekiler
  1. Öz dikkat nedir?
  2. Nasıl çalışır?
  3. Çok başlı dikkat
  4. Neden önemli?
  5. Sınırları

Öz dikkat nedir?

Öz dikkat (İngilizce self-attention), dikkat mekanizmasının bir dizinin kendi içine uygulanan türüdür. Bir cümledeki her kelime, aynı cümledeki diğer kelimelere bakar ve hangilerinin kendi anlamı için önemli olduğuna karar verir. Örneğin "Ali kitabı masaya bıraktı çünkü o çok ağırdı" cümlesinde "o" kelimesinin neyi kastettiğini anlamak için model, "kitap" kelimesine daha fazla dikkat vermeyi öğrenir.

Nasıl çalışır?

Her token'ın embedding vektöründen üç farklı vektör üretilir:

  • Sorgu (query): "Ben neyi arıyorum?"
  • Anahtar (key): "Ben neyi temsil ediyorum?"
  • Değer (value): "Seçilirsem hangi bilgiyi aktarırım?"

Adımlar şöyledir:

  1. Her token'ın sorgusu, tüm token'ların anahtarlarıyla nokta çarpımı yapılarak karşılaştırılır.
  2. Sonuçlar vektör boyutunun kareköküne bölünerek ölçeklenir.
  3. Softmax ile bu puanlar toplamı 1 olan dikkat ağırlıklarına çevrilir.
  4. Değer vektörleri bu ağırlıklarla toplanır; sonuç, token'ın bağlamla zenginleşmiş yeni temsilidir.

Çok başlı dikkat

Pratikte bu işlem birden fazla "baş" ile paralel yapılır. Her baş farklı bir ilişki türüne odaklanabilir: biri dil bilgisi bağlarına, bir diğeri anlam yakınlığına bakabilir. Sonuçlar birleştirilir.

Neden önemli?

  • Uzak kelimeler arasındaki ilişkiyi tek adımda kurabilir.
  • Tüm token'lar paralel işlendiği için eğitim, tekrarlayan ağlara göre çok daha hızlıdır.
  • Transformer tabanlı tüm büyük dil modellerinin çekirdeğidir.

Sınırları

Her token diğer her token'la karşılaştırıldığı için hesaplama ve bellek, dizi uzunluğunun karesiyle artar. Uzun bağlam pencerelerinde bu maliyeti azaltmak için verimli dikkat algoritmaları ve alternatif mimariler geliştirilmektedir. Öz dikkat kendi başına sıra bilgisi taşımaz; bu yüzden konum kodlamasına ihtiyaç duyar.

Sıkça Sorulan Sorular

Öz dikkat ile dikkat mekanizması arasındaki fark nedir?

Dikkat mekanizması genel bir kavramdır; sorgular bir diziden, anahtar ve değerler başka bir diziden gelebilir. Öz dikkatte ise sorgu, anahtar ve değerlerin hepsi aynı diziden üretilir.

Öz dikkat neden konum bilgisine ihtiyaç duyar?

Öz dikkat, token'ları bir küme gibi işler ve sıralarını kendiliğinden bilmez. Bu yüzden mutlak konum kodlaması ya da RoPE gibi yöntemlerle sıra bilgisi modele ayrıca eklenir.

İlgili terimler

Dikkat Mekanizması(Attention Mechanism)Dikkat mekanizması, bir sinir ağının girdinin her parçasını işlerken diğer parçalardan hangilerinin daha önemli olduğunu ağırlıklandırarak bilgiyi seçici biçimde birleştirmesini sağlayan yöntemdir.TransformerTransformer, metin gibi sıralı verileri dikkat mekanizmasıyla paralel işleyen ve büyük dil modellerinin çoğunun temelini oluşturan bir sinir ağı mimarisidir.RoPE(Rotary Positional Embedding)RoPE (Rotary Positional Embedding, döner konum kodlaması), Transformer modellerinde token'ların sırasını, sorgu ve anahtar vektörlerini konuma bağlı bir açıyla döndürerek kodlayan yöntemdir. Böylece dikkat hesabı token'lar arasındaki göreli mesafeyi doğal olarak hesaba katar.FlashAttentionFlashAttention, Transformer modellerindeki dikkat hesabını GPU bellek hiyerarşisini verimli kullanarak hızlandıran bir algoritmadır. Sonucu yaklaşık değil, birebir aynı hesaplar; ancak büyük ara matrisleri belleğe yazmadığı için uzun dizilerde çok daha az bellek kullanır.TokenToken, yapay zekâ dil modellerinin metni işlerken kullandığı en küçük birimdir; bir kelime, kelimenin bir parçası ya da bir noktalama işareti olabilir. Modellerin hızı, bağlam penceresi ve kullanım ücretleri genellikle token sayısıyla ölçülür.EmbeddingEmbedding, bir kelimenin, cümlenin, belgenin ya da görselin anlamını sayılardan oluşan bir vektörle temsil etme yöntemidir. Anlamca birbirine yakın içeriklerin vektörleri de birbirine yakın olduğu için anlamsal arama ve RAG sistemlerinin temelini oluşturur.