← नवीनतम पेपर
💬 NLP

Stable-DiffCoder: Pushing the Frontier of Code Diffusion Large Language Model

स्टेबल-डिफ्यूज़कोडर (Stable-DiffCoder) एक ब्लॉक डिफ्यूजन कोड मॉडल है जो, एक विशेष रूप से तैयार की गई निरंतर प्रीट्रेनिंग रणनीति और वॉर्मअप शेड्यूल के माध्यम से, कोड बेंचमार्क पर तुलनीय ऑटोरेग्रेसिव बेसलाइन और अन्य बड़े भाषा मॉडलों से बेहतर प्रदर्शन करता है, जबकि संरचित कोड संपादन, तर्क और कम-संसाधन वाली भाषाओं के समर्थन को बढ़ाता है।

मूल लेखक: Chenghao Fan, Wen Heng, Bo Li, Sichen Liu, Yuxuan Song, Jing Su, Xiaoye Qu, Kai Shen, Wei Wei

प्रकाशित 2026-01-26
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Chenghao Fan, Wen Heng, Bo Li, Sichen Liu, Yuxuan Song, Jing Su, Xiaoye Qu, Kai Shen, Wei Wei

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक रोबोट को कंप्यूटर कोड लिखना सिखा रहे हैं। लंबे समय तक, इसे करने का मानक तरीका एक बच्चे को एक बार में एक अक्षर करके कहानी लिखना सिखाने जैसा रहा है, जो सख्ती से बाएं से दाएं चलता है। आप कहते हैं "एक समय की बात है," और रोबोट को अगला शब्द, फिर अगला शब्द, और इसी तरह अनुमान लगाना होता है। यह विधि, जिसे ऑटोरिग्रेसिव (AR) जनरेशन कहा जाता है, बहुत अच्छी है, लेकिन यह थोड़ी कठोर है। वास्तविक प्रोग्रामर हमेशा एक सीधी रेखा में कोड नहीं लिखते; वे अक्सर बीच में खाली जगह भरते हैं, अंत लिखने के बाद शुरुआत में गलती सुधारते हैं, या एक ही समय में कई स्वतंत्र कोड ब्लॉक लिखते हैं।

यहाँ आता है स्टेबल-डिफकोडर (Stable-DiffCoder), एक नया मॉडल जो रोबोट को एक मानव प्रोग्रामर की तरह सोचने के लिए प्रशिक्षित करने की कोशिश करता है। केवल बाएं-से-दाएं लिखने के बजाय, यह डिफ्यूजन (Diffusion) तकनीक का उपयोग करता है।

"डिनोइजिंग" (Denoising) सादृश्य

डिफ्यूजन पद्धति को "संदेश फुसफुसाने" या "क्षतिग्रस्त पेंटिंग को बहाल करने" के खेल की तरह समझें।

  1. पुराना तरीका (AR): रोबोट एक खाली पन्ना देखता है और पहला शब्द लिखता है, फिर दूसरा, फिर तीसरा। एक बार लिखने के बाद वह पहले शब्द के बारे में अपना विचार नहीं बदलता।
  2. नया तरीका (Diffusion): कल्पना कीजिए कि आप कोड का एक पूर्ण, सटीक हिस्सा लेते हैं और यादृच्छिक रूप से उसके हिस्सों को काले मार्कर से ढक देते हैं (यह डेटा को "करप्ट" करना है)। रोबोट का काम उस बिखरे हुए, ढके हुए संस्करण को देखना और यह पता लगाना है कि उसके नीचे का साफ कोड क्या होना चाहिए। वह छोटे-छोटे अनुमान लगाकर, गलत हिस्सों को मिटाकर, और कोड को चरण-दर-चरण परिष्कृत करके इसे करता है, जब तक कि "शोर" (noise) खत्म न हो जाए और कोड फिर से सटीक न हो जाए।

यह बेहतर क्यों है?

पेपर का तर्क है कि यह "गंदगी को ठीक करने" वाला दृष्टिकोण सीखने के लिए एक सुपरपावर है, बशर्ते आप इसे सावधानी से करें।

  • डेटा का पुन: उपयोग (Data Reuse): पुराने तरीके में, रोबोट कोड के एक टुकड़े को एक बार देखता है और आगे बढ़ जाता है। नए तरीके में, रोबोट एक ही कोड के टुकड़े को सौ बार देख सकता है, लेकिन हर बार, एक अलग हिस्सा ढका हुआ होता है। यह गणित की समस्या को इस तरह हल करने जैसा है जैसे संख्याओं को अलग-अलग क्रम में छिपाकर हल किया जा रहा हो। इससे रोबोट केवल उत्तरों को रटने के बजाय कोड के नियमों को बेहतर ढंग से सीखता है।
  • समानांतर सोच (Parallel Thinking): क्योंकि रोबोट एक साथ कई लापता हिस्सों का अनुमान लगा रहा है (जैसे कि क्रॉसवर्ड पहेली भरना), वह एक समय में केवल एक अक्षर के बजाय "ब्लॉक्स" में सोच सकता है। यह उसे बड़े चित्र को समझने में तेज़ और बेहतर बनाता है।

