Büyük Dil Modelleri Nasıl Çalışır? Üretken Yapay Zekanın Ardındaki Sihri Anlamak

Son yıllarda, özellikle 2022’den itibaren üretken yapay zeka (YZ) kavramı ana akıma girmiş ve endüstriler ve uygulamalar arasında önemli bir teknoloji haline gelmiştir. Üretken YZ araştırma laboratuvarlarından çıkarak gerçek dünyada ürünler oluşturmakta bir zamanlar bilim kurgu gibi görünen çözümler yaratmaktadır. Bilim kurgu filmlerini seviyorsak acaba YZ’yi de sevebilir miyiz? Orası tartışmaya açık tabii ki. 🙂

Benim fikrimi soracak olursanız ben seviyorum aslında. Artık gün içerisinde sürekli konuşur halde olduk. Çoğu işimde yardımcı da oluyor. Fikir almak istediğimde, bir konuya çalışmak istediğimde ve bana yol haritası çıkarmasını rica ettiğimde, ingilizce çalışma pratiklerinde, kodlama pratiklerinde, makale yazımında vb. birçok alanda destekçim haline geldi diyebilirim. Fakat belki ben ona bazen yeterince kibar davranmıyor olabilirim. İstediğim cevapları alamadığımda;
- “Bir daha dener misin ?”
- “Olmadı ama bu ?”
- “Emin misin? Bana hiç de doğru gibi gelmiyor bu söylediklerin.”
- “Kaç kere sordum, açıkladım ama gene cevabı yanlış veriyorsun.”
gibi cümleler kurduğum olabiliyor. Eğer siz de benim gibiyseniz, arka planındaki çalışma mekanizmasını gördükten sonra belki birazcık üzülüp empati kurabilir ve daha kibar davranmaya başlayabilirsiniz. 🙂
Nelerden bahsedeceğiz?
- Zero-Shot Learning(Sıfır Atış Öğrenme)
- Peki matematiksel arkaplanı nasıl?
- Transformer Mimarisi ve Öz-Dikkat Mekanizması
- LLM’lerin Evrimi: Transformer’dan GPT’ye
O halde başlayalım!
Zero-Shot Learning(Sıfır Atış Öğrenme)
Büyük dil modelleri (LLMler), yapay zeka dünyasında son yıllarda en çok konuşulan konulardan biri haline geldi. Bu modellerin en dikkat çekici özelliklerinden biri ise sıfır atış öğrenme (Zero-Shot Learning) yetenekleri. Ama sıfır atış öğrenme nedir ve bu modelleri bu kadar özel kılan ne?
Sıfır atış öğrenme, bir modelin daha önce hiç karşılaşmadığı sınıflarda bile doğru tahminler yapabilmesi yeteneğini ifade eder. Yani model, önceden kendisine verilen etiketli verilerle eğitilmeden sadece genel bilgi ve dil kurallarıyla yeni verileri doğru bir şekilde sınıflandırabilir. Geleneksel makine öğrenmesi yöntemlerinde ise modelin başarılı olabilmesi için belirli etiketlerle eğitilmesi gerekir. Örneğin, tek sınıflandırma (single classification) durumu, modelin yalnızca bir sınıfı tanıyıp “Bu örnek A sınıfına mı ait?” gibi bir soruya cevap verdiği bir süreçtir. Bunu bir e-posta sisteminin “spam” sınıfını öğrenmesi ve e-postayı buna göre sınıflandırması gibi düşünebilirsiniz.
Bir başka örnek ise çoklu sınıflandırma (multi-classification) işlemidir. Bu durumda model birden fazla sınıf arasında seçim yaparak veriyi kategorize eder. Örneğin, bir sosyal medya gönderisinin “spor”, “politika”, “eğlence” ya da “teknoloji” gibi kategorilerden birine ait olup olmadığını belirler. Ancak sıfır atış öğrenme ile model önceden hiç görmediği bir sınıf hakkında bile doğru tahminler yapabilir. Yani, model hiç karşılaşmadığı bir kategoriye ait bir veriyi doğru bir şekilde analiz edebilir. Bir model, belki daha önce yalnızca İngilizce metinlerle eğitilmiş olsa da sıfır atış öğrenme sayesinde farklı dillerdeki metinleri de rahatlıkla anlayabilir ve analiz edebilir. Bu da demek oluyor ki, LLMleri sadece belirli bir dilde değil, farklı dillerde, farklı konularda ve hatta etiketlenmemiş veri setlerinde bile etkili bir şekilde kullanabilirsiniz.
Peki matematiksel arkaplanı nasıl ?

