Çoğu insan yapay zekâyı "kara kutu" olarak görür: içine soru girer, dışına cevap çıkar, arada büyü olur. Ama arada büyü yok, şaşırtıcı derecede zarif bir fikir var. Bu yazıda o kutuyu, tek bir formül kullanmadan açıyoruz.
Amacımız sizi mühendis yapmak değil; kaputun altında ne olduğuna dair sağlam bir sezgi vermek. Çünkü modellerin nasıl çalıştığını kabaca bilen biri, onları seçerken ve kullanırken çok daha az yanılır. Hadi başlayalım.
Kuşbakışı: bir model ne yapıyor?
En temelde bir dil modeli tek bir iş yapar: eldeki metne bakıp bir sonraki parçayı tahmin etmek. Ama bu tahmini yapmak için metni önce anlaması gerekir. Bu süreç kabaca dört adımdan oluşur:
Adım 1: Metni parçalara bölmek
Model kelimeleri olduğu gibi görmez. Önce metni küçük parçalara böler; bu parçalara token denir. Bir token bazen bir kelime, bazen bir hece, bazen bir ektir. Örneğin "evlerimizden" kelimesi birkaç token'a bölünebilir.
Bu, Türkçe için özellikle önemli. Hatırlarsanız, eklerle uzayan Türkçe'de kötü bir tokenizasyon çok fazla parça üretir, bu da yavaşlık ve maliyet demektir. İşte Kumru gibi modellerin "Türkçe'ye özel tokenizer" ile övünmesinin sebebi bu: aynı cümleyi daha az token'la ifade etmek.
Adım 2: Kelimeleri anlama çevirmek
Bilgisayar kelimeleri değil sayıları anlar. Bu yüzden her token, bir sayı dizisine (bir tür "anlam koordinatına") çevrilir. Buna embedding denir. Sihir şurada: bu koordinatlar öyle yerleştirilir ki, anlamca yakın kelimeler uzayda da yakın durur.
Klasik sezgi: Bu anlam uzayında meşhur bir örnek vardır: "kral" − "erkek" + "kadın" ≈ "kraliçe". Yani model, kelimeler arasındaki ilişkileri bir çeşit harita üzerinde konum olarak öğrenir.
Adım 3: Tüm devrimin kalbi
Şimdi işin en önemli ve en zarif kısmı. 2017'de Google araştırmacılarının yayımladığı "Attention Is All You Need" (Dikkat, İhtiyacın Olan Tek Şey) başlıklı makale, yapay zekânın gidişatını değiştirdi. Getirdiği fikir: öz-dikkat (self-attention).
Fikir şaşırtıcı derecede insanca. Bir cümledeki her kelime, aynı cümledeki diğer tüm kelimelere bakıp sorar: "Benim anlamım için kim önemli?" Sonra en ilgili kelimelere daha çok "dikkat" verir. Böylece her kelimenin anlamı, içinde bulunduğu bağlama göre şekillenir.
İşte bu mekanizmanın gücü: "banka" (oturulan sıra mı, finans kurumu mu?) gibi çok anlamlı bir kelimenin doğru anlamı, çevresindeki kelimelere verilen dikkatle çözülür. Üstelik bu, cümledeki tüm kelimeler için aynı anda ve paralel yapılabilir; eski yöntemlerin (kelimeleri tek tek, sırayla işleyen) en büyük darboğazını ortadan kaldıran şey buydu. Dikkat sayesinde modeller hem uzak bağlantıları yakalayabildi hem de görülmemiş boyutlara ölçeklenebildi.
İki farklı beyin: encoder ve decoder
Orijinal Transformer iki parçadan oluşuyordu: bir encoder (kodlayıcı) ve bir decoder (kod çözücü). Zamanla insanlar bu parçaları ayrı ayrı da kullanmaya başladı ve modern modellerin çoğu bu iki felsefeden birine dayanıyor.
Encoder: anlayan beyin
Her kelime, cümlenin hem öncesine hem sonrasına bakabilir (çift yönlü). Amacı üretmek değil, anlamak.
Eğitim yöntemi: cümledeki bazı kelimeler gizlenir, model bağlamdan bunları tahmin eder (eksiği tamamlama). Anlama görevlerinde güçlüdür.
Örnek: BERT · BERTurk
Decoder: üreten beyin
Her kelime yalnızca kendinden öncekilere bakabilir (tek yönlü). Çünkü görevi bir sonrakini tahmin etmek.
Eğitim yöntemi: verilen metnin ardından gelecek sonraki token'ı tahmin eder (otoregresif üretim). Metin üretmede güçlüdür ve uzun bağlama kolay ölçeklenir.
Örnek: GPT · Kumru
Bir de ikisini birleştiren encoder-decoder modeller var: önce encoder metni anlar, sonra decoder buna dayanarak yeni metin üretir. Çeviri gibi "gireni anla, çıkanı üret" işleri için idealdir. Türkçe'de bunun güzel örneği TURNA.
Tam bir daire, Türkçe modellere bağlanıyor: Önceki yazımızdaki üç Türkçe modeli hatırlayın; artık neden farklı olduklarını biliyorsunuz: BERTurk bir encoder'dır (anlar), TURNA encoder-decoder'dır (anlar + üretir), Kumru ise bir decoder'dır (üretir).
Peki "GPT" ismi nereden geliyor?
Şimdi bulmacanın son parçası. GPT, üç kelimenin kısaltmasıdır ve her biri yukarıda anlattığımız bir şeyi özetler:
- G, Generative (Üretken): Metin üretir. Yani bir decoder'dır.
- P, Pre-trained (Ön-eğitimli): Önce devasa metinlerle genel dili öğrenir, sonra belirli işlere ince ayarlanır.
- T, Transformer: Temelinde 2017'nin o dikkat mimarisi yatar.
Yani "GPT" aslında bir marka değil, bir tarif: dikkat mimarisiyle kurulmuş, önce genel eğitilmiş, metin üreten bir model. Kumru da dâhil, bugünkü üretken modellerin çoğu bu tarifin birer yorumu.
Bunu bilmek neden işe yarar?
Mimariyi bilmek, size pratik bir sezgi kazandırır. Bir işiniz "anlama" mı (sınıflandırma, arama, duygu analizi) yoksa "üretme" mi (yazma, özet, sohbet)? Bu soru, hangi tür modele bakmanız gerektiğini baştan söyler. Encoder mı, decoder mı? Artık bu kelimeler size bir şey ifade ediyor.
Ve lleaderboard açısından: modelleri karşılaştırırken elmayı elmayla tartmak gerekir. Bir anlama modelini bir üretim modeliyle aynı sınavda yarıştırmak adil olmaz. Mimariyi anlamak, ölçmeyi de dürüst kılar.
Özet: Metin → token → embedding → dikkat → tahmin. Encoder anlar, decoder üretir, ikisi birlikte çevirir. Kara kutu sandığınız şey, aslında birkaç zarif fikrin üst üste binmesinden ibaret.
Bir şeyin nasıl çalıştığını anladığınızda, ona olan korkunuz merağa dönüşür. Umarız bu yazı, "yapay zekâ"yı biraz daha az sihir, biraz daha çok mühendislik hâline getirdi. Gerisi, bu fikirlerle ne kuracağınıza kalmış.