12 poin oleh GN⁺ 17 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Simple Self-Distillation (SSD) adalah metode yang meningkatkan performa dengan melatih ulang kode yang dihasilkan sendiri oleh model bahasa besar tanpa model guru atau reinforcement learning
  • Pada model Qwen3-30B-Instruct, metode ini meningkatkan skor pass@1 LiveCodeBench v6 dari 42.4% menjadi 55.3%, dengan peningkatan khususnya sebesar +15.3pp pada rentang soal sulit
  • SSD meredakan konflik antara akurasi dan eksplorasi selama pembuatan kode, serta menekan probabilitas ekor sambil mempertahankan keragaman yang berguna sesuai konteks
  • Efek yang sama tidak dapat direproduksi hanya dengan penyesuaian temperatur atau perubahan kebijakan decoding, karena SSD membentuk ulang distribusi internal model itu sendiri
  • Sebagai prosedur pelatihan pascaproses yang sederhana dan dapat diterapkan tanpa data eksternal atau verifikasi, SSD menawarkan alternatif praktis untuk meningkatkan kualitas pembuatan kode LLM

Simple Self-Distillation (SSD)

  • SSD (Simple Self-Distillation) adalah metode untuk meningkatkan performa model bahasa besar (LLM) dengan memanfaatkan keluaran kode yang dihasilkan model itu sendiri tanpa model guru, verifier, atau reinforcement learning
    • Model menghasilkan sampel dengan pengaturan temperature dan truncation tertentu, lalu hasilnya dipelajari kembali melalui supervised fine-tuning (SFT) standar
    • Tidak membutuhkan data berlabel eksternal, model reward, maupun lingkungan eksekusi sama sekali
  • Meningkatkan skor pass@1 model Qwen3-30B-Instruct pada LiveCodeBench v6 dari 42.4% → 55.3% (+12.9pp, +30% peningkatan relatif)
    • Peningkatan terbesar terutama muncul pada soal sulit (hard split) (+15.3pp)
    • Dapat digeneralisasi secara luas pada model keluarga Qwen dan Llama berukuran 4B, 8B, dan 30B
  • SSD bekerja dengan meredakan konflik precision-exploration
    • Dalam pembuatan kode, sebagian token menuntut akurasi tinggi (“lock”), sementara sebagian lain memerlukan eksplorasi yang beragam (“fork”)
    • SSD menekan distribusi ekor yang tidak perlu sambil mempertahankan keragaman yang berguna sesuai konteks

1. Latar belakang penelitian

  • Kurangnya sinyal supervisi berkualitas tinggi (misalnya kode yang ditulis manusia) menjadi hambatan untuk meningkatkan performa pembuatan kode LLM
  • Keterbatasan pendekatan yang ada
    • Distilasi berbasis model guru: mewarisi batas performa model guru
    • Reinforcement learning (RL): memerlukan model reward dan verifikasi berbasis eksekusi, serta tidak stabil
    • Alternatif tanpa supervisi (misalnya voting mayoritas, minimisasi entropi): berisiko kolaps saat pelatihan jangka panjang
  • SSD membuktikan bahwa peningkatan dimungkinkan hanya dengan keluaran model itu sendiri tanpa data atau verifikasi eksternal

2. Metodologi SSD

  • Sintesis data

    • Untuk himpunan prompt soal X yang diberikan, lakukan sampling dari model pθ dengan temperature Ttrain dan pengaturan truncation ρtrain (top-k, top-p)
    • Keluaran yang dihasilkan (y) digunakan langsung sebagai data pelatihan (DSSD) tanpa verifikasi
    • Dalam banyak kasus, N=1 (satu sampel per soal) sudah memadai
  • Pelatihan

    • Lakukan supervised fine-tuning dengan loss cross-entropy standar
    • L(θ) = −E(x,y)∼DSSD Σ log pθ(yt | x, y<t)
  • Inferensi

    • Model terlatih pθ* di-decode dengan temperature evaluasi Teval dan pengaturan truncation ρeval

