- Simple Self-Distillation (SSD), büyük dil modellerinin öğretmen model veya pekiştirmeli öğrenme olmadan kendi ürettikleri kodu yeniden öğrenerek performansı artırdığı bir yöntemdir
- Qwen3-30B-Instruct modelinin LiveCodeBench v6 pass@1 skorunu %42,4'ten %55,3'e çıkarırken, özellikle zor problem diliminde +15,3 yüzde puan iyileşme sağlıyor
- SSD, kod üretimi sırasında doğruluk ile keşif arasındaki çatışmayı hafifletiyor ve bağlama göre kuyruk olasılıklarını bastırıp faydalı çeşitliliği koruyor
- Yalnızca sıcaklık ayarı veya decoding politikası değişikliğiyle aynı etki yeniden üretilemiyor; SSD, modelin iç dağılımını bizzat yeniden şekillendiriyor
- Harici veri veya doğrulama olmadan uygulanabilen basit bir sonradan eğitim prosedürü olarak, LLM kod üretim kalitesini artırmak için pratik bir alternatif sunuyor
Basit Öz Damıtma (Simple Self-Distillation, SSD)
- SSD (Simple Self-Distillation), büyük dil modelinin (LLM) öğretmen model, doğrulayıcı veya pekiştirmeli öğrenme olmadan kendi ürettiği kod çıktılarını kullanarak performansını artırdığı bir yöntemdir
- Model, belirli sıcaklık (temperature) ve kırpma (truncation) ayarlarıyla örnekler üretir ve bu sonuçlar standart denetimli ince ayar (SFT) ile yeniden eğitilir
- Harici etiketli veri, ödül modeli veya yürütme ortamı hiç gerekmez
- Qwen3-30B-Instruct modelinin LiveCodeBench v6 pass@1 skorunu %42,4 → %55,3 düzeyine çıkarıyor (+12,9 yüzde puan, göreli olarak +%30 iyileşme)
- Özellikle zor problemler (hard split) tarafında en büyük iyileşme görülüyor (+15,3 yüzde puan)
- Qwen ve Llama ailesindeki 4B, 8B ve 30B modeller genelinde genelleniyor
- SSD, doğruluk-keşif (precision-exploration) çatışmasını hafifleterek çalışıyor
- Kod üretiminde bazı token'lar yüksek doğruluk gerektirir ("lock"), bazıları ise çeşitli keşif gerektirir ("fork")
- SSD, bağlama göre gereksiz kuyruk dağılımını bastırırken faydalı çeşitliliği korur
1. Araştırma arka planı
- Yüksek kaliteli denetimli sinyalin (ör. insan yazımı kod) az olması, LLM kod üretim performansını artırmayı sınırlıyor
- Mevcut yaklaşımların sınırları
- Öğretmen model tabanlı damıtma: öğretmen modelin performans sınırlarını miras alır
- Pekiştirmeli öğrenme (RL): ödül modeli ve çalıştırma tabanlı doğrulama gerekir, kararsızdır
- Denetimsiz alternatifler (ör. çoğunluk oyu, entropi minimizasyonu): uzun eğitimde çökme riski vardır
- SSD, harici veri veya doğrulama olmadan yalnızca modelin kendi çıktılarıyla iyileşmenin mümkün olduğunu gösteriyor
2. SSD metodolojisi
-
Veri sentezi
- Verilen problem prompt kümesi X için, model pθ'den eğitim sıcaklığı Ttrain ve kırpma ayarı ρtrain (top-k, top-p) ile örnekleme yapılır
- Üretilen çıktılar (y), doğrulama olmadan doğrudan eğitim verisi (DSSD) olarak kullanılır
- Çoğu durumda N=1 (problem başına bir örnek) yeterlidir
-
Eğitim
- Standart çapraz entropi kaybı ile denetimli ince ayar yapılır
- L(θ) = −E(x,y)∼DSSD Σ log pθ(yt | x, y<t)
-
Çıkarım
- Eğitilmiş model pθ* değerlendirme sıcaklığı Teval ve kırpma ayarı ρeval ile decode edilir
3. Deneyler
-
Model yapısı
- Llama-3.1-8B-Instruct, Qwen3-4B/30B (Instruct, Thinking) dahil 5 model
- 2 aile (Llama, Qwen), 3 ölçek (4B, 8B, 30B), 2 akıl yürütme stili (Instruct, Thinking)
-
Veri
- rSTARcoder veri kümesinden yaklaşık 10K rekabetçi programlama problemi kullanıldı
- Doğru cevap doğrulaması olmadan, yalnızca basit sözdizimi filtreleme uygulandı
-
Eğitim ayarları
- Megatron-LM tabanlı, 8×B200 GPU kullanıldı
- AdamW optimizer, maksimum dizi uzunluğu 65.536
- Instruct modelleri için 2.500 adım, Thinking modelleri için 300 adım
-
Değerlendirme
- Ana benchmark olarak LiveCodeBench v6 (LCB v6) kullanıldı
- pass@1, pass@5 ve zorluk düzeyine göre (Easy/Medium/Hard) ayrıntılı değerlendirme yapıldı
4. Başlıca sonuçlar
-
Genel performans artışı
- Qwen3-30B-Instruct: %42,4 → %55,3 pass@1 (+12,9 yüzde puan)
- Qwen3-4B-Instruct: +7,5 yüzde puan, Llama-8B: +3,5 yüzde puan
- Thinking modellerinde de +2~3 yüzde puan iyileşme görüldü
-
Zorluk düzeyine göre iyileşme
- Qwen3-30B-Instruct: Easy +6,5 yüzde puan / Medium +14,2 yüzde puan / Hard +15,3 yüzde puan
- Thinking modellerinde de en büyük artış Hard diliminde görüldü
-
Çeşitliliğin korunması
- pass@5 artışı pass@1'den daha büyük → üretim çeşitliliği korunuyor ve gelişiyor
- Örnek: Qwen3-30B-Instruct pass@5 +18,1 yüzde puan (Hard +23,0 yüzde puan)
-
Alanlar arası genelleme
- Rekabetçi programlama dışında matematik, genel kod ve anlama görevlerinde de performans korunuyor
5. Decoding politikası karşılaştırması
-
Yalnızca sıcaklık ayarıyla SSD etkisi yeniden üretilemez
- Temel modelin sıcaklık taraması sonucunda pass@1 değişimi yalnızca 1,5–3,0 yüzde puan düzeyinde kaldı
- SSD ise aynı koşullarda +11,8 yüzde puan (Qwen3-30B-Instruct) iyileşme sağladı
- Özellikle Hard problemler ve pass@5 tarafında fark en büyük düzeye ulaşıyor
- SSD, modelin iç dağılımını bizzat değiştiriyor; bu yüzden basit decoding ayarlarıyla ikame edilemez
6. Hiperparametre etkileşimi
- Eğitim sıcaklığı (Ttrain) ile değerlendirme sıcaklığının (Teval) çarpımı olan Teff = Ttrain × Teval, performansı belirliyor
- En yüksek performans Teff ≈ 1,2 civarında görülüyor
- Ttrain yükseldikçe Teval değişimlerine duyarlılık artıyor
- Kırpma (truncation) eklendiğinde performans tavanı yükseliyor
- En iyi ayar: Ttrain=2.0, Teval=1.1, top-k=10 → pass@1 %49,7 (+7,3 yüzde puan)
- Kırpma, düşük olasılıklı kuyruğu kaldırarak ek iyileşme sağlıyor
7. SSD nasıl çalışıyor?
-
Doğruluk-Keşif (Precision–Exploration) çatışması
- Lock: dilbilgisel olarak doğru cevabın neredeyse sabit olduğu konumlar → düşük sıcaklık gerekir
- Fork: birden fazla çözümün mümkün olduğu konumlar → yüksek sıcaklık gerekir
- Tek bir sıcaklıkla bu iki gereksinimi aynı anda karşılamak zordur
-
SSD'nin rolü
- Lock durumlarında kuyruk olasılıklarını bastırarak hassasiyeti artırır
- Fork durumlarında üst adaylar arasındaki olasılıkları düzleştirerek keşif çeşitliliğini korur
- Sonuç olarak bağlama bağımlı dağılım yeniden şekillendirmesi yapar
8. Ampirik doğrulama
-
Simüle ortam deneyi
- 1 adet Fork + 3 adet Lock yapısına sahip basit bir ortamda SSD uygulandı
- SSD sonrasında başarı olasılığı arttı, optimal sıcaklık aralığı genişledi
- Eğitimin ve decoding'in birbirini tamamladığı doğrulandı
-
Gerçek model analizi
- SSD sonrasında üst token'ların kümülatif olasılığı artarken, kuyruk olasılığı azaldı
- Yüksek Teval koşullarında bile etkin üst aday sayısı arttı, entropi yükseldi
- Yani SSD, kuyruğu temizleme ile üst dağılımı genişletmeyi aynı anda başarıyor
9. Teorik analiz
- SSD eğitim kaybı üç bileşene ayrılıyor
- Support Compression: kuyruk olasılığını kaldırma
- Within-Support Reshaping: üst dağılımı yeniden şekillendirme
- Alignment to Base Model: temel modelle hizalamayı koruma
- Lock durumlarında ilk terim baskın hale gelir → kuyruk temizlenir
- Fork durumlarında ikinci terim çalışır → üst dağılım düzleşir
- Toplam entropi azalırken faydalı keşif entropisi korunur
- Basit decoding ayarları bu tür bağlama özgü yeniden şekillendirmeyi yapamaz
10. Anormal veri deneyi
- Ttrain=2.0, kırpma yok ayarıyla üretilen verinin %62'si anlamsız gürültü (gibberish) idi
- Buna rağmen SSD uygulandıktan sonra
- pass@1: %42,4 → %48,1 (+5,7 yüzde puan)
- pass@5: %53,5 → %64,0 (+10,5 yüzde puan)
- Hard problemlerinde +7,3 yüzde puan / +13,8 yüzde puan iyileşme görüldü
- Bu, SSD'nin doğru cevap kalitesinden değil dağılım yapısını öğrenmekten kaynaklanan bir iyileşme sağlayabildiğini gösteriyor
Sonuç
- Simple Self-Distillation (SSD)
- Harici öğretmen veya doğrulama olmadan, yalnızca modelin kendi çıktılarıyla kod üretim performansını artırıyor
- Doğruluk-keşif çatışmasını hafifletiyor ve dağılım yeniden şekillendirmesi yoluyla genellenebilir iyileşme sağlıyor
- SSD, post-training aşamasında uygulanabilen basit ama güçlü bir yöntem olarak, LLM kod üretim kalitesini artırmak için pratik bir alternatif sunuyor
1 yorum
Hacker News yorumları
Bu makalenin ilginç olmasının nedeni, bağlam farkındalıklı kod çözümleme (context-aware decoding) kavramını gerçekten hayata geçirmiş olması
Kod üretimi sürecinde, “fork” noktalarının (birden fazla yoruma açık yaratıcı dallanmalar) ve “lock” noktalarının (doğruluğun gerekli olduğu sözdizimsel kararlar) dönüşümlü olarak ortaya çıktığını açıklıyor
SSD(Simple Self-Distillation) tekniğinin her iki durumda da en iyi token’ın sıralamasını iyileştirerek, modelin keşif yaparken daha yaratıcı, doğruluk gerektiğinde ise daha isabetli çalışmasına yardımcı olması etkileyici
İnsan beyni bile binlerce yıldır inceleniyor ama hâlâ anlaşılmaz birçok yönü var
Hatta trafik akışının emergent behavior’ı bile yakın zamana kadar net şekilde anlaşılmamıştı
Dolayısıyla LLM’lerin yeni özelliklerini keşfetmeye devam etmemiz gayet doğal
Dilbilgisi tabanlı örnekleme ya da grammar-aware decoding kullanılırsa, dilbilgisi açısından tek mümkün token model çağrısı olmadan doğrudan eklenebilir
Ama bugün yaygın olarak kullanılan sistemlerde bu neredeyse hiç uygulanmıyor
Önemli seçimler için daha fazla hesaplama, bariz token’lar için daha az hesaplama kullanan genelleştirilmiş bir yaklaşımın mümkün olup olmadığını merak ediyorum
Çıkarım sırasında da aynı yöntemi uygulamak gerekip gerekmediğini düşünüyorum
Kodda tek fark yapının daha belirgin olması; fork/lock mekanizması ise çeşitli problem alanlarında geçerli
Self-Distillation, LLM ilerlemesinin temel yönlerinden biri gibi görünüyor
MIT ve ETH ekiplerinin yayımladığı Self-Distillation Fine-Tuning(SDFT) çalışması zaten yüksek verimlilik göstermişti
Bu makaledeki SSD(Simple Self-Distillation) de aslında onun bir uzantısı gibi, sadece adı farklı
SSD adlandırmasının SSD(solid state drive) ile çakışması da kafa karıştırıcı
Keşke asıl çalışma olan SDFT’ye daha açık şekilde kaynak ve soy bağı atfı yapılsaydı
Kısa süre önce Gemma 4’ün yerelde saniyede 50 token hızında çalıştırıldığı bir video izledim
Şimdiden Sonnet 3x~4 düzeyinde yetenek gösteriyor
Buna SSD gibi teknikler de eklenirse, 2028 civarında ucuz ve güçlü kod modellerinin yaygınlaşacağını düşünüyorum
Deneyimli geliştiriciler muhtemelen doğal dili koda çeviren deterministik olmayan bir transpiler gibi kendi modellerini çalıştıracak
Şu an sanki “çivi üstüne ev inşa etmek” gibi hissettiriyor
SSD’nin temel varsayımı olan kesinlik–keşif (precision–exploration) çatışması, Adaptive Decoding’in çözmeye çalıştığı probleme benziyor
Çıkarım sırasında, yaratıcı düşüncenin gerektiği anlarda yüksek temperature, sözdizimsel doğruluğun gerektiği anlardaysa düşük temperature gerektiği çok açık görünüyor
Sadece tekrar tekrar “Bu en zarif çözüm mü?” diye sormak bile LLM çıktısını fark edilir biçimde iyileştiriyor
Model bu kadar kolay daha iyi bir cevap bulabiliyorsa, neden baştan öyle yapmadığı sorusu akla geliyor
Önce çalışan bir çözüm üretirsin, sonra onu birkaç kez rafine ettikçe asıl sadelik ortaya çıkar
Bazıları yarım gün düşünüp sonra kod yazar, bazıları ise ilk çözümü hemen uygular
Bugünkü LLM’ler ikincisine daha yakın
Bu araştırma, daha iyi kod üretim modellerine yol açma potansiyeline sahip
Ama yüksek boyutlu uzayda tam olarak neler olduğunu hâlâ gerçekten anlamıyoruz
Sonuçta hâlâ “atıp bakalım tutacak mı” yaklaşımıyla ilerliyoruz
Makine öğrenmesindeki atılımlar dışarıdan bakınca çoğu zaman basit görünüyor
Transformer da öyleydi, bu SSD de öyle
Muhtemelen bunun nedeni, hâlâ derin bir kuramsal temele sahip olmamamız
Karmaşıklık ise çoğu zaman yeterince anlamadığımızın sinyalidir
Programlama deneyimime göre bu oldukça güvenilir bir kural
İronik biçimde Apple hâlâ AI araştırmalarını yayımlıyor, ama OpenAI yayımlamıyor
Birisi bu makaleyi “sadece benchmark kod sonuçlarında iyi olacak şekilde ince ayar yapılmış bir model” diye özetlemişti, ama gerçekte öyle değil
Ardından decoding ayarları(temp, top-k) değiştirilmiş model, orijinalinden daha iyi sonuç veriyor
Yani bu sadece benchmark’a göre yapılmış bir fine-tuning değil, kendi çıktısına dayalı bir performans artışı
Bu araştırmayı golf antrenmanına benzetebiliriz
Topa binlerce kez vurup temel vuruşu otomatikleştirdikten sonra, gerçek oyunda yaratıcı ve riskli vuruşları özgüvenle deneyebilmek gibi
SSD de buna benzer şekilde, temel kalıpları güçlendirip yaratıcı seçimler için alan açan bir yaklaşım