RAT — Retrieval Augmented Thinking & Deepseek

Giriş
Sizlere deepseek ile hayatımıza giren yeni bir konsepti tanıtmak istiyorum. Teknik ayrıntılara yer vermeden, herkesin anlayabileceği bir seviyede paylaşacağım.
Large Language Models (Büyük Dil Modelleri) şüphesiz günümüzün en popüler gündem konularından biridir. Her geçen gün büyük firmaların yeni modellerini duyurması ve farklı şirketlerin bu yarışa ortak olması dikkat çekiyor. Bu modeller, hayatımıza çok hızlı bir şekilde entegre olup, günlük hayatta birçok işi yaparken danıştığımız ya da fikir aldığımız araçlara dönüşmüş durumda.
Günlük kullanımda sık sık ChatGPT gibi dil modellerine sorular sorup tatmin edici cevaplar alabiliyoruz; ancak en basitinden her dil modeli güncel değil, bazıları ise Türkçe sorulara yeterince iyi cevaplar veremiyor. Yalnızca bu durum bile güncel dil modellerinin her koşul için henüz mükemmel olmadığını ortaya koyuyor. Bu basit ihtiyaçları karşılayan bir dil modeli bile olsa, bu modelden tüm konularda tam hakimiyet bekleyemeyiz. Mesela; sınava hazırlanırken hocalarınızın notları arasından soru sorup cevap vermesini bekleyemeyeceğimiz gibi bir avukat rolü oynayarak geçmiş davalara bakıp bize bir savunma hazırlamasını da isteyemeyiz. En azından, bu konudaki fikirlerine güvenmekte zorluk yaşayabiliriz.
İşte tam da bu noktadan yola çıkarak şu soruyu sormak gerekiyor: Eğer bu dil modellerine, içerisinden cevap vermesini istediğimiz verileri sağlarsak, cevaplar tatmin edici olur muydu?
RAG Nedir?
RAG, yani Retrieval Augmented Generation, modelin sadece önceden öğrendiği verilerle sınırlı kalmak yerine, dışarıdan ek bilgi almasını sağlayan bir sistemdir. Bu sayede, örneğin tarihsel olaylar, teknik detaylar veya spesifik konularda, modelin cevapları daha doğru ve güvenilir hale gelir.
Özetle, RAG ile dil modelleri, bilgi havuzlarını genişleterek ve güncel verilerle desteklenerek, kullanıcıların beklentilerini daha iyi karşılayabilir. Bu da, modelin sınırlarını aşarak, daha zengin ve detaylı içerikler sunmasına olanak tanır.
Deepseek
Bu adı yakın zamanda duymuş olmanız epey muhtemel. Bu şirket, Deepseek R1 adını verdikleri modeliyle tüm dengeleri alt üst etti; OpenAI’ın bu zamana kadar ki en güçlü modeli olan O1’e, çok daha düşük bir bütçeyle ve tüm ambargolara rağmen meydan okumayı başardı.

Başarının sebebini anlamak için bu modelin eğitiminde, diğer modellere göre neyin daha farklı yapıldığına daha yakından bakmak gerekiyor.
Deepseek şirketinin Deepseek R1 ve Deepseek R1-Zero modellerini tanıttığı makalesine bakıldığına mimari olarak farklı bir yaklaşıma sahip olduklarını görüntülüyoruz.
Bugüne kadar geliştirilen çoğu dil modelinin, internette erişilebilen verilerle eğitildiğini biliyoruz. Bu eğitim sürecinde, modellerin ne öğreneceğini belirlemek için, içeriği açıklayan etiketli veriler kullanılıyor (örneğin, bir görüntüde kedi veya köpek olduğunu belirten etiketler). Eğitimin ilerleyen aşamalarında ise Pekiştirmeli Öğrenme (Reinforcement Learning) devreye giriyor.
Deepseek modelinin en belirgin farkı, eğitim sürecinde tamamen Pekiştirmeli Öğrenme yöntemini kullanıyor olmasıdır. Yani, model etiketli verilere bağımlı kalmadan, sadece girdi ve beklenen çıktı bilgilerini alarak, doğru sonuca nasıl ulaşacağını kendisi öğreniyor. Bu süreçte, model doğru sonuçları elde ettikçe bu sonuçları tekrar eğitim sürecine dahil ediyor ve böylece kendini sürekli geliştiriyor.