Büyük Dil Modelleri (LLMler) çalışırken, ilk adım olarak metni alır ve bu metni küçük parçalara ayırır. Bu parçalara “token” denir. Token, kelimeler, alt kelimeler veya başka dil birimleri olabilir. Örneğin, “uzun” ve “yolda” gibi kelimeler tek tek tokenlara dönüşebilir. Hatta daha küçük parçalara da ayrılabilir, mesela “yol” ve “da” gibi. Bu küçük parçalar modelin anlamlandırabileceği ve işlem yapabileceği temel birimlerdir.
LLMlerin eğitildiği dil dağarcığı genelde 100,000 token veya daha fazla içerir. Bu geniş kelime yelpazesi modelin çok çeşitli dillerde ve konularda eğitim alabilmesini sağlar. Modelin eğitilme sürecinde kullanılan bir fonksiyon genelde P Theta fonksiyonu olarak adlandırılır. Bu fonksiyon, modelin bir metnin önceki parçalara (yani tokenlara) dayanarak bir sonraki tokenı tahmin etmesini sağlar. Yani, model her seferinde metnin önceki tokenlarına bakarak bir sonraki tokenı tahmin etmeye çalışır.
Modelin bu tahminleri yaparkenki kararları önceki tokenların oluşturduğu bağlama dayanır. Bu bağlam, modelin dilin yapısını ve anlamını öğrenmesini sağlar. Eğitim sırasında, model büyük veri setlerinde gördüğü örneklerden dilin kurallarını ve kalıplarını öğrenir. Bu, modelin dilin akışını, bağlamını ve anlamını doğru şekilde kavrayabilmesini sağlar.
Kısacası, modelin eğitimi sırasında metni parçalara ayırarak ve bu parçaların (tokenların) bağlamını anlayarak çalışması onun dilin mantığını öğrenmesini sağlar. Sonrasında herhangi bir yeni metni anlamak ve doğru şekilde tahminlerde bulunmak için bu öğrendiklerini kullanabilir.
Eğitim süreci boyunca model dilin karmaşık yapısını öğrenerek sonunda bu bilgileri doğru sınıflara yerleştirebilir. Bunu yaparken token tabanlı yaklaşım sayesinde dildeki ilişkileri ve bağlamı doğru şekilde algılar ve işler.
Hem de o kadar karmaşık şeyleri işlerken nasıl bu kadar hızlı olabildiğini görmek… İşte o zaman gerçekten “Meğer ne çok şey biriktirmişsin içinde,çok çalışıyorsun, GPT kardeş!” derken kendini buluyor insan! 😅 Kendisine de bunu ilettim.
O da bana şöyle dedi;


