Simurg Okulu #1 — LLM nedir, bir soruya cevap verirken arkada ne oluyor?
Talep Vadisi'nin ilk durağı: büyük dil modeli (LLM). Model bir sonraki token'ı tahmin ederek yazar; bilgiyi bir veritabanından okumaz, eğitimde öğrendiği kalıplardan üretir. Bu yüzden hem bu kadar akıcı hem de bazen bu kadar emin bir şekilde yanılabilir.
Yol günlüğü
Talep Vadisi'ne ilk adımı attım. Vadinin girişinde bir tabela var ve üzerinde tek bir soru yazıyor: "Aradığın şeyin ne olduğunu biliyor musun?" Dürüst olayım, bilmiyordum. Her gün kullandığım sohbet asistanlarının arkasında ne olduğunu anlamadan Kaf Dağı'na tırmanmak, haritasız yola çıkmak gibi olurdu. Bu yüzden ilk bölüm en temel soruya ayrıldı: LLM nedir?
Bugün öğrendim
LLM, İngilizce "Large Language Model", yani büyük dil modeli demek. ChatGPT, Claude, Gemini ve Llama gibi ürünlerin kalbinde bu tür modeller var.
Reklam Gao Kaptan: GPU gücüne ve LLM servislerine saniyeler içinde erişin.Pod'lar saniyeler içinde; NVIDIA GPU saatlik, LLM token bazlı. OpenAI uyumlu API, air-gapped kurulum.Detaylı bilgi ›İşNetBir LLM'in yaptığı iş, kulağa şaşırtıcı derecede basit geliyor: Kendisine verilen metne bakıp bir sonraki parçanın ne olacağını tahmin etmek. Bu parçalara token deniyor. Token bazen bir kelime, bazen bir kelimenin parçası, bazen de bir noktalama işareti olabiliyor. Model bir token üretiyor, onu metnin sonuna ekliyor ve aynı işi tekrar yapıyor. Uzun ve akıcı bir cevap, aslında bu tahminin art arda yüzlerce kez yapılmasıyla ortaya çıkıyor.
Peki model neye göre tahmin ediyor? Eğitim sırasında çok büyük miktarda metin görüyor ve kelimelerin hangi bağlamda, hangi sırayla, hangi anlamla birlikte geldiğine dair kalıpları milyarlarca sayıya (parametre) işliyor. Bugünkü modellerin neredeyse hepsi, Google araştırmacılarının 2017'de yayımladığı "Attention Is All You Need" makalesinde tanıtılan transformer mimarisine dayanıyor. Bu mimarinin gücü, cümledeki her kelimenin diğer hangi kelimelere "dikkat etmesi" gerektiğini öğrenebilmesi.
Benim için en önemli ders şu oldu: LLM bir veritabanı değil. Bir soruya cevap verirken bilgiyi bir kayıttan okumuyor, öğrendiği kalıplardan yeniden üretiyor. Bu yüzden hem bu kadar doğal konuşabiliyor hem de bazen hiç var olmayan bir kaynağı ya da sürüm numarasını büyük bir özgüvenle yazabiliyor. Buna halüsinasyon deniyor; İstiğna Vadisi'nde ona ayrıca döneceğim.
Tüyü yaktım
Simurg'un tüyünü yaktım, yani bu yazıyı hazırlarken bir modelden gerçek bir iş istedim: "Token'ı 10 yaşındaki birine bir cümleyle anlat." Aldığım cevap şuydu: "Token, yapay zekânın metni okurken kullandığı küçük yapboz parçalarıdır; bazen bir kelime, bazen kelimenin bir parçasıdır."
Fena değil, hatta benim üç paragrafta anlatmaya çalıştığımdan daha kısa. Ama dikkatimi çeken şu oldu: "Bazen kelimenin bir parçası" kısmı, bunu bilmeyen biri için hâlâ havada kalıyor. Model doğru söyledi ama örnek vermedi; ben "örnek de ver" diye sormadıkça vermeyecekti. İlk dersim: Ne istediğini ne kadar açık söylersen, o kadar iyi cevap alıyorsun. Bu da beni bir sonraki konuya, prompt'a götürüyor.
Heybeme koyduğum
LLM bir sonraki token'ı tahmin eden bir motor; akıcılığı da yanılgıları da buradan geliyor.
Kafama takılan
Model kelimeleri değil token'ları görüyorsa, Türkçe gibi eklerle uzayan bir dilde "gidemeyeceklermiş" gibi bir kelimeyi nasıl parçalıyor? Ve bu, Türkçe cevapların kalitesini etkiliyor mu? Ağabeyimle ablamın bu konuda bir fikri vardır; ikisi de muhtemelen birbirine zıt.
Son söz
Bir sonraki bölümde Talep Vadisi'nde bir adım daha atıp token ve context window konusuna gireceğim: Model bir seferde ne kadar metin "aklında tutabiliyor" ve bu sınır dolunca ne oluyor? Kaynak: Vaswani ve arkadaşları, Attention Is All You Need (2017).