3. Eksperimen

  • Konfigurasi model

    • Llama-3.1-8B-Instruct, Qwen3-4B/30B (Instruct, Thinking), total 5 model
    • 2 keluarga (Llama, Qwen), 3 skala (4B, 8B, 30B), 2 gaya penalaran (Instruct, Thinking)
  • Data

    • Menggunakan sekitar 10K soal competitive programming dari dataset rSTARcoder
    • Hanya menerapkan pemfilteran sintaks sederhana tanpa verifikasi jawaban benar
  • Pengaturan pelatihan

    • Berbasis Megatron-LM, menggunakan 8×B200 GPU
    • Optimizer AdamW, panjang sekuens maksimum 65,536
    • 2.500 step untuk model Instruct, 300 step untuk model Thinking
  • Evaluasi

    • Menggunakan LiveCodeBench v6 (LCB v6) sebagai benchmark utama
    • Evaluasi terperinci berdasarkan pass@1, pass@5, dan tingkat kesulitan (Easy/Medium/Hard)

4. Hasil utama

  • Peningkatan performa secara keseluruhan

    • Qwen3-30B-Instruct: 42.4% → 55.3% pass@1 (+12.9pp)
    • Qwen3-4B-Instruct: +7.5pp, Llama-8B: +3.5pp
    • Model Thinking juga meningkat +2~3pp
  • Peningkatan per tingkat kesulitan

    • Qwen3-30B-Instruct: Easy +6.5pp / Medium +14.2pp / Hard +15.3pp
    • Pada model Thinking juga, peningkatan terbesar terjadi pada segmen Hard
  • Keragaman tetap terjaga

    • Peningkatan pass@5 lebih besar daripada pass@1 → keragaman generasi tetap terjaga dan bahkan meningkat
    • Contoh: Qwen3-30B-Instruct pass@5 +18.1pp (Hard +23.0pp)
  • Generalisasi domain

    • Di luar competitive programming, performa juga tetap terjaga pada tugas matematika, kode umum, dan pemahaman

5. Perbandingan kebijakan decoding

  • Efek SSD tidak bisa direproduksi hanya dengan penyesuaian temperature

    • Hasil temperature sweep pada model dasar: perubahan pass@1 hanya sekitar 1.5–3.0pp
    • SSD meningkatkan +11.8pp pada kondisi yang sama (Qwen3-30B-Instruct)
    • Kesenjangan paling besar terutama terlihat pada soal Hard dan pass@5
    • SSD mengubah distribusi internal model itu sendiri, sehingga tidak dapat digantikan dengan penyesuaian decoding sederhana

6. Interaksi hyperparameter

  • Perkalian antara temperature pelatihan (Ttrain) dan temperature evaluasi (Teval), yaitu Teff = Ttrain × Teval, menentukan performa
    • Performa terbaik muncul di sekitar Teff ≈ 1.2
    • Semakin tinggi Ttrain, semakin sensitif terhadap perubahan Teval
  • Menambahkan truncation meningkatkan batas atas performa
    • Pengaturan optimal: Ttrain=2.0, Teval=1.1, top-k=10 → pass@1 49.7% (+7.3pp)
    • Truncation memberi peningkatan tambahan dengan membuang ekor berprobabilitas rendah

7. Cara kerja SSD

  • Konflik Precision–Exploration

    • Lock: posisi yang secara gramatikal hampir tetap benar → memerlukan temperature rendah
    • Fork: posisi dengan beberapa solusi yang mungkin → memerlukan temperature tinggi
    • Sulit memenuhi kedua kebutuhan ini sekaligus dengan satu temperature saja
  • Peran SSD

    • Pada Lock, SSD menekan probabilitas ekor untuk memperkuat presisi
    • Pada Fork, SSD meratakan probabilitas di antara kandidat teratas agar keragaman eksplorasi tetap terjaga
    • Hasilnya, SSD melakukan pembentukan ulang distribusi yang bergantung pada konteks

8. Verifikasi eksperimental

  • Eksperimen pada lingkungan simulasi

    • SSD diterapkan pada lingkungan sederhana dengan struktur 1 kali Fork + 3 kali Lock
    • Setelah SSD, probabilitas sukses meningkat dan rentang temperature optimal meluas
    • Ini menegaskan bahwa pelatihan dan decoding saling melengkapi
  • Analisis pada model nyata

    • Setelah SSD, probabilitas kumulatif token teratas meningkat dan probabilitas ekor menurun
    • Bahkan pada Teval tinggi, jumlah kandidat teratas yang valid meningkat dan entropi naik
    • Artinya, SSD mencapai penghapusan ekor sekaligus perluasan distribusi teratas

