Jay Alammar'ın yazdığı The Illustrated DeepSeek-R1 isimli blog'un Türkçe çevirisidir.
DeepSeek-R1, yapay zeka modellerinin istikrarlı ilerleyişindeki son etkileyici adımdır. Temel olarak iki sebepten dolayı büyük bir gelişme olduğunu söyleyebiliriz:
- Açık kaynak ağırlıklara sahip bir model olması (daha küçük, damıtık versiyonları da dahil)
- OpenAI-O1 tarzı bir akıl yürütme modelini yeniden üretmek için bir eğitim yöntemini tasarlayıp paylaşması
Bu yazıda modelin oluşum sürecini göreceğiz.
İçerik:
- Özet: Büyük Dil Modelleri (LLM) nasıl eğitilir
- DeepSeek-R1 Eğitmenin Adımları
- Uzun akıl yürütme zincirlerinden (chains of reasoning) oluşan Gözetimli İnce Ayarlama (SFT) verisi
- Geçici olarak kullanılacak ("ara model" olarak bahsedeceğim) yüksek Kaliteli bir akıl yürütme LLM'i (ancak akıl yürütme harici görevlerde daha kötü olabilir)
- Büyük ölçekli pekiştirmeli öğrenme (RL) yöntemiyle eğitilen akıl yürütme modelleri
- Büyük ölçekli ve akıl yürütme odaklı RL (R1-Zero)
- Yukarda bahsedilen ara model kullanılarak SFT akıl yürütme verisi oluşturma
- Genel RL eğitim aşaması
- Mimari
Böyle bir modelin nasıl çalıştığını anlamanız için ihtiyaç duyacağınız birçok temel bilgi, kitabımız Hands-On Large Language Models'de mevcuttur.
Kitabın resmi web sitesi. Kitabı Amazon'dan sipariş edebilirsiniz. Tüm kod GitHub'a yüklendi.
Tıpkı halihazırdaki birçok LLM gibi, Deepseek-R1 da bir seferde bir token (sözcük birimi) üretiyor. Ancak matematik ve akıl yürütme problemlerini çözmede üst seviyelerde. Çünkü düşünce zincirini (chain of thought) açıklamasını sağlayan "düşünce token"ları üreterek problem üzerinde bir anlamda daha fazla zaman harcayabiliyor.
Kitabımızın 12. bölümünden alınan aşağıdaki figür, yüksek kalite bir LLM oluşturmanın 3 adımını gösteriyor:
-
Dil Modelleme adımı : Çok büyük miktarlarda web verisi kullanılarak sıradaki kelimeyi tahmin etme üzerine bir model eğitilir. Bu adımın sonunda temel model (base model) elde edilir.
-
Gözetimli İnce Ayar adımı : Komutları takip etme ve soruları cevaplama alanlarında modelin daha faydalı hale getirildiği adım. Bu adımın sonunda elde edilen model Komutla Ayarlanmış (Instruction Tuned) model ya da SFT model olarak isimlendirilir.
-
Tercih Ayarlama adımı : Modelin davranışlarının daha da iyileştirildiği ve kullanıcı tercihlerine daha uyumlu hale getirildiği adım. Bu adımın sonunda elde edilen modele Tercih Ayarlanmış (Preference Tuned) model denilir ve son kullanıcılar bu modeli kullanır.
DeepSeek-R1 da bu genel adımları izler. İlk adımın detayları DeepSeek-V3'nin tarif edildiği bir önceki makalede açıklanmıştır. R1 bir önceki makaledeki temel modeli kullanmaktadır (3. adımın sonunda elde edilen son DeepSeek-V3 modelini değil) ve SFT ile Tercih Ayarlama adımlarından geçmektedir. Ancak bu adımları uygulama şeklindeki farklılıklar vardır.
R1'in oluşturulma sürecinde vurgulanması gereken 3 önemli ayrıntı var:
Çok miktarda (600,000 adet) uzun akıl yürütme zinciri örnekleri kullanılmıştır. Bu örnekleri toparlamak çok zordur ve insanlar tarafından etiketlenmesi bu ölçeklerde çok pahalıdır. Bundan dolayı bu örneklerin oluşturulma süreci vurgulanması gereken ikinci önemli şey.
2 - Ara model - yüksek kaliteli bir akıl yürütme LLM'i (ancak akıl yürütme dışı görevlerde daha kötü olabilir)
Bu veri R1'ın bir öncüsü olan model kullanılarak oluşturulur, akıl yürütmede uzmanlaşmış isimsiz bir kardeş. Bu isimsiz kardeş, birazdan bahsedeceğimiz R1-Zero isimli bir modelden esinlenmiştir. Çok önemli bir model, ama çok iyi olduğu için değil; büyük ölçekli Pekiştirmeli Öğrenme yöntemiyle çok az etiketli veri kullanılarak elde edildiği ve akıl yürütme problemlerinde çok başarılı olduğu için.
Artık bu isimsiz akıl yürütme modelinin çıktıları akıl yürütme içermeyen görevleri de yapabilen daha genel bir model eğitmek için kullanılabilir, hem de bir kullanıcının herhangi bir LLM'den beklediği seviyede.
Bu 2 adımdan oluşmaktadır:
Bu aşamada pekiştirmeli öğrenme yöntemi kullanılarak ara akıl yürütme modeli eğitilir. SFT eğitiminde kullanılacak akıl yürütme örnekleri de bu modelle üretilir. Bu modelin oluşturulabilmesini mümkün kılan şey, önceki deneylerden birinin sonucunda elde edilen DeepSeek-R1-Zero isimli bir model.
R1-Zero özel bir model, çünkü eğitiminde çok fazla SFT verisi kullanılmamasına rağmen akıl yürütme görevlerinde çok başarılıdır. Ön-eğitilmiş (pre-trained) modele direk olarak (ara bir SFT aşaması olmadan) Pekiştirmeli Öğrenme yöntemi uygulanarak elde edilir. Sonunda o1'le rekabet edebilecek seviyede bir model elde edilir.
Bu çok önemli bir gelişme, çünkü şimdiye kadar veri her zaman Makine Öğrenmesi modellerinin yakıtı olarak kabul ediliyordu, şimdi nasıl oldu da klasik kabullerle uyuşmazlık oldu? Buradan çıkarılabilecek iki sonuç var:
1 - Modern temel modeller belirli bir kalite ve kapasite eşiğini aşmış durumda (bu temel model 14.8 trilyon yüksek kalite sözcük birimi kullanılarak eğitildi)
2 - Akıl yürütme problemleri, genel sohbet veya metin üretme problemlerinin aksine otomatik olarak doğrulanabilir ve etiketlenebilir. Bunu bir örnekle gösterelim:
Örnek: Bir akıl yürütme probleminin otomatik olarak doğrulanması
Pekiştirmeli Öğrenme aşamasının bir parçası olarak kullanılabilecek bir istem (prompt) ya da soru düşünelim:
Bir Python kodu yaz; bir numara listesini girdi olarak alsın, bunları sıralanmış şekilde dönsün, ama listenin en başına 42 eklesin.
Bu tarz bir problem için kullanılabilecek birçok otomatik doğrulama yöntemi bulunabilir. Bu örneği eğitmekte olduğumuz modele girdi olarak verdiğimizi düşünelim, model de bir tamlama (completion) üretti:
- Bir kod analiz (linter) aracıyla tamamlayıcının doğru bir Python kodu olup olmadığını kontrol edebiliriz.
- Python kodunu çalıştırabiliriz ve çalışıp çalışmadığını görebiliriz.
- Başka modern LLM'lere birim testler yazdırabiliriz, bunu yapmak için akıl yürütmede çok başarılı olmalarına gerek yok. Bu birim testleri beklenen davranışı doğrulamak için kullanabiliriz.
- Hatta bir adım daha ileri gidebiliriz ve farklı kodların yürütme sürelerini ölçüp eğitim sürecinde daha performanslı alternatiflerin tercih edilmesini sağlayabiliriz.
Bu şekilde bir soruyu modele eğitimin bir adımında sunabilir ve birçok olası cevap üretebiliriz.
İlk tamamlayıcının kod olmadığını insan kontrolüne gerek olmadan otomatik olarak kontrol edebiliriz. İkincisi kod olmasına rağmen Python kodu değil. Üçüncüsü olası bir çözüm, ama birim testlerden geçemedi, dördüncüsü ise doğru çözüm.
Bütün bunlar modeli geliştirmede direk olarak kullanılabilecek işaretlerdir. Tabii ki bu işlemler bir çok örnek özerinde mini-paketler (batch) halinde ve ardışık eğitim adımlarıyla yapılır.
Bu ödül işaretleri (reward signals) ve model güncellemeleri; modelin pekiştirmeli öğrenme ile bu görevlerde daha başarılı hale geldiğini açıklar. Makaledeki Figure-2'de de eğitim süreci görülebilir.
Modelin kapasitesinin gelişmesine bağlı olarak üretilen cevabın uzunluğu da değişmektedir, çünkü model problemi işlerken daha fazla düşünce token'ı üretir.
Bu faydalı bir süreç, ancak R1-Zero modeli akıl yürütme problemlerinde yüksek skorlar almasına rağmen, beklendiği kadar kullanılamamasına sebep olan bazı problemleri var.
DeepSeek-R1-Zero çok güçlü akıl yürütme kapasitesi göstermesine rağmen, ve aynı zamanda bu beklenmeyen ve güçlü akıl yürütme kapasitesini otonom olarak geliştirmesine rağmen, birçok sorun içerir. Örnek olarak DeepSeek-R1-Zero'nun ürettiği metinlerin okunulurluğu daha düşüktür ve bazen farklı dilleri birbirine karıştırır.
R1'ın ise daha kullanılabilir bir model olması hedeflenmiştir. Bundan dolayı tamamen tek pekiştirmeli öğrenme tekniğine güvenmek yerine, iki farklı yerde kullanılmıştır.
- Ara bir Akıl Yürütme Modeli oluşturup bununla SFT verisi oluşturma
- R1 modelini akıl yürütme gerektiren ve gerektirmeyen problemlerde geliştirmek için eğitmek. (Akıl yürütme gerektirmeyen problemlerde farklı tipte doğrulayıcılar kullanıllır)
Ara akıl yürütme modelini daha faydalı hale getirmek için, birkaç bin akıl yürütme örneği (bu örneklerin bazıları R1-Zero'dan üretilip filtrelenmiştir) kullanılarak bir SFT adımından geçirilir. Makale bu adımı cold-start olarak isimlendirir.
2.3.1 Cold Start DeepSeek-R1-Zero'da taban modele uygulanan pekiştirmeli öğrenme erken ve kararsız bir cold-start aşamasına sebep oldu. Bundan dolayı DeepSeek-R1 modelini başlangıçta RL aktörü olarak ince-ayarlayabilmek için; az bir miktar uzun akıl yürütme zinciri verisi toplanmıştır. Bu datayı toplayabilmek için birçok yöntem kullanıldı: uzun bir akıl yürütme zinciri örneğiyle few-shot istemlemesi (prompting), modelleri direk olarak istemleyerek öz-sorgulama (reflection) ve doğrulama da içeren detaylı cevaplar üretmelerini sağlamak, DeepSeek-R1-Zero çıktılarını okunabilir formatta toparlamak ve sonuçları insan etiketleyiciler yardımıyla iyileştirmek.
Soru: Ama bir sn, eğer bu veriye sahipsek neden RL sürecine ihtiyaç duyuyoruz? Cevap: Verinin ölçeğinden dolayı
Bu veri seti 5000 örnekten oluşabilir, ama R1'ı eğitmek için 600,000 örneğe ihtiyaç var. Bu ara model bu boşluğu doldurur ve bu çok değerli veriyi yapay olarak oluşturabilmeyi sağlar.
Denetimli İnce Öğrenme (SFT)
İstem ve tamamlayıcılardan oluşan eğitim örnekleriyle modelin eğitildiği sürece SFT denir. 12. bölümdeki şekil birkaç SFT örneği göstermektedir:
Bu aşama R1'in hem akıl yürütme görevlerinde hem de diğer görevlerde başarılı olmasını sağlar. Daha önce gördüğümüz RL sürecine benzerdir. Ancak akıl yürütme içermeyen uygulamaları da içerdiğinden dolayı, yardımseverlik (helpfulnes) ve güvenlik (safety)'le ilgili istemler için bunlara göre ödül modelleri kullanır (Llama modellerine benzer şekilde).
GPT-2 ve GPT-3 serisi diğer bütün modeller gibi DeepSeek-R1 da Transformer kod çözücü tuğlalarından oluşan bir bina (61 tanesinden). İlk 3 blok dense, geri kalanları mixture-of-experts katmanlarıdır. (Maarten'in giriş rehberini inceleyebilirsin : A Visual Guide to Mixture of Experts (MoE))
Model boyutu büyüklüğü ve diğer hyper-parametreler bakımından da şu şekilde görünüyor:
Bundan önceki iki makalede model mimarisi hakkında daha fazla ayrıntıya yer verilmiş:
- DeepSeek-V3 Technical Report
- DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models
Bu bilgiler DeepSeek-R1'la ilgili genel bir fikir edinmeni sağlamış olmalı.
Eğer bu blog'u anlamak için daha temel bilgilere ihtiyaç duyduğunu düşünüyorsan, Hands-On Large Language Models'ı satın alabilir, ya da O’Reilly'de online olarak okuyabilir ve GitHub reposunu gözden geçirebilirsin.
Diğer tavsiye kaynaklar:
- Maarten Grootendorst'den A Visual Guide to Reasoning LLMs
- Nathan Lambert'ten DeepSeek R1's recipe to replicate o1 and the future of reasoning LMs
- Maarten Grootendorst'den A Visual Guide to Mixture of Experts (MoE)
- Sasha Rush’ın YouTube video'su Speculations on Test-Time Scaling (o1)
- Yannis Kilcher’in DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models (Paper Explained)
- Open R1 DeepSeek-R1'ın açık kaynak olarak yeniden üretilmeye çalışıldığı bir HuggingFace projesi
- Putting RL back in RLHF
- Bu makaleyi okurken 2022'den Galactica makalesi aklıma geldi. Özel bir düşünme token'i de dahil olamk üzere birçok harika fiki içeriyor.





