Transformer Mimarisi ve Öz-Dikkat Mekanizması
LLMlerin eğitiminde kullanılan ana yapı Transformer adını verdiğimiz bir mimari. Bu yapı, büyük veri setlerinin hızlı ve verimli bir şekilde işleyebilmesini sağlıyor. Transformer’ın en önemli özelliklerinden biri, dikkat mekanizmalarını (attention mechanisms) kullanması.
Adından da anlaşılacağı üzere bu mekanizma, modelin metinlerdeki en önemli kelimelere odaklanmasına yardımcı oluyor. Yani, metnin hangi kısımlarının daha önemli olduğunu anlayıp bu kısımlara daha fazla “dikkat” veriyor. Bu sayede model, karmaşık veri kümeleriyle daha iyi eğitilebiliyor ve dilin bağlamını doğru bir şekilde kavrayıp anlamlı sonuçlar üretebiliyor. Ayrıca, Transformer yapısı veriyi paralel işleyebilme yeteneği sayesinde eğitim sürecini çok daha hızlı ve verimli hale getiriyor.
Dil modelleri eğitim süreçlerinde dili ve bağlamları oldukça iyi öğrenir, hatta daha önce hiç görmedikleri dillerde veya metinlerde bile başarılı sonuçlar elde edebilir hale gelirler. Bu yetenek, büyük dil modellerinin (LLM’lerin) esnekliğini artırır; farklı görevlerde, çeşitli konularda kullanılmalarını sağlar. Eğitim sürecinde dilin yapısını ve anlamını o kadar derin öğrenirler ki, hiç karşılaşmadıkları durumlarda bile mantıklı cevaplar üretmeye çalışırlar.
Ancak bu kadar çok bilgiyi işlemek ve genelleme yapmak, bazen beklenmedik bir yan etkiye yol açabiliyor: “halüsinasyon.” Yani modelin, gerçekte olmayan veya doğru olmayan bilgileri gerçekmiş gibi üretmesi. Örneğin, bir LLM’e kesin bir tarih veya isim sorduğunuzda, eğer buna dair net bir bilgisi yoksa kendi tahminine dayanarak cevap verebilir ve bu cevap yanlış olabilir. Bu durum, modelin yanıt üretme sürecindeki karmaşıklıktan kaynaklanır ve her ne kadar geniş bir dil bilgisine sahip olsa da, her bilgi gerçekliği garantileyemez.
Halüsinasyon olayı, dil modelleri için çözülmesi gereken önemli bir meydan okuma. Model ne kadar gelişmiş olsa da, bilgiyi “uydurmaya” yatkın olduğu durumlar olabiliyor. Bu yüzden, dil modelinin yanıtlarını kullanırken bazen iki kez düşünmek ve doğruluğunu kontrol etmek faydalı olabilir. :))
Mesala 😀 ?
Kardel Rüveyda benim be benim!
Seninle arkadaşlık ettik. Kıyak arkadaşmışsın helal olsun…

Transformer mimarisi, günümüzün güçlü dil modellerinin (LLM) arkasındaki beyin gibi düşünebiliriz. Bu mimari, doğal dil işleme (NLP) alanındaki devrim niteliğinde bir gelişme olarak kabul ediliyor. Gerçekten de Transformer, eski yöntemlerin Recurrent Neural Networks (RNN) ve Long Short-Term Memory (LSTM) gibi bir adım önüne geçerek dil modelleme görevlerinde çok daha hızlı, verimli ve etkili çözümler sunmayı başardı. Peki, bu kadar başarılı olmasının sırrı ne?
Cevap, “öz-dikkat” (self-attention) mekanizmasında gizli.
Transformer, metinleri işlerken metindeki her kelimeyi ya da token’ı (dil birimi) diğerleriyle bağlantılı bir şekilde değerlendiriyor. Bu, adeta bir insanın bir cümleyi okurken önceki kelimeleri ve cümledeki genel anlamı göz önünde bulundurması gibi bir şey değil mi sizce de?
Burada iki ana blok var: Encoder ve Decoder. Şöyle düşünebilirsiniz, Encoder bir metni alıyor, onu anlamaya çalışıyor ve bu anlamı içsel bir temsile dönüştürüyor. Sonra Decoder devreye giriyor ve bu temsili kullanarak metnin geri kalan kısmını doğru bir şekilde tahmin ediyor ya da üretiyor.

