How Many Tries Does It Take? Iterative Self-Repair in LLM Code Generation Across Model Scales and Benchmarks
यह शोध पत्र प्रदर्शित करता है कि पुनरावृत्ति स्व-मरम्मत (iterative self-repair) HumanEval और MBPP बेंचमार्क पर विविध आधुनिक LLMs (Llama 3.1/3.3/4 और Gemini 2.5 परिवारों सहित) में कोड जनरेशन की सटीकता को महत्वपूर्ण रूप से बढ़ाती है, जो यह प्रकट करता है कि अधिकांश लाभ पहले दो प्रयासों के भीतर ही प्राप्त होते हैं, एसेर्शन एरर (assertion errors) को ठीक करना सबसे चुनौतीपूर्ण बना रहता है, और यहाँ तक कि छोटे 8B मॉडल भी फाइन-ट्यूनिंग के बिना केवल प्रॉम्प्टिंग का उपयोग करके प्रभावी ढंग से स्व-सुधार कर सकते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
यहाँ "How Many Tries Does It Take? Iterative Self-Repair in LLM Code Generation" पेपर का सरल, रोज़मर्रा की भाषा और कुछ रचनात्मक उपमाओं (analogies) के साथ हिंदी अनुवाद दिया गया है।
मुख्य विचार: "सिर्फ अंदाज़ा मत लगाओ, अपना काम जाँचो"
कल्पារना कीजिए कि आप एक बहुत ही बुद्धिमान, लेकिन थोड़े अधीर (impatient) रोबोट से अपने लिए एक रेसिपी लिखने के लिए कह रहे हैं।
- पुराना तरीका (Single-Shot): आप रोबोट से एक रेसिपी मांगते हैं, वह आपको एक दे देता है, और आपको या तो उसे स्वीकार करना होगा या छोड़ना होगा। अगर रेसिपी कहती है "50 कप नमक डालें," तो आप एक नमकीन आपदा के साथ फंस जाते हैं। पिछले अधिकांश अध्ययनों ने केवल इसी "एक बार में खत्म" वाले प्रयास को देखा।
- नया तरीका (Self-Repair): आप रोबोट से एक रेसिपी मांगते हैं। वह एक लिखता है। आप उसे पकाने की कोशिश करते हैं, और उसका स्वाद बहुत बुरा होता है। हार मानने के बजाय, आप रोबोट से कहते हैं, "अरे, यह बहुत नमकीन है।" रोबोट आपकी शिकायत पढ़ता है, सोचता है, "ओह, मेरा मतलब 1 छोटा चम्मच था," और एक नई रेसिपी लिखता है। आप फिर से कोशिश करते हैं। यदि यह अभी भी गलत है, तो आप फिर से शिकायत करते हैं, और वह तीसरी बार में इसे ठीक करता है।
यह पेपर पूछता है: क्या यह "कोशिश करो, असफल हो, सुधारो, फिर से कोशिश करो" वाला लूप वास्तव में आधुनिक AI मॉडल्स के लिए काम करता है? और क्या यह सभी मॉडल्स के लिए काम करता है, यहाँ तक कि छोटे और सस्ते मॉडल्स के लिए भी?
पात्रों की सूची (The Models)
शोधकर्ताओं ने सात अलग-अलग AI मॉडल्स (रोबोट्स) का परीक्षण किया। इन्हें अलग-अलग प्रकार के छात्रों के रूप में सोचें:
- छोटे छात्र: जैसे कि 8-बिलियन पैरामीटर वाला मॉडल (Llama 3.1 8B)। वे तेज़ और सस्ते हैं लेकिन अधिक गलतियाँ करते हैं।
- बड़े छात्र: जैसे कि 70-बिलियन पैरामीटर वाले मॉडल्स (Llama 3.3 70B, Gemini 2.5 Pro)। वे धीमे और महंगे हैं लेकिन आमतौर पर पहली बार में ही सही काम करते हैं।
- विशेषज्ञ छात्र: "Scout" और "Maverick" जैसे मॉडल्स जो "Mixture of Experts" (MoE) आर्किटेक्चर का उपयोग करते हैं। एक ऐसे छात्र की कल्पना करें जिसके अंदर 16 या 128 अलग-अलग "मिनी-दिमाग" हैं, और काम के लिए केवल आवश्यक विशिष्ट दिमाग ही जागता है।
- गतिवान (Speedsters): जैसे कि Gemini 2.5 Flash, जिसे अविश्वसनीय रूप से तेज़ होने के लिए डिज़ाइन किया गया है।
उन्होंने इन छात्रों का दो प्रकार के होमवर्क पर परीक्षण किया:
- HumanEval: छोटे, मानक कोडिंग पहेली (जैसे कि एक क्लास टेस्ट/क्विज़)।
- MBPP: बुनियादी प्रोग्रामिंग समस्याओं का एक थोड़ा बड़ा सेट।
मुख्य निष्कर्ष: फीडबैक का "जादू"
परिणाम आश्चर्यजनक रूप से सकारात्मक थे। यहाँ उन्होंने क्या पाया, हमारी किचन वाली उपमा का उपयोग करते हुए:
1. फीडबैक से हर कोई बेहतर होता है
अतीत में, शोधकर्ताओं को लगा था कि छोटे या "कमजोर" AI मॉडल्स और भी अधिक भ्रमित हो जाएंगे यदि आप उन्हें बताएंगे कि वे गलत हैं। उन्हें लगा था कि रोबोट बस एक नई, और भी खराब रेसिपी बना देगा।
- खोज: यह अब सच नहीं है! हर एक मॉडल, छोटे 8B मॉडल से लेकर विशाल 70B मॉडल तक, काफी बेहतर हो गया जब उसे अपनी गलतियों को सुधारने की अनुमति दी गई। यहाँ तक कि छोटे मॉडल्स में भी भारी सुधार हुआ। यह एक ऐसे छात्र की तरह है जिसे जब कहा जाता है "अपना गणित चेक करो," तो वह वास्तव में अपना काम चेक करना सीख जाता है और 'A' ग्रेड पाता है।
2. "पहले दो प्रयासों" का नियम
आप सोच सकते हैं कि आपको रोबोट को सही होने के लिए 10 बार कोशिश करने देने की ज़रूरत है।
- खोज: आपको इसकी ज़रूरत नहीं है। 90% सुधार पहले दो प्रयासों में ही हो जाता है।
- प्रयास 1: रोबोट कोड लिखता है। (शायद विफल हो जाता है)।
- प्रयास 2: रोबोट स्पष्ट गलतियों को ठीक करता है। (भारी सुधार!)।
- प्रयास 3 और 4: रोबोट छोटी, पेचीदा बग्स को ठीक करता है। (मामूली सुधार)।
- प्रयास 5: रोबोट बस गोल-गोल घूम रहा है (कोई खास फायदा नहीं)।
- सबक: यदि आप कोई ऐप बना रहे हैं, तो AI को बस दो बार कोशिश करने दें। यह गुणवत्ता और लागत के बीच का सबसे सही बिंदु (sweet spot) है।
3. सभी गलतियाँ एक जैसी नहीं होतीं
शोधकर्ताओं ने देखा कि रोबोट क्यों विफल हुए।
- आसान सुधार: यदि रोबट ने कोई वेरिएबल परिभाषित करना भूल गया (एक "Name Error") या विराम चिह्न (punctuation) में गलती की (एक "Syntax Error"), तो उसने इन्हें लगभग तुरंत ठीक कर लिया। यह ऐसा है जैसे रोबोट कहता है, "ओह, मैं कॉमा भूल गया! मेरी गलती।"
- कठिन सुधार: यदि रोबोट ने ऐसा कोड लिखा जो चलता तो बिल्कुल सही है लेकिन उत्तर गलत देता है (एक "Assertion Error"), तो उसे संघर्ष करना पड़ा। यह ऐसा है जैसे रोबोट एक ऐसी रेसिपी लिखता है जो दिखने में एकदम सही है लेकिन परिणाम स्वरूप केक जल जाता है। रोबोट लॉजिक की गलती को उतनी आसानी से नहीं देख पाता जितनी आसानी से वह एक छूटे हुए कॉमा को देख लेता है।
- सफलता दर: उसने "Name Errors" को लगभग 77% बार ठीक किया, लेकिन "Logic Errors" को केवल 45% बार ठीक कर पाया।
4. "Chain of Thought" की महाशक्ति
शोधकर्ताओं ने एक ट्रिक आज़माई: केवल "इसे ठीक करो" कहने के बजाय, उन्होंने रोबोट से कोड लिखने से पहले अपनी सोच को समझाने के लिए कहा।
- खोज: स्मार्ट मॉडल्स के लिए, यह "अपना काम समझाएं" वाला चरण गेम-चेंजर साबित हुआ। यह एक छात्र को गणित के टेस्ट पर अपना काम दिखाने के लिए कहने जैसा था। स्मार्ट मॉडल जितना अधिक होता, उसे इससे उतना ही अधिक लाभ मिलता। छोटे मॉडल्स को इससे ज्यादा फायदा नहीं हुआ, लेकिन बड़े मॉडल्स काफी आगे निकल गए।
5. मरम्मत बनाम री-सैंपलिंग (लॉटरी बनाम ट्यूटर)
AI से बेहतर उत्तर पाने के दो तरीके हैं:
- री-सैंपलिंग (लॉटरी): AI को एक साथ 5 अलग-अलग बार कोड लिखने के लिए कहें और सबसे अच्छा चुनें। यह बहुत अधिक कंप्यूटर पावर (tokens) का उपयोग करता है।
- सेल्फ-रिपेयर (ट्यूटर): AI को एक बार लिखने दें, त्रुटि देखें, और उसे ठीक करें।
- खोज: स्मार्ट मॉडल्स के लिए, सेल्फ-रिपेयर बहुत सस्ता और अक्सर बेहतर होता है। यह एक छात्र को एक खराब निबंध को ठीक करने के लिए ट्यूटर रखने बनाम 5 अलग-अलग छात्रों को 5 अलग-अलग निबंध लिखने के लिए रखने जैसा है। "ट्यूटर" वाला दृष्टिकोण (Self-Repair) समान या बेहतर परिणाम प्राप्त करते हुए बहुत सारे पैसे (कंप्यूटर टोकन्स) बचा लेता है।
"MoE" का रहस्य
पेपर ने "Dense" मॉडल्स (एक बड़ा दिमाग) बनाम "MoE" मॉडल्स (कई छोटे विशेषज्ञ) की भी तुलना की।
- परिणाम: "MoE" मॉडल्स (जैसे Llama 4 Scout) अपनी गलतियों को ठीक करने में आश्चर्यजनक रूप से अच्छे थे, कभी-कभी बड़े "Dense" मॉडल्स को भी पीछे छोड़ देते हैं। यह सुझाव देता है कि मॉडल के अंदर विशेष "विशेषज्ञों" का होना उसे त्रुटियों का निदान करने में मदद करता है।
इंसानों के लिए निचोड़ (Bottom Line)
यदि आप एक डेवलपर या बिजनेस ओनर हैं जो कोड लिखने के लिए AI का उपयोग कर रहे हैं:
- पहले प्रयास पर ही न रुकें। हमेशा AI को अपनी गलतियों को सुधारने दें।
- दो बार पर रुक जाएं। इसे दो बार से अधिक कोशिश करने देना आमतौर पर अतिरिक्त लागत के लायक नहीं होता।
- उसे सोचने के लिए कहें। यदि आपके पास एक शक्तिशाली मॉडल है, तो उसे "बग को ठीक करने से पहले उसे समझाएं" (explain the bug before fixing it) कहें।
- यह सबके लिए काम करता है। आपको अच्छे परिणाम पाने के लिए बहुत महंगे, विशाल मॉडल की आवश्यकता नहीं है; छोटे, सस्ते मॉडल्स भी अपनी गलतियों से सीख सकते हैं यदि आप उन्हें मौका दें।
संक्षेप में: AI अब केवल एक "अनुमान लगाओ और जांचो" (guess and check) मशीन नहीं है। यह एक "कोशिश करो, सीखो और सुधारो" मशीन बनता जा रहा है, और हमें इसे यह सिखाने की ज़रूरत नहीं है कि ऐसा कैसे करना है—इसे बस बातचीत शुरू करने के लिए सही प्रॉम्प्ट की आवश्यकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।