← नवीनतम पेपर
🤖 AI

Function-Level Execution Feedback for Code Preference Optimization

यह शोध पत्र STEP-KTODER का परिचय देता है, जो कोड प्राथमिकता अनुकूलन (code preference optimization) के लिए एक ढांचा है जो चरणों को यूनिट टेस्ट से प्राप्त बाइनरी शुद्धता लेबल वाले मॉड्यूल-स्तरीय कार्यों के रूप में परिभाषित करता है, यह प्रदर्शित करते हुए कि यह निष्पादन-आधारित प्रक्रिया पर्यवेक्षण (execution-based process supervision) केवल परिणाम-आधारित विधियों की तुलना में काफी बेहतर प्रदर्शन करता है और LLM-as-a-judge एनोटेशन के कारण होने वाले लेबल भ्रष्टाचार से बचता है।

मूल लेखक: Idris Nechnech, Sehwan Kim, Jimin Seo, Yeongoon Kim, Minhae Oh, Sangwoo Hong, Jungwoo Lee

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

मूल लेखक: Idris Nechnech, Sehwan Kim, Jimin Seo, Yeongoon Kim, Minhae Oh, Sangwoo Hong, Jungwoo Lee

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

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

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

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

इस खोज का मूल आधार शोधकर्ताओं द्वारा कोडिंग की उस जटिल वास्तविकता को संभालने में निहित है, जहाँ एक प्रोग्राम अपने सभी अंतिम परीक्षणों को पास कर सकता है भले ही उसका एक आंतरिक हिस्सा दोषपूर्ण हो। अतीत में, ऐसी विरोधाभासों को अक्सर अनदेखा कर दिया जाता था या सुधारा जाता था। हालाँकि, टीम ने पाया कि ये संघर्ष वास्तव में मूल्यवान हैं। इन मामलों को सुरक्षित रखकर जहाँ पूरा प्रोग्राम काम करता है लेकिन एक विशिष्ट कार्य विफल हो जाता है, उन्होंने मॉडल को एक सूक्ष्म पाठ प्रदान किया: एक प्रोग्राम समग्र रूप से सफल हो सकता है जबकि उसमें ऐसे त्रुटियाँ भी हो सकती हैं जिन्हें ठीक करने की आवश्यकता है। यह दृष्टिकोण मॉडल को अपने कोड के उन हिस्सों को सुदृढ़ करने में सीखने की अनुमति देता है जो अच्छी तरह से काम कर रहे हैं, जबकि विशेष रूप से उन हिस्सों को लक्षित करता है जो ठीक नहीं हैं, बिल्कुल एक मैकेनिक की तरह जो यह जानता है कि पूरे इंजन को बदलने के बजाय किस बोल्ट को कसना है।

यह कार्य जटिल कार्यों में आर्टिफिशियल इंटेलिजेंस को अधिक विश्वसनीय बनाने के लिए एक व्यावहारिक मार्ग सुझाता है। अंतिम उत्पाद को अलग-थोक रूप में आंकने के बजाय और उसे बनाने वाले व्यक्तिगत घटकों की शुद्धता पर ध्यान केंद्रित करके, शोधकर्ता इन प्रणालियों को अधिक प्रभावी ढंग से सीखने के लिए निर्देशित कर सकते हैं। अध्ययन यह प्रदर्शित करता है कि कोड जनरेशन के लिए, सबसे प्रभावी पर्यवेक्षण कोड के स्वयं चलने और परीक्षण किए जाने से आता है, न कि किसी दूसरी राय से। परिणाम-आधारित फीडबैक से प्रक्रिया-आधारित फीडबैक की ओर यह बदलाव, जो वास्तविक निष्पादन पर आधारित है, मशीनों के लिए प्रोग्रामिंग के कौशल को सीखने का एक स्पष्ट और अधिक सीधा तरीका प्रदान करता है।

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

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

Digest आज़माएँ →