Her iki blok da aslında benzer bir işlevi yerine getiriyor, ancak farklı aşamalarda çalışıyorlar. Encoder, giriş verisini işlerken, Decoder bu işlenmiş veriyi alıp, doğru çıktı üretmeye odaklanıyor. Her iki blokta da o öz-dikkat mekanizması var; yani her bir token, diğer token’lar ile olan ilişkisini göz önünde bulunduruyor. Bu sayede Transformer, dilin anlamını daha derinlemesine ve bağlamı daha geniş bir şekilde kavrayabiliyor.
Bunların hepsi birlikte çalışarak Transformer’ın neden bu kadar güçlü bir yapı olduğunu gösteriyor. Bu mimari sayesinde, çok daha hızlı, daha anlamlı ve etkili sonuçlar elde edebiliyoruz.

Öz-Dikkat (Self-Attention) Mekanizması ne anlama gelir?
Öz-dikkat mekanizması, Transformer mimarisinin en havalı ve güçlü yönlerinden biri diyebiliriz. Aslında bu özellik sayesinde Transformer modelleri, metinleri çok daha akıllıca anlar. Nasıl mı? Şöyle açıklayayım: Normalde bir metni okurken her kelimeyi tek başına düşünmek yerine, o kelimenin diğer kelimelerle nasıl ilişkilendiğine bakarız. İşte öz-dikkat mekanizması tam olarak bunu yapıyor. Örneğin, bir metnin içinde bir kelimeyi anlamak için sadece o kelimenin etrafındaki kelimelere değil, tüm metne göz atıyor. Yani bir kelimeyi ya da tokenı anlamaya çalışırken, model, bu kelimenin önceki ve sonraki kelimelerle bağlantısını değil, tüm metindeki diğer kelimelerle olan ilişkisini dikkate alıyor. Bu,ona metnin bağlamını ve anlamını çok daha derinlemesine kavrayabilme yeteneği kazandırıyor.
Öz-dikkat mekanizması, her tokena bir ağırlık seti atayarak çalışır. Bu ağırlıklar, bir token’ın diğer tokenlarla olan ilişkisini gösterir. Mesela bir cümlede “kitap” ve “okumak” kelimeleri arasındaki ilişkiyi anlamaya çalışırken model, “kitap” kelimesini işlerken sadece “okumak” kelimesinin etkisini göz önünde bulundurmaz. Bunun yerine, model tüm metindeki diğer kelimeleri de dikkate alır. Yani sadece iki kelime arasındaki bağı değil, metnin genelindeki tüm bağlamı göz önünde bulundurur. Bu sayede Transformer, metnin tamamındaki ilişkileri ve anlamı çok daha doğru bir şekilde kavrayabilir ve sonuçlarını buna göre oluşturur.
“Attention is All You Need” makalesi, yapay zeka ve doğal dil işleme ile ilgilenen herkesin karşısına mutlaka çıkmış bir çalışma ve yapay zeka veya NLP alanında çalışıyorsanız ya da bu konulara ilgi duyuyorsanız, bu makale “dönüp dönüp bakmanız gereken” temel bir kaynak. Bu makalede tanıtılan öz-dikkat (self-attention) mekanizması, dil modellerinin çıktılarının şekillendirilmesinde çok önemli bir rol oynar. Bu mekanizma, her bir token’ın (kelime ya da sembol) diğer token’larla olan ilişkisini hesaplamak için Query (Sorgu), Key (Anahtar) ve Value (Değer) vektörlerinin etkileşimini kullanır .Öz-dikkat mekanizması, bir token’ın çıktısının hesaplanmasında üç ana bileşen kullanır: Query (Sorgu), Key (Anahtar) ve Value (Değer).
Query (Sorgu), bir token’ın diğer tokenlarla nasıl ilişkili olduğunu anlamak için kullanılan bir tür işaretçi gibidir. Key (Anahtar) ise, her bir tokenın sorgularla ne kadar ilişkili olduğunu belirleyen bir başka işaretçidir. Value (Değer) ise, tokenlar arasındaki ilişkilerin içeriğini temsil eden bir vektördür. Bu üç bileşen bir arada çalışarak modelin her bir token’ın diğerleriyle nasıl etkileşimde bulunduğunu anlamasını sağlar ve böylece doğru sonucu üretir. Yani, her şeyin birbirine nasıl bağlandığını çözmek için bu üç bileşen birbirine yardımcı olur. Bu bileşenler, her token için hesaplanan dikkat skorları ile birleştirilir ve modelin her token için daha anlamlı bir temsil oluşturmasını sağlar. Transformer mimarisinin bir diğer büyük yeniliği, modelin tüm giriş verilerini paralel olarak işleyebilmesidir. Bu özellik, önceki RNN ve LSTM yapılarına göre büyük bir avantaj sağlar. Geleneksel RNN ve LSTM modelleri, metni sırasıyla işlemek zorundadır, yani bir tokenın çıktısı, bir sonraki tokenın girişini oluşturur. Bu, işlem sürecinin çok zaman alıcı olmasına neden olur, özellikle büyük veri setleri ile çalışırken. Ancak Transformer, metni paralel olarak işleyebilir. Yani, tüm tokenlar eşzamanlı olarak işlenebilir. Bu paralel işleme yeteneği, büyük veri setlerinin çok daha hızlı işlenmesini sağlar.
LLM’lerin Evrimi: Transformer’dan GPT’ye
2017 yılı için doğal dil işleme dünyasında bir dönüm noktası diyebiliriz sanki. Çünkü o yıl, Transformer mimarisi sahneye çıkıyor ve hemen herkesin ilgisini çıkıyor. Daha önce Recurrent Neural Networks (RNN) ve Long Short-Term Memory (LSTM) gibi modeller, dil verileriyle başa çıkabilmek için uzun süre tercih ediliyordu. Ancak bu modellerin sınırlamaları vardı; özellikle büyük veri setleriyle çalışırken hızları düşüyor ve verimli sonuçlar üretmekte zorlanıyorlardı. Tam bu noktada, Transformer bir kurtarıcı gibi geldi. Dil verilerini paralel bir şekilde işleyebilme yeteneği, onu hemen farklı kıldı.
Transformer mimarisinin gücünden faydalanan GPT (Generative Pretrained Transformer) ve BERT (Bidirectional Encoder Representations from Transformers) gibi büyük dil modelleri, bu devrimci değişimin ilk somut örneklerini verdi.
Özellikle GPT, doğal dil üretiminde oldukça başarılı bir model olarak öne çıkıyor. İlk aşamada çok büyük bir veri kümesiyle “pretrain” (ön eğitim) edilir, ardından spesifik bir göreve yönelik olarak “fine-tune” (ince ayar) yapılır. Bu süreç, modelin dilin farklı yönlerini anlamasında çok etkili olmaktadır. BERT ise, bir kelimenin bağlamını hem önceki hem de sonraki kelimelerden alarak dil anlayışını derinleştirir. Bu, BERT’i özellikle metin anlama ve duygu analizi gibi görevlerde çok güçlü hale getirir. BERT’in başarısının sırrı, “maskelenmiş dil modelleme” (masked language modeling) yaklaşımına dayanır. Burada model, bir kelimeyi tahmin etmek için, etrafındaki kelimelerin bağlamını göz önünde bulundurur. Bu da ona metinlerdeki anlamı çok daha doğru bir şekilde kavrayabilme yeteneği kazandırır.
Büyük Dil Modelleri (LLM’ler) üzerine yapılan araştırmalar hâlâ devam ediyor çünkü bu modellerin nasıl çalıştığına dair net bir anlayış bulunmuyor. Örneğin, bir LLM modeline “Dünyanın en yüksek dağı nedir?” gibi basit bir soru sorduğumuzda model doğru cevabı verebiliyor. Ancak bu cevaba nasıl ulaştığı hangi başlangıç koşullarının kullanılması gerektiği ve hangi belirteçlerin işe yarayacağı gibi konular hala belirsizliğini koruyor. LLM’ler, doğru cevaba ulaşmak için farklı yolları keşfeder ve seçer. Bu da demek oluyor ki, modelin verdiği cevaplar, soruya nasıl yaklaşıldığına ve hangi girdilerin kullanıldığına göre değişkenlik gösterebilir. Bu nedenle, bu modellerin çıktılarının nasıl yönlendirileceğini daha iyi anlamak, onları istediğimiz doğrultuda yönlendirebilmek için kritik bir öneme sahip.