Böylece bu model A noktasından B noktasına nasıl gideceğini kendi öğreniyor ve yeni sorunlara analitik çözümler getirebiliyor. Bu geliştirdiği düşünce yapısına Chain of Thoughts(CoT) ya da fikir dizisi diyebiliriz. Bu CoT yapısını şöyle örneklendirelim:
17 x 15 işlemini kafadan cevaplamak istediğinizde, hemen cevap veremeyebilir, bunu parçalayarak (17x10) + (17x5) şeklinde hesaplayarak cevap verebilirsiniz, bu sizin bu soruyu çözmek için ürettiğiniz fikir dizisidir.
Bir dil modeli üzerinde örneklendirelim:
Örnek girdi:
Market’e gittim ve 10 elma aldım. Komşuma 2 elma ve tamirciye 2 elma verdim. Sonra gidip 5 elma daha aldım ve 1 elma yedim. Kaç elmam kaldı?
Doğrudan Üretilen Cevap:
11
Örnek girdinin bir dil modeline verilerek elde edilen sonucunun hatalı olduğu görebiliyoruz, ancak dil modelinden aşama aşama hesaplama yapacak bir fikir dizisi oluşturmasını istediğimizde cevap şu şekilde değişiyor.
Düşünce Zinciri ile Üretilen Cevap:
İlk olarak, 10 elma ile başladınız.
Komşunuza 2 elma ve tamirciye 2 elma verdiniz, bu yüzden geriye 6 elma kaldı.
Sonra 5 elma daha aldınız, böylece şimdi 11 elmanız oldu.
Son olarak, 1 elma yediniz, bu yüzden geriye 10 elma kaldı.
Başka bir örnekte, verilen girdinin önce deepseek ile bir zincir-düşünce yapısı oluşturup sonrasında ChatGPT’nin eski modellerinden biri olan GPT 3.5-turbo’ya bu zincir-düşünce yapısı girdi olarak verildiğinde, normalde yapamadığı bir görevi yaptırabildiğini görebiliyoruz.
Daha da teknik detaya inmeden, Deepseek modelinin alametifarikasının bu yaklaşımda gizli olduğunu kabul edebiliriz.
RAT (Retrieval Augmented Thinking)
Deepseek modellerinin hayatımıza girmesiyle beraber büyük dil modellerinin dokunduğu çeşitli yerlerde de farklı konseptlerin doğuşuna şahit olmaya başladık. İlk nasibini alanlardan bir tanesini de RAG gibi duruyor.
Normalde bir RAG projesinde, önce bir veriseti büyük dil modeline verilir ve modelden yeni soruların cevaplarını üretmesi beklenir. Sorularımızın cevaplarının veride bulunduğunu bilsek bile, bazen doğru sonuçlar alamadığımızı görebiliyoruz.
Bunun temel nedenleri arasında, soruyu (girdiyi) sorma biçimimiz, kullandığımız kelimeler, oluşturduğumuz algoritma ve modeli beslediğimiz veri parçaları (chunk) yer alıyor. Her biri ayrı bir araştırma konusu olmakla birlikte, burada özellikle girdi (prompt) konusu üzerinde duruyoruz.
RAG konseptine bir chain of thoughts (düşünce zinciri) ekleyerek girdimizi daha iyi formatlayıp çok daha başarılı sonuçlar elde edebiliyoruz. Uygulaması için Deepseek veya başka bir modelden chain of thoughts çıktısı istememiz gerekiyor. Bu zincirin her bir parçası için, ilgili verileri büyük dil modelinden talep etmeliyiz. Bir sonraki aşamada yeni veriler istenirken, chain of thoughts yapısı önceden elde ettiğimiz verilerle güncellenmeli ve her aşamada bu düzenleme tekrarlanmalıdır. Son olarak, güncellenmiş zincir, sorumuza net bir cevap verecek şekilde dil modeline formatlanarak en iyi sonuçları elde etmemizi sağlar.
Örnek Girdi:
“Bisikletlerde en yeni teknolojik gelişmeler nelerdir ve bu gelişmelerin performans hesaplamaları nasıl gerçekleştirilmektedir?”
Chain-of-Thought (CoT) Çıktısı:
Aşama 1 — Anahtar Kavramların Belirlenmesi:
- Sorudaki anahtar kavramları tanımlayın ve açıklayın (örneğin: “en yeni teknolojik gelişmeler”, “bisiklet”, “performans hesaplaması”).
- Örnek Varsayımsal Veriler: “Elektrikli destek sistemleri, karbon fiber kullanımında artış, aerodinamik tasarım gelişmeleri” gibi ifadeler beklenir.
Aşama 2 — Arka Plan ve Bağlam Araştırması:
- İlk aşamada belirlenen kavramların arka planını araştırın.
- Literatürdeki açıklamalar, güncel yayınlar (örneğin; bisiklet dergileri, teknik raporlar, uluslararası BIS (Bisiklet İnovasyon ve Standartları) yayınları) dikkate alınarak konuyla ilgili bilgileri toplayın.
- Örnek Varsayımsal Veriler: “2023'te yayımlanan X dergisi makalesi, Y teknik rapor, Z uluslararası bisiklet yayınında yer alan güncel trendler” gibi bilgiler eklenebilir.
Aşama 3 — Performans Hesaplama Yöntemlerinin İncelenmesi:
- Bisikletlerdeki teknolojik gelişmelerin performans hesaplamalarına nasıl yansıdığını inceleyin.
- Hangi ölçütlerin kullanıldığına (örneğin: hız, tork, güç tüketimi, aerodinamik direnç) dair metodolojileri araştırın.
- Örnek Varsayımsal Veriler: “Güç-çekiş testleri, dinamik sürüş simülasyonları, laboratuvar ortamında gerçekleştirilen rüzgar tüneli testleri” gibi bilgiler ekleyin.
Aşama 4 — Sentezleme:
- Tüm güncellenmiş zincir-düşünce aşamalarını sentezleyerek, soruya yönelik net ve detaylı bir final cevap oluşturun.
Bu örnek, verilen girdiye ulaşmak için oluşturulan dört aşamalı bir chain-of-thought yapısını göstermektedir. Her aşamada elde edilen veriler doğrultusunda güncellemeler yapılarak, en uygun sonuca ulaşılması hedeflenir.
Sonuç
Deepseek modelinin hayatımıza girmesiyle, RAG yapısının başarısını daha da ileriye taşıyabilecek bir yöntem ortaya çıkmıştır. Bu yöntem, verilen girdiye ulaşmak için en doğru zincir-düşünce yapısının oluşturulmasını hedefler. Her aşamada alınan ve güncellenen bilgiler sayesinde, model en uygun ve net cevabı üretebilmektedir. Böylece, dil modelleri sadece önceden öğrenilmiş verilerle sınırlı kalmayıp, dış kaynaklardan elde edilen güncel bilgileri de kullanarak daha kapsamlı, güvenilir ve analitik çözümler sunar.
Bu yaklaşım, RAT (Retrieval Augmented Thinking) adı altında, dil modellerine düşünme yetisi kazandırarak, onların karmaşık problemleri aşamalı ve mantıklı bir şekilde çözmelerine olanak tanımaktadır. Deepseek ve benzeri modeller, bu sayede gelecekte daha geniş uygulama alanlarına ve daha yüksek performansa ulaşacaktır.