9. Analisis teoretis

  • Loss pelatihan SSD diuraikan menjadi tiga komponen
    1. Support Compression: menghapus probabilitas ekor
    2. Within-Support Reshaping: membentuk ulang distribusi teratas
    3. Alignment to Base Model: mempertahankan keselarasan dengan model dasar
  • Pada Lock, komponen pertama dominan → penghapusan ekor
  • Pada Fork, komponen kedua bekerja → perataan distribusi teratas
  • Entropi total menurun, tetapi entropi eksplorasi yang berguna tetap terjaga
  • Penyesuaian decoding sederhana tidak dapat melakukan pembentukan ulang spesifik konteks seperti ini

10. Eksperimen data abnormal

  • Pada data yang dihasilkan dengan Ttrain=2.0, tanpa truncation, sebanyak 62% merupakan noise tak bermakna (gibberish)
  • Meski demikian, setelah SSD diterapkan
    • pass@1: 42.4% → 48.1% (+5.7pp)
    • pass@5: 53.5% → 64.0% (+10.5pp)
    • Pada soal Hard, meningkat +7.3pp / +13.8pp
  • Ini menunjukkan bahwa SSD dapat mendorong peningkatan melalui pembelajaran struktur distribusi, bukan kualitas jawaban benar semata

Kesimpulan

  • Simple Self-Distillation (SSD)
    • meningkatkan performa pembuatan kode hanya dengan keluaran model itu sendiri tanpa guru atau verifikasi eksternal
    • meredakan konflik precision-exploration dan mencapai peningkatan yang dapat digeneralisasi melalui pembentukan ulang distribusi
  • SSD adalah metode yang sederhana namun kuat dan dapat diterapkan pada tahap post-training, serta menawarkan alternatif praktis untuk meningkatkan kualitas pembuatan kode LLM