"स्टेबल" का गुप्त मंत्र (The "Stable" Secret Sauce)

शोधकर्ताओं ने पाया कि केवल इस नई पद्धति पर स्विच करने से काम तुरंत नहीं बना; रोबोट भ्रमित हो गया और गलतियाँ करने लगा। इसे ठीक करने के लिए, उन्होंने दो मुख्य ट्रिक्स के साथ स्टेबल-डिफकोडर का आविष्कार किया:

  1. वार्म-अप (The Warm-Up): रोबोट को तुरंत "बिखरे हुए" कोड के गहरे पूल में फेंकने के बजाय, उन्होंने बहुत छोटे, आसान कार्यों से शुरुआत की (केवल एक या दो शब्दों को ढकना)। जैसे-जैसे रोबोट बेहतर हुआ, उन्होंने कठिनाई को धीरे-धीरे बढ़ाया, बड़े ब्लॉक्स को ढकना शुरू किया। यह एक एथलीट को हल्के वजन से शुरू करके भारी वजन की ओर ले जाने जैसा है।
  2. "नो-एम्प्टी-ब्लॉक" नियम (The "No-Empty-Block" Rule): उन्होंने यह सुनिश्चित किया कि जब भी रोबोट अभ्यास करे, ढके हुए ब्लॉक में कम से कम एक शब्द ऐसा हो जिसे उसे वास्तव में अनुमान लगाना पड़े। इसने रोबोट को उन कार्यों में समय बर्बाद करने से रोका जहाँ सीखने के लिए कुछ भी नहीं था।

परिणाम: क्या यह काम करता है?

टीम ने मौजूदा बेहतरीन कोड-लिखने वाले रोबोटों (गूगल और मेटा जैसी कंपनियों के दिग्गजों सहित) के खिलाफ इस नए रोबोट का परीक्षण किया।

  • दिग्गजों को पछाड़ना: भले ही स्टेबल-डिफकोडर अपने प्रतिस्पर्धियों (लगभग 8 बिलियन "मस्तिष्क कोशिकाओं") के समान आकार का है, इसने लगभग हर टेस्ट में लगातार उच्च स्कोर किया। इसने पुराने "बाएं-से-दाएं" वाले मॉडलों की तुलना में बेहतर कोड लिखा, बग्स को बेहतर तरीके से ठीक किया और जटिल निर्देशों को अधिक सटीकता से समझा।
  • एडिटिंग में बेहतर: चूंकि रोबोट को "खाली स्थान भरने" के लिए प्रशिक्षित किया गया है, इसलिए यह मौजूदा कोड को संपादित करने में असाधारण रूप से कुशल हो गया। यदि आपने इसे किसी प्रोग्राम के बीच में एक फंक्शन बदलने के लिए कहा, तो इसने दूसरों की तुलना में बेहतर काम किया।
  • कम-संसाधन वाली भाषाएँ (Low-Resource Languages): इसने उन प्रोग्रामिंग भाषाओं में भी आश्चर्यजनक रूप से अच्छा प्रदर्शन किया जिनके पास प्रशिक्षण डेटा कम उपलब्ध है। "अनुमान लगाने और ठीक करने" की पद्धति ने इसे इन दुर्लभ भाषाओं को मानक पद्धति की तुलना में तेज़ी से सीखने में मदद की।

निष्कर्ष

पेपर का दावा है कि स्टेबल-डिफकोडर यह सिद्ध करता है कि "डिफ्यूजन" पद्धति (करप्ट डेटा को ठीक करके सीखना) न केवल एक दिलचस्प प्रयोग है, बल्कि कोड मॉडल को प्रशिक्षित करने का एक श्रेष्ठ तरीका भी है। एक स्मार्ट ट्रेनिंग शेड्यूल के साथ इस पद्धति को जोड़कर, उन्होंने एक ऐसा मॉडल बनाया है जो वर्तमान अत्याधुनिक मॉडलों से अधिक सटीक और बहुमुखी है, और इसके लिए न तो अधिक डेटा की आवश्यकता है और न ही बड़े कंप्यूटर की। यह रोबोट को कोड सिखाने का एक नया तरीका है जो वास्तव में इंसानों के काम करने के तरीके की नकल करता है: सुधार करना, संशोधन करना और अंतराल को भरना।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →