12 puan yazan GN⁺ 26 일 전 | 1 yorum | WhatsApp'ta paylaş
  • 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
    1. Support Compression: kuyruk olasılığını kaldırma
    2. Within-Support Reshaping: üst dağılımı yeniden şekillendirme
    3. 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

 
GN⁺ 26 일 전
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

    • Aslında LLM’lerin bu tür yeni özelliklerinin keşfedilmesi şaşırtıcı olmaktan çok doğal geliyor
      İ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
    • İlginç olan, modelin hem “fork” hem de “lock” token’larına aynı hesaplama miktarını ayıran bir yapıya sahip olması
      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
    • Küçük bir modeli fine-tune ederken mode collapse problemi yaşadım, ama eğitim sırasında alan sırasını rastgele karıştırınca düzeldi
      Çıkarım sırasında da aynı yöntemi uygulamak gerekip gerekmediğini düşünüyorum
    • İlginç olan, SSD’nin gerçek zamanlı olarak temperature ayarlaması yapmadan veya fork/lock noktalarını tahmin etmeden de etkili olması
    • Bu kavram yalnızca koda değil, diğer üretken içerik türlerinin geneline de uygulanabilir
      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

    • Ben de sık sık bunu düşünüyorum. Kullandığım dillerin (PHP, SQL, JS vb.) yalnızca en güncel sürümleriyle modeli eğitsem, çok daha küçük ve hızlı bir model elde edemez miyim
      Şu an sanki “çivi üstüne ev inşa etmek” gibi hissettiriyor
    • Tabii o zamana geldiğimizde proje bazlı bellek ve isteğe bağlı öğrenme özelliklerine sahip frontier modeller kişisel modelleri ezip geçebilir
  • SSD’nin temel varsayımı olan kesinlik–keşif (precision–exploration) çatışması, Adaptive Decoding’in çözmeye çalıştığı probleme benziyor

    • Ben de Adaptive Decoding ile çok ilgileniyorum
      Çı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

    • Gerçekte zarif çözümler çoğu zaman ilk denemede ortaya çıkmaz
      Önce çalışan bir çözüm üretirsin, sonra onu birkaç kez rafine ettikçe asıl sadelik ortaya çıkar
    • İnsan geliştiriciler için de durum aynı
      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

    • Nitekim birçok keşifte olduğu gibi, basitlik çoğu zaman doğruluğun işaretidir
      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

    • Ben de bunu garip buluyorum. Bunu kapalı tutmak için pek bir neden yok gibi görünüyor
    • Belki de bunun nedeni, OpenAI’nin henüz koruyacağı bir “pazar”a sahip olmaması olabilir
  • 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

    • Makaleye bakınca, doğru cevap doğrulaması veya kalite değerlendirmesi olmadan, sadece benchmark girdileri verilip üretilen çıktılar tekrar eğitimde kullanılıyor
      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