Dikkat mekanizması: modelin neye bakacağını öğrenmesi
Dikkat mekanizması, bir modelin girdideki hangi parçalara ne kadar önem vereceğini öğrenmesini sağlar. Sorgu, anahtar, değer mantığı ve self-attention.
Dikkat mekanizması nedir?
Dikkat mekanizması (attention), bir yapay sinir ağının girdideki her parçaya, çıktıyı üretirken ne kadar önem vereceğini öğrenmesini sağlayan yöntemdir. Bir cümle işlenirken her kelime, cümledeki diğer kelimelerle ilişkisine göre ağırlıklandırılır; önemli olanlar öne çıkar, ilgisiz olanlar geri planda kalır.
İnsan okurken de benzer şey yapar. "Kasadaki görevli kartı aldı, çünkü o kapalıydı" cümlesinde "o"nun kasaya mı karta mı işaret ettiğini bağlamdan çıkarırız. Dikkat mekanizması, modelin bu bağlamı sayısal olarak yakalamasını sağlar. Büyük dil modellerinin dayandığı Transformer mimarisinin temel yapı taşıdır.
Sorgu, anahtar ve değer: temel mantık
Dikkat hesaplaması sorgu, anahtar ve değer vektörleri üzerinden yürür. Her kelimenin gömme vektöründen öğrenilebilir dönüşümlerle bir sorgu (query), bir anahtar (key) ve bir değer (value) vektörü üretilir.
- Sorgu: Bu kelime hangi bilgiyi arıyor?
- Anahtar: Bu kelime hangi bilgiyi sunuyor?
- Değer: Bu kelime seçilirse aktaracağı içerik nedir?
Bir kelimenin sorgusu, cümledeki bütün anahtarlarla karşılaştırılır (nokta çarpımı). Çıkan skorlar anahtar boyutuna göre ölçeklenir, softmax ile toplamı bire eşit olasılıklara çevrilir ve bu ağırlıklarla değer vektörleri toplanır. Sonuçta her kelime, kendi anlamına bağlamdan gelen bilgiyi eklemiş yeni bir temsile kavuşur.
Self-attention ve çok başlı dikkat
Self-attention (öz dikkat), sorguların, anahtarların ve değerlerin aynı dizinin kendisinden gelmesidir: cümledeki her kelime aynı cümlenin diğer kelimelerine bakar. Cross-attention ise bir dizinin sorgusunun başka bir dizinin anahtar ve değerleriyle eşleşmesidir; çeviri modellerinde kaynak cümleye bakan hedef cümle gibi.
Çok başlı dikkat (multi-head attention), aynı hesaplamayı farklı öğrenilmiş dönüşümlerle paralel olarak birkaç kez yapar. Her baş farklı bir ilişkiyi yakalayabilir: biri dilbilgisel bağı, biri anlamsal yakınlığı, biri uzak mesafeli göndermeyi. Başların çıktıları birleştirilerek tek temsile dönüşür.
Dikkat neden önemli oldu?
Dikkat öncesi dönem dil modelleri, metni kelime kelime sırayla okuyan tekrarlayan ağlarla işlerdi. Bu yapılar uzun cümlede baştaki bilgiyi unutma eğilimindeydi ve paralel hesaplamaya elverişli değildi. Dikkat mekanizması, bir kelimenin dizideki herhangi bir konuma doğrudan bakabilmesini sağladı. Bu hem uzun bağlam ilişkilerini yakalamayı kolaylaştırdı hem de dizinin tüm konumlarının aynı anda işlenmesine izin vererek eğitimi grafik işlemci üzerinde hızlandırdı.
Bugünkü büyük dil modellerinin metin üretimi, çeviri, özetleme ve soru yanıtlama gibi yeteneklerinin ortak zemini bu hesaplamadır.
Sınırları ve pratikte dikkat edilecekler
Standart dikkat, dizideki her konumun her konumla eşleşmesini hesaplar. Bu nedenle maliyet, dizi uzunluğunun karesiyle büyür; çok uzun bağlam hem bellek hem hesap açısından pahalıdır. Bu sorunu azaltmak için seyrek dikkat, pencereli dikkat ve bellek verimli uygulamalar gibi varyantlar geliştirilmiştir.
Bir diğer nokta, üretici modellerde kullanılan maskelemedir: metin üretiminde model bir kelimeyi tahmin ederken yalnızca kendinden önceki kelimelere bakabilir, sonrakini göremez. Dikkat ağırlıkları görselleştirilebilir ve modelin neye baktığına dair ipucu verir; ancak yüksek ağırlık, modelin kararının tek açıklaması sayılmamalıdır.
Mindset programlarında dikkat mekanizması
Transformer Modelleri (Detaylı) programındaki Dikkat Mekanizması (Attention) modülü, mimariyi iç yüzüyle öğrenmek isteyen makine öğrenmesi mühendisleri ve araştırmacılar için ayrılmıştır. Doğal Dil İşleme için Transformer Modelleri programı, dikkat mekanizması ile BERT ve GPT ailesini birlikte ele alarak NLP ekiplerine uygulamalı zemin sunar. LLM Mimarisi ve Tasarım programı, Transformer temellerinden çıkarım mühendisliğine uzanan modülleriyle büyük dil modeli sistemi kuran ekiplere, LLM ile Veri Sorgulama (Text-to-SQL) programı ise dil modellerini veri analitiğine bağlamak isteyen veri ve yazılım ekiplerine yöneliktir.
İlgili Mindset programı
Transformer Modelleri (Detaylı)
Sık sorulan sorular
Dikkat mekanizması ile Transformer aynı şey mi?
Hayır. Dikkat mekanizması bir hesaplama yöntemidir; Transformer ise dikkat katmanlarını, ileri beslemeli ağları, normalizasyonu ve pozisyon bilgisini birleştiren tam bir mimaridir. Dikkat, Transformer'ın merkezindeki yapıdır ama başka mimarilerde de yardımcı bileşen olarak kullanılabilir.
Self-attention ile attention arasındaki fark nedir?
Attention genel yöntemdir: bir sorguyu, bir anahtar ve değer kümesiyle eşleştirir. Self-attention bu yöntemin özel hâlidir: sorgu, anahtar ve değerler aynı diziden gelir ve dizi kendi içindeki ilişkileri öğrenir. Çeviri gibi kaynak ve hedef dizisi olan görevlerde bir dizinin diğerine baktığı cross-attention kullanılır.
Dikkat ağırlıkları modelin kararını açıklar mı?
Kısmen ipucu verir, ama tek başına yeterli açıklama değildir. Yüksek dikkat ağırlığı, o kelimenin sonuca etki ettiğini garanti etmez; model birçok katman ve baş üzerinden karar verir. Açıklanabilirlik çalışmalarında dikkat görselleştirmesi diğer yöntemlerle birlikte kullanılır.
Dikkat mekanizması metin dışında da kullanılır mı?
Evet. Görüntü işlemede görüntü parçaları arasındaki ilişkiyi, ses tanımada ses karelerini, çok kipli modellerde metin ile görüntü arasındaki eşleşmeyi öğrenmek için kullanılır. Mantık aynıdır: girdideki parçalar arasında öğrenilen ağırlıkla bilgi aktarımı yapılır.