- Simple Self-Distillation(SSD) एक ऐसी विधि है जिसमें बड़ा language model teacher model या reinforcement learning के बिना खुद द्वारा जनरेट किए गए कोड को दोबारा सीखकर प्रदर्शन बढ़ाता है
- Qwen3-30B-Instruct मॉडल का LiveCodeBench v6 pass@1 स्कोर 42.4% से 55.3% तक बेहतर होता है, और खासकर कठिन समस्या खंड में +15.3pp सुधार दिखता है
- SSD कोड जनरेशन के दौरान accuracy और exploration के बीच टकराव को कम करता है, और context के अनुसार tail probability को दबाकर उपयोगी विविधता बनाए रखता है
- सिर्फ temperature adjustment या decoding policy बदलने से वही प्रभाव दोहराया नहीं जा सकता, क्योंकि SSD मॉडल के आंतरिक distribution को ही पुनर्गठित करता है
- बाहरी डेटा या verification के बिना लागू किया जा सकने वाला यह सरल post-training learning procedure, LLM कोड जनरेशन गुणवत्ता सुधारने का व्यावहारिक विकल्प प्रस्तुत करता है
सरल self-distillation (Simple Self-Distillation, SSD)
- SSD(Simple Self-Distillation) एक ऐसी विधि है जिसमें बड़ा language model (LLM) teacher model, verifier, reinforcement learning के बिना अपने ही जनरेट किए गए code output का उपयोग करके प्रदर्शन सुधारता है
- मॉडल किसी खास temperature और truncation सेटिंग के साथ sample जनरेट करता है, और उन परिणामों को standard supervised fine-tuning (SFT) से फिर से सीखता है
- किसी भी बाहरी labeled data, reward model, या execution environment की बिल्कुल आवश्यकता नहीं होती
- Qwen3-30B-Instruct मॉडल का LiveCodeBench v6 pass@1 स्कोर 42.4% → 55.3% तक बढ़ा (+12.9pp, +30% सापेक्ष सुधार)
- खासकर कठिन समस्याओं (hard split) में सबसे बड़ा सुधार (+15.3pp)
- Qwen और Llama परिवार के 4B, 8B, 30B मॉडलों में व्यापक रूप से सामान्यीकृत
- SSD precision-exploration टकराव को कम करने के तरीके से काम करता है
- कोड जनरेशन के दौरान कुछ token उच्च precision मांगते हैं ("lock"), जबकि कुछ विविध exploration मांगते हैं ("fork")
- SSD context के अनुसार अनावश्यक tail distribution को दबाते हुए उपयोगी diversity बनाए रखता है
1. शोध पृष्ठभूमि
- उच्च-गुणवत्ता वाले supervised signal (जैसे मानव-लिखित code) की कमी के कारण LLM code generation प्रदर्शन सुधारने में बाधा आती है
- मौजूदा approaches की सीमाएँ
- teacher model आधारित distillation: teacher model की प्रदर्शन सीमा विरासत में मिलती है
- reinforcement learning (RL): reward model और execution-आधारित verification की जरूरत, साथ ही अस्थिरता
- unsupervised विकल्प (जैसे majority voting, entropy minimization): लंबे प्रशिक्षण में collapse का जोखिम
- SSD यह साबित करता है कि बाहरी डेटा या verification के बिना सिर्फ मॉडल के अपने output से सुधार संभव है
2. SSD पद्धति
-
डेटा synthesis
- दिए गए समस्या prompt सेट X के लिए, मॉडल pθ से temperature Ttrain और truncation सेटिंग ρtrain(top-k, top-p) के साथ sampling
- जनरेट किया गया output (y) बिना verification सीधे training data (DSSD) के रूप में उपयोग होता है
- अधिकांश मामलों में N=1 (प्रति समस्या एक sample) पर्याप्त है
-
प्रशिक्षण
- standard cross-entropy loss के साथ supervised fine-tuning किया जाता है
- L(θ) = −E(x,y)∼DSSD Σ log pθ(yt | x, y<t)
-
inference
- प्रशिक्षित मॉडल pθ* को evaluation temperature Teval और truncation सेटिंग ρeval के साथ decode किया जाता है
3. प्रयोग
-
मॉडल संरचना
- Llama-3.1-8B-Instruct, Qwen3-4B/30B (Instruct, Thinking) सहित 5 मॉडल
- 2 परिवार (Llama, Qwen), 3 स्केल (4B, 8B, 30B), 2 reasoning शैली (Instruct, Thinking)
-
डेटा
- rSTARcoder dataset के लगभग 10K competitive programming problems का उपयोग
- सही उत्तर verification के बिना केवल साधारण syntax filtering लागू की गई
-
प्रशिक्षण सेटिंग
- Megatron-LM आधारित, 8×B200 GPU का उपयोग
- AdamW optimizer, अधिकतम sequence length 65,536
- Instruct मॉडल 2,500 step, Thinking मॉडल 300 step
-
मूल्यांकन
- LiveCodeBench v6 (LCB v6) को मुख्य benchmark के रूप में उपयोग किया गया
- pass@1, pass@5, और कठिनाई-आधारित (Easy/Medium/Hard) विस्तृत मूल्यांकन
4. मुख्य परिणाम
-
समग्र प्रदर्शन सुधार
- Qwen3-30B-Instruct: 42.4% → 55.3% pass@1 (+12.9pp)
- Qwen3-4B-Instruct: +7.5pp, Llama-8B: +3.5pp
- Thinking मॉडल में भी +2~3pp सुधार
-
कठिनाई के अनुसार सुधार
- Qwen3-30B-Instruct: Easy +6.5pp / Medium +14.2pp / Hard +15.3pp
- Thinking मॉडल में भी Hard खंड में सबसे बड़ा सुधार
-
diversity बनाए रखना
- pass@5 का सुधार pass@1 से बड़ा → generation diversity बनी रहती है और बेहतर होती है
- उदाहरण: Qwen3-30B-Instruct pass@5 +18.1pp (Hard +23.0pp)
-
domain generalization
- competitive programming के बाहर गणित, सामान्य code, और understanding tasks में भी प्रदर्शन बना रहता है
5. decoding policy तुलना
-
केवल temperature adjustment से SSD प्रभाव पुन: उत्पन्न नहीं किया जा सकता
- Base मॉडल के temperature sweep परिणाम: pass@1 में बदलाव केवल 1.5–3.0pp स्तर का
- SSD वही परिस्थितियों में +11.8pp (Qwen3-30B-Instruct) सुधार देता है
- खासकर Hard समस्याओं और pass@5 में अंतर सबसे बड़ा है
- SSD मॉडल के आंतरिक distribution को स्वयं बदलता है, इसलिए इसे साधारण decoding adjustment से बदला नहीं जा सकता
6. hyperparameter अंत:क्रिया
- training temperature (Ttrain) और evaluation temperature (Teval) का गुणनफल Teff = Ttrain × Teval प्रदर्शन तय करता है
- Teff ≈ 1.2 के आसपास सर्वोत्तम प्रदर्शन
- Ttrain जितना अधिक, Teval बदलाव के प्रति संवेदनशीलता उतनी अधिक
- truncation जोड़ने पर प्रदर्शन की ऊपरी सीमा बढ़ती है
- सर्वोत्तम सेटिंग: Ttrain=2.0, Teval=1.1, top-k=10 → pass@1 49.7% (+7.3pp)
- truncation कम-प्रायिकता tail हटाकर अतिरिक्त सुधार देता है
7. SSD कैसे काम करता है
-
precision-exploration टकराव
- Lock: वे स्थान जहाँ व्याकरण की दृष्टि से सही उत्तर लगभग तय है → कम temperature की आवश्यकता
- Fork: वे स्थान जहाँ कई समाधान संभव हैं → अधिक temperature की आवश्यकता
- एक ही temperature से दोनों जरूरतें पूरी करना कठिन है
-
SSD की भूमिका
- Lock में tail probability दबाकर precision मजबूत करता है
- Fork में शीर्ष candidates के बीच probability को समतल कर exploration diversity बनाए रखता है
- परिणामस्वरूप context-dependent distribution reshaping करता है
8. प्रायोगिक सत्यापन
-
simulated environment प्रयोग
- Fork 1 बार + Lock 3 बार संरचना वाले सरल environment में SSD लागू किया गया
- SSD के बाद सफलता संभावना बढ़ी, और optimal temperature range विस्तृत हुई
- यह पुष्टि हुई कि training और decoding एक-दूसरे के पूरक हैं
-
वास्तविक मॉडल विश्लेषण
- SSD के बाद शीर्ष tokens की cumulative probability बढ़ी, tail probability घटी
- उच्च Teval पर भी प्रभावी शीर्ष candidates की संख्या बढ़ी, entropy बढ़ी
- यानी SSD tail removal और शीर्ष distribution expansion दोनों एक साथ हासिल करता है
9. सैद्धांतिक विश्लेषण
- SSD training loss को तीन terms में विभाजित किया जाता है
- Support Compression: tail probability हटाना
- Within-Support Reshaping: शीर्ष distribution का पुनर्गठन
- Alignment to Base Model: मूल मॉडल के साथ संरेखण बनाए रखना
- Lock में पहला term प्रमुख होता है → tail removal
- Fork में दूसरा term काम करता है → शीर्ष distribution का flattening
- कुल entropy घटती है, लेकिन उपयोगी exploration entropy बनी रहती है
- साधारण decoding adjustment ऐसा context-विशिष्ट पुनर्गठन नहीं कर सकता
10. असामान्य डेटा प्रयोग
- Ttrain=2.0, बिना truncation से जनरेट किए गए डेटा का 62% अर्थहीन शोर (gibberish) था
- इसके बावजूद SSD लागू होने के बाद
- pass@1: 42.4% → 48.1% (+5.7pp)
- pass@5: 53.5% → 64.0% (+10.5pp)
- Hard समस्याओं में +7.3pp / +13.8pp सुधार
- इससे पता चलता है कि SSD सही उत्तर की गुणवत्ता नहीं, बल्कि distribution structure सीखकर सुधार ला सकता है
निष्कर्ष
- Simple Self-Distillation(SSD)
- बाहरी teacher या verification के बिना सिर्फ मॉडल के अपने output से code generation प्रदर्शन सुधारता है
- precision-exploration टकराव को कम करता है, और distribution reshaping के जरिए सामान्यीकृत सुधार हासिल करता है
- SSD post-training चरण में लागू किया जा सकने वाला सरल लेकिन शक्तिशाली तरीका है, जो
LLM code generation गुणवत्ता सुधारने के लिए एक व्यावहारिक विकल्प प्रस्तुत करता है
अभी कोई टिप्पणी नहीं है.