Dil modellemesinin en büyük zorluklarından biri, istenen sonuçları elde etmek için bu modellerin nasıl yönlendirileceğiyle ilgili bence. Bu bağlamda, LLMlerin başlangıç belirteçleriyle nasıl kontrol edilebileceği çok önemlidir. Başlangıç belirteçleri, modelin çıktısını şekillendiren ilk bilgiyi sunar. Örneğin, “Kediler neden uyur?” gibi bir soruya doğru yanıt almak için hangi kontrol belirteçlerinin kullanılacağı konusunda hala bir belirsizlik vardır. Model verilen girişe ve başlangıç durumuna dayanarak doğru cevabı üretebilir ancak bu cevabın nasıl üretildiği ve hangi belirteçlerin kullanıldığı hakkında eksik bilgi bulunmaktadır. Bu da modelin karmaşıklığını artırmakta ve daha fazla araştırma yapılması gerektiğini gösteriyor.
LLM’lerin başlangıç belirteçlerinin seçilmesi ve bu belirteçlerin kontrol edilmesi, modelin davranışlarını yönlendirmek için önemli bir araçtır. Ancak bu noktada temel bir soru ortaya çıkmaktadır: Bir dil modelini istenen şekilde yönlendirebilmek için kaç kontrol belirtecinin kullanılması gereklidir? Modelin davranışını değiştirmek ve doğru çıktıyı elde etmek için ne kadar kontrol parametresine ihtiyaç duyulacağı, henüz kesin olarak belirlenmiş bir şey değildir. Bu da, dil modelinin çıktılarını yönlendirmek için hangi araçların ve stratejilerin en etkili olduğuna dair daha fazla keşfe ihtiyaç duyulduğunu göstermektedir.
Baktığımızda, LLM’ler (Büyük Dil Modelleri) ve onların nasıl çalıştığı konusunda hâlâ net bir anlayış yoktur. Bu nedenle, dil modellerinin çıktılarının daha verimli ve doğru bir şekilde yönlendirilmesi için araştırmalar devam etmektedir. Dil modellemesi ve yapay zeka uygulamalarının daha ileriye taşınabilmesi için, LLM’lerin kontrol edilebilirliğini anlamak ve hangi stratejilerin etkili olduğunu keşfetmek büyük önem taşımaktadır. Bu tür araştırmalar, yapay zekanın daha gelişmiş ve kontrollü bir şekilde kullanılmasını sağlamak için temel bir öneme sahiptir.
Yazılımcılar ve IT profesyonelleri olarak, bu gelişmeleri anlamak ve bu sistemleri nasıl yönlendirebileceğimizi keşfetmek bizim için kritik bir yetkinlik haline gelmeye başladı. LLM’lerin çalışma mantığı ve kontrol stratejileri hakkında bilgi sahibi olmak, yapay zeka uygulamalarını daha verimli ve etkili bir şekilde kullanmamıza olanak tanıyacaktır. Bu nedenle, bu alandaki araştırmaları takip etmek ve bu modellerin potansiyelini nasıl doğru bir şekilde yönlendirebileceğimizi öğrenmek gelecekteki projelerimizde başarılı olabilmemiz için oldukça faydalı olacaktır.
Umuyorum bu makale LLMlerin arka planlarıyla ilgili temel bir bilgi oluşturulmasını sağlayabilmiştir.
Farklı yazılarda görüşmek üzere,
Sevgiler,