Domain-Adaptable Reinforcement Learning for Code Generation with Dense Rewards
यह शोध पत्र प्रॉक्सिमल पॉलिसी ऑप्टिमाइज़ेशन का उपयोग करने वाले एक सुदृढीकरण शिक्षण (रिनफोर्समेंट लर्निंग) ढांचे और एक अनुकूलन योग्य, निष्पादन-जागरूक पुरस्कार प्रणाली को पेश करता है ताकि बड़े भाषा मॉडलों को फाइन-ट्यून किया जा सके, जो कोड जनरेशन कार्यों में कार्यात्मक शुद्धता और रोबोटिक्स जैसे डोमेन-विशिष्ट बाधाओं के प्रति उनकी अनुकूलन क्षमता में महत्वपूर्ण सुधार करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक बहुत ही प्रतिभाशाली लेकिन अनुभवहीन प्रशिक्षु (apprentice) प्रोग्रामर है। यह प्रशिक्षु (Large Language Model) ऐसा कोड लिख सकता है जो दिखने में शानदार लगता है और व्याकरण के नियमों का पालन करता है, लेकिन जब आप वास्तव में उस कोड को चलाते हैं, तो वह अक्सर क्रैश हो जाता है, अजीब व्यवहार करता है, या वह काम नहीं करता जो आपने उससे करने को कहा था।
यह शोध पत्र इस प्रशिक्षु को प्रशिक्षित करने का एक नया तरीका पेश करता है जिसे रीइन्फोर्समेंट लर्निंग (Reinforcement Learning) कहा जाता है, लेकिन इसमें एक विशेष मोड़ है: प्रोजेक्ट के बिल्कुल अंत तक "अच्छा काम किया" या "फेल हो गया" कहने के बजाय, वे प्रशिक्षु को उसके द्वारा उठाए गए हर एक कदम पर निरंतर, विस्तृत फीडबैक देते हैं।
यहाँ बताया गया है कि उनका सिस्टम सरल उपमाओं (analogies) का उपयोग करते हुए कैसे काम करता है:
1. समस्या: "सब कुछ या कुछ भी नहीं" वाला ग्रेड
परंपरागत रूप से, AI को कोड सिखाते समय, सिस्टम पूरा प्रोग्राम लिखे जाने तक प्रतीक्षा करता है। फिर, वह कोड को चलाता है।
- यदि यह काम करता है: तो AI को एक गोल्ड स्टार मिलता है।
- यदि यह क्रैश हो जाता है: तो उसे एक बड़ा "F" ग्रेड मिलता है।
समस्या यह है कि AI को यह पता नहीं चलता कि वह क्यों विफल हुआ। क्या उसने पहली लाइन में गलती की? आखिरी लाइन में? या पूरा विचार ही गलत था? यह एक छात्र की तरह है जो 10 पन्नों का निबंध लिखता है, उसे जमा करता है, और बिना किसी टिप्पणी के केवल एक "F" ग्रेड प्राप्त करता है। उसे नहीं पता कि कौन सा पैराग्राफ ठीक करना है।
2. समाधान: "डेंस रिवॉर्ड" (Dense Reward) कोच
लेखकों ने एक ऐसा ढांचा (framework) बनाया है जो एक सख्त लेकिन सहायक कोच की तरह काम करता है, जो प्रशिक्षु के टाइप करते समय उसके ठीक बगल में खड़ा रहता है। अंत में एक बड़े ग्रेड के बजाय, कोच प्रशिक्षु द्वारा टाइप किए गए हर एक शब्द (टोकन) के लिए एक स्कोर देता है।
इसे डेंस रिवॉर्ड (Dense Reward) सिस्टम कहा जाता है। यहाँ बताया गया है कि कोच हर कदम पर क्या जाँचता है:
- सिंटैक्स चेक (व्याकरण पुलिस): क्या वाक्य की संरचना सही है? (उदाहरण के लिए, क्या आप कोलन या ब्रैकेट भूल गए हैं?)
- स्टाइल और सेफ्टी चेक (कोड इंस्पेक्टर): क्या कोड अस्त-व्यस्त है? क्या इसमें सुरक्षा संबंधी खामियां हैं? (वे इसकी जाँच के लिए "Ruff" नामक टूल का उपयोग करते हैं)।
- "क्या होगा अगर" चेक (सिम्युलेटर): यदि यह एक रोबोट होता, तो क्या यह क्रिया उसे दीवार से टकराने का कारण बनती? सिस्टम कोड का सिमुलेशन करता है ताकि यह देखा जा सके कि क्या यह शारीरिक रूप से संभव है।
- "भटकें नहीं" चेक: कोच यह सुनिश्चित करता है कि प्रशिक्षु अपनी मूल प्रशिक्षण शैली से बहुत दूर न भटक जाए, जिससे उसे स्थिर रखा जा सके।
3. सीखना कैसे होता है (लूप)
यह शोध पत्र एक तीन-चरणीय लूप का वर्णन करता है जो बार-बार होता है:
- रोलआउट (अभ्यास रन): AI एक-एक शब्द करके कोड का एक हिस्सा बनाता है।
- इवैल्यूएशन (स्कोरकार्ड): जैसे ही कोड पूरा होता है, सिस्टम ऊपर बताए गए सभी चेक्स के माध्यम से इसे चलाता है। यह पूरे हिस्से के लिए एक "स्कोर" की गणना करता है, लेकिन यह भी पता लगाता है कि किन विशिष्ट शब्दों ने अच्छे या बुरे स्कोर में योगदान दिया।
- उपमा: यदि कोड लाइन 5 में टाइपो (typo) के कारण विफल होता है, तो सिस्टम लाइन 5 को भारी दंड देने के लिए जानता है, न कि लाइन 1 को।
- ऑप्टिमाइजेशन (पाठ): AI इन स्कोर का उपयोग अपने मस्तिष्क को अपडेट करने के लिए करता है। वह सीखता है, "ओह, जब मैं इस संदर्भ में यह विशिष्ट शब्द टाइप करता हूँ, तो इससे क्रैश होता है। अगली बार, मैं एक अलग शब्द चुनूँगा।"
4. परिणाम: "टूटे हुए" से "काम करने वाले" तक
लेखकों ने इसे दो बहुत अलग प्रकार के कार्यों पर परखा:
- सामान्य कोडिंग (ऑफिस की नौकरी): उन्होंने AI को मानक पायथन (Python) प्रोग्राम लिखने के लिए कहा।
- परिणाम: AI लगभग 46% कार्यों को सही करने से बढ़कर 65% तक पहुँच गया। इसने ऐसा कोड लिखना सीखा जो वास्तव में चलता है और कठिन परिस्थितियों (edge cases) को संभालता है।
- रोबोट कोडिंग (शारीरिक कार्य): उन्होंने AI को एक रोबोट के लिए कोड लिखने को कहा ताकि वह घूम सके और कार्य कर सके।
- परिणाम: प्रशिक्षण से पहले, रोबोट का कोड चलने से पहले ही लगभग हमेशा क्रैश हो जाता था (96% विफलता दर)। प्रशिक्षण के बाद, रोबोट कार्यों को 51% समय सफलतापूर्वक पूरा कर सका। कोड "एनवायरनमेंट-अवेयर" (वातावरण के प्रति जागरूक) हो गया, जिसका अर्थ है कि रोबोट ने दीवार के माध्यम से चलने या बहुत भारी वस्तुओं को उठाने की कोशिश न करने की सीख ली।
मुख्य निष्कर्ष
यह शोध पत्र यह सिद्ध करता है कि कोडिंग प्रक्रिया के हर एक कदम पर AI को निरंतर, विस्तृत फीडबैक देकर—केवल अंतिम ग्रेड देने के बजाय—आप इसे ऐसा कोड लिखना सिखा सकते हैं जो न केवल व्याकरण की दृष्टि से सही है बल्कि सुरक्षित, कार्यात्मक और वास्तविक दुनिया के लिए तैयार भी है।
उन्होंने केवल AI को स्मार्ट नहीं बनाया; उन्होंने इसे अधिक सावधान और इसके कार्यों के परिणामों के प्रति जागरूक बनाया, चाहे वे कार्य कंप्यूटर पर चल रहे हों या किसी भौतिक रोबोट को चला रहे हों।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।