1 komentar

 
GN⁺ 17 hari lalu
Komentar Hacker News
  • Alasan makalah ini menarik adalah karena ia benar-benar mengimplementasikan konsep context-aware decoding
    Dijelaskan bahwa dalam proses pembuatan kode, titik ‘fork’ (percabangan kreatif dengan banyak interpretasi yang mungkin) dan titik ‘lock’ (keputusan sintaksis yang menuntut ketepatan) muncul silih berganti
    Kesan yang menonjol adalah bahwa teknik SSD (Simple Self-Distillation) meningkatkan peringkat token optimal dalam kedua situasi itu, sehingga model bisa bekerja lebih kreatif saat perlu mengeksplorasi, dan lebih presisi saat akurasi dibutuhkan

    • Sebenarnya, penemuan sifat baru LLM seperti ini terasa wajar alih-alih mengejutkan
      Bahkan otak manusia sudah diteliti selama ribuan tahun, tetapi masih banyak bagian yang belum dipahami
      Bahkan emergent behavior pada arus lalu lintas pun baru belakangan dipahami dengan lebih jelas
      Jadi wajar jika kita terus menemukan sifat baru pada LLM
    • Yang menarik adalah model menggunakan jumlah komputasi yang sama untuk token ‘fork’ maupun ‘lock’
      Dengan sampling berbasis tata bahasa atau grammar-aware decoding, token yang secara tata bahasa sudah tunggal bahkan bisa langsung disisipkan tanpa memanggil model
      Namun dalam sistem yang saat ini dipakai luas, hal ini hampir tidak diterapkan
      Menarik untuk dipikirkan apakah pendekatan yang digeneralisasi mungkin dilakukan: lebih banyak komputasi untuk pilihan penting, dan lebih sedikit komputasi untuk token yang sudah jelas
    • Saat melakukan fine-tuning pada model kecil, ada yang mengalami masalah mode collapse, dan itu teratasi setelah urutan field diacak saat pelatihan
      Sekarang ia sedang mempertimbangkan apakah pendekatan yang sama perlu diterapkan juga saat inferensi
    • Yang menarik, SSD tetap efektif meski tidak menyesuaikan temperature secara real-time atau memprediksi titik fork/lock
    • Konsep ini tampaknya bisa diterapkan bukan hanya pada kode, tetapi juga pada berbagai jenis konten generatif lainnya
      Bedanya, pada kode strukturnya lebih jelas, tetapi mekanisme fork/lock tampaknya relevan di banyak domain masalah
  • Self-Distillation tampak seperti arah utama perkembangan LLM
    Riset Self-Distillation Fine-Tuning(SDFT) dari tim MIT dan ETH sudah menunjukkan efisiensi tinggi
    SSD (Simple Self-Distillation) dalam makalah ini pada dasarnya merupakan kelanjutan dari jalur itu, hanya namanya saja yang berbeda
    Penamaan SSD juga membingungkan karena tumpang tindih dengan SSD (solid-state drive)
    Akan lebih baik jika mereka mengakui asal-usul dan garis keturunan dari riset SDFT yang lebih jelas

  • Baru-baru ini ada yang melihat video Gemma 4 berjalan secara lokal dengan kecepatan 50 token per detik
    Kemampuannya sudah menunjukkan level setara Sonnet 3x~4
    Jika teknik seperti SSD ditambahkan, tampaknya pada sekitar 2028 model kode yang murah dan kuat akan menjadi umum
    Pengembang berpengalaman kemungkinan akan menjalankan model mereka sendiri sebagai transpiler nondeterministik yang mengubah bahasa alami menjadi kode

    • Ini juga sering terpikir. Jika model dilatih hanya dengan versi terbaru dari bahasa yang saya gunakan (PHP, SQL, JS, dan sebagainya), bukankah itu bisa menjadi model yang jauh lebih kecil dan cepat
      Sekarang rasanya seperti ‘membangun rumah di atas paku’
    • Tentu saja, pada saat itu model frontier dengan memori per proyek dan pembelajaran on-demand mungkin akan mengungguli model pribadi
  • Hipotesis inti SSD, yaitu konflik precision–exploration, mirip dengan masalah yang ingin dipecahkan oleh Adaptive Decoding

    • Saya juga sangat tertarik pada Adaptive Decoding
      Saat inferensi, tampaknya jelas bahwa dibutuhkan temperature tinggi ketika pemikiran kreatif diperlukan, dan temperature rendah ketika ketepatan sintaksis dibutuhkan
  • Hanya dengan terus bertanya, “apakah ini solusi yang paling elegan?” berulang kali, keluaran LLM bisa membaik secara nyata
    Jika model bisa menemukan jawaban yang lebih baik semudah itu, muncul pertanyaan mengapa ia tidak melakukannya sejak awal

    • Pada praktiknya, solusi elegan hampir tidak pernah muncul pada percobaan pertama
      Biasanya kita membuat solusi yang berfungsi dulu, lalu menyempurnakannya berkali-kali sampai akhirnya menjadi ringkas
    • Pengembang manusia juga sama
      Ada yang berpikir setengah hari sebelum menulis kode, ada pula yang langsung mengimplementasikan solusi pertama
      LLM saat ini lebih dekat ke tipe yang kedua
  • Riset ini sangat mungkin mengarah pada model pembangkitan kode yang lebih baik
    Namun kita masih belum benar-benar memahami apa yang terjadi di ruang berdimensi tinggi
    Pada akhirnya kita masih mengeksplorasi dengan pendekatan ‘coba lempar dan lihat apakah menempel’

  • Terobosan dalam machine learning sering kali tampak sederhana di permukaan
    Transformer juga begitu, dan SSD kali ini pun sama
    Mungkin karena kita masih belum memiliki landasan teoretis yang dalam

    • Seperti banyak penemuan lainnya, kesederhanaan sering menjadi tanda kebenaran
      Kompleksitas sering kali menjadi sinyal bahwa pemahaman kita masih kurang
      Dari pengalaman saya dalam pemrograman, ini adalah aturan yang cukup bisa dipercaya
  • Ironisnya, Apple masih mempublikasikan riset AI, tetapi OpenAI tidak

    • Saya juga merasa itu aneh. Rasanya tidak ada alasan kuat untuk merahasiakannya
    • Mungkin karena OpenAI masih belum punya ‘pasar’ yang harus dipertahankan
  • Ada yang merangkum makalah ini sebagai “model yang di-fine-tuning agar hanya bagus pada hasil kode benchmark”, tetapi sebenarnya tidak begitu

    • Jika melihat makalahnya, tanpa verifikasi jawaban atau evaluasi kualitas, mereka hanya memasukkan input benchmark lalu memakai hasil keluarannya lagi untuk pelatihan
      Setelah itu, model dengan pengaturan decoding (temp, top-k) yang disesuaikan menghasilkan performa yang lebih baik daripada model asli
      Jadi ini bukan sekadar fine-tuning yang disesuaikan untuk benchmark, melainkan peningkatan performa berbasis output dirinya sendiri
  • Riset ini bisa dianalogikan dengan latihan golf
    Dengan memukul bola ribuan kali hingga ayunan dasar menjadi otomatis, seseorang bisa lebih percaya diri mencoba pukulan yang kreatif dan berisiko dalam pertandingan nyata
    SSD juga merupakan pendekatan yang memperkuat pola dasar agar tersedia ruang untuk pilihan kreatif dengan cara seperti itu