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

BoostAPR: Boosting Automated Program Repair via Execution-Grounded Reinforcement Learning with Dual Reward Models

BoostAPR एक तीन-चरणीय ढांचा है जो सुपरवाइज्ड फाइन-ट्यूनिंग को निष्पादन-सत्यापित तर्क (execution-verified reasoning) और दोहरे रिवॉर्ड मॉडल के साथ जोड़कर स्वचालित प्रोग्राम रिपेयर को बढ़ाता है ताकि सुदृढीकरण शिक्षण (reinforcement learning) के दौरान सूक्ष्म, लाइन-स्तरीय क्रेडिट असाइनमेंट सक्षम किया जा सके, जिससे कई बेंचमार्क में अत्याधुनिक प्रदर्शन और मजबूत क्रॉस-लैंग्वेज सामान्यीकरण प्राप्त होता है।

मूल लेखक: Yuanhao Li, Hongbo Wang, Xiaotang Shang, Xunzhu Tang, Yiming Cao, Xuhong Chen

प्रकाशित 2026-05-12
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Yuanhao Li, Hongbo Wang, Xiaotang Shang, Xunzhu Tang, Yiming Cao, Xuhong Chen

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

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

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

यह पेपर BOOSTAPR नामक एक नई प्रणाली पेश करता है जो इस समस्या को हल करती है। इसे एक तीन-चरणीय प्रशिक्षण शिविर (training camp) के रूप में समझें, जिसे उस अनाड़ी प्रशिक्षु को एक कुशल मैकेनिक में बदलने के लिए डिज़ाइन किया गया है।

चरण 1: "सोचो-फिर-करो" का होमवर्क (Supervised Fine-Tuning)

सबसे पहले, सिस्टम केवल प्रशिक्षु को अंतिम सुधार नहीं दिखाता। इसके बजाय, यह उन्हें एक मास्टर मैकेनिक की नोटबुक दिखाता है।

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

चरण 2: दो अलग-अलग कोच को काम पर रखना (Dual Reward Models)

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

  1. "बड़ी तस्वीर" वाला कोच (RseqR_{seq}): यह कोच पूरे मरम्मत कार्य को देखता है। क्या मशीन चली? हाँ या नहीं? वे पूरे पैच के लिए एक स्कोर देते हैं।
  2. "माइक्रोस्कोप" वाला कोच (RlineR_{line}): यह नया और गुप्त मंत्र है। यह कोच मरम्मत को लाइन-दर-लाइन देखता है।
    • उपमा: कल्पना कीजिए कि प्रशिक्षु ने इंजन ठीक कर दिया लेकिन साथ ही कार को एक अजीब रंग में पेंट कर दिया और रेडियो स्टेशन भी बदल दिया। "बड़ी तस्वीर" वाला कोच कहता है, "यह चल रही है, इसलिए यह एक अच्छा काम है।" लेकिन "माइक्रोस्कोप" वाला कोच कहता है, "रुको, पेंटिंग और रेडियो ने इंजन ठीक करने में मदद नहीं की। केवल बेल्ट कसने ने ही मदद की। आइए सफलता का श्रेय बेल्ट को दें, न कि पेंट को।"
    • पेपर का दावा: यह कोच यह पहचानने के लिए सीखता है कि कोड की कौन सी विशिष्ट लाइनें (edit spans) वास्तव में बग को ठीक करती हैं और कौन सी लाइनें केवल शोर (noise) थीं। यह "बड़ी तस्वीर" के स्कोर को लेता है और श्रेय को उन विशिष्ट लाइनों में पुनर्वितरित करता है जो वास्तव में महत्वपूर्ण थीं।

चरण 3: स्मार्ट फीडबैक के साथ अभ्यास का दौर (PPO Optimization)

अंत में, प्रशिक्षु वास्तविक समय में बग ठीक करने का अभ्यास करने के लिए एक सिमुलेशन में जाता है।

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

परिणाम: यह कितनी अच्छी तरह काम कर गया?

लेखकों ने इस नए प्रशिक्षण शिविर का परीक्षण चार अलग-अलग "गरजों" (benchmarks) पर किया जिनमें हजारों टूटे हुए कोड के उदाहरण थे:

  • SWE-bench (वास्तविक दुनिया के GitHub बग्स): AI ने 40.7% बग्स को ठीक किया। यह इसी AI मॉडल के बिना, बिना इस विशेष प्रशिक्षण के, 22.9% की बड़ी छलांग है।
  • Defects4J (Java बग्स): भले ही AI को मुख्य रूप से पायथन (Python) पर प्रशिक्षित किया गया था, इसने सफलतापूर्वक 24.8% जावा बग्स को ठीक किया। यह दर्शाता है कि "माइक्रोस्कोप" कोच ने प्रशिक्षु को केवल पायथन-विशिष्ट ट्रिक्स के बजाय सामान्य मरम्मत कौशल सीखने में मदद की।
  • HumanEval-Java और QuixBugs: इसने इन विशिष्ट कोडिंग चुनौतियों पर बहुत उच्च स्कोर (84.5% और 95.0%) प्राप्त किया।

यह क्यों मायने रखता है (पेपर के अनुसार)

पेपर का तर्क है कि सबसे बड़ी सफलता यह नहीं है कि AI केवल स्मार्ट हो गया, बल्कि यह है कि वह कैसे स्मार्ट हुआ। "क्या यह काम कर गया?" (सीक्वेंस-लेवल) से हटकर "किन विशिष्ट लाइनों ने इसे काम करने योग्य बनाया?" (लाइन-लेवल) की ओर बढ़कर, उन्होंने सीखने की एक बड़ी बाधा को हल कर दिया।

"माइक्रोस्कोप" कोच (RlineR_{line}) ने अकेले सारा भारी काम नहीं किया; "बड़ी तस्वीर" वाले कोच (RseqR_{seq}) ने अधिकांश काम किया। हालाँकि, माइक्रोस्कोप कोच ने नई, कठिन समस्याओं के लिए सामान्यीकरण (generalize) करने के लिए आवश्यक अतिरिक्त बढ़ावा प्रदान किया और प्रशिक्षण प्रक्रिया को अधिक स्थिर और कुशल बनाया।

संक्षेप में: BOOSTAPR AI को विशेषज्ञ की सोच की प्रक्रिया दिखाकर, पूरे काम को ग्रेड करने के लिए एक कोच रखकर, और हर एक कसे गए पेंच को ग्रेड करने के लिए दूसरे कोच को नियुक्त करके कोड ठीक करना सिखाता है, जिससे यह सुनिश्चित होता है कि AI अगली बार ठीक से क्या करना है, यह सीख सके।

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

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

Digest आज़माएँ →