COBOL-Coder: Domain-Adapted Large Language Models for COBOL Code Generation and Translation
यह शोध पत्र COBOL-Coder को प्रस्तुत करता है, जो एक स्वचालित डेटा क्यूरेशन पाइपलाइन के माध्यम से विकसित एक डोमेन-अनुकूलित लार्ज लैंग्वेज मॉडल है, जो बेंचमार्क मेट्रिक्स और विशेषज्ञ डेवलपर सर्वेक्षणों द्वारा प्रमाणित, COBOL कोड जनरेशन और जावा-COBOL ट्रांसलेशन कार्यों में सामान्य-उद्देश्य वाले LLMs की तुलना में काफी बेहतर प्रदर्शन करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि सॉफ्टवेयर की दुनिया एक विशाल, हलचल भरे शहर की तरह है। अधिकांश नई इमारतें कांच और स्टील से बनी आधुनिक गगनचुंबी इमारतें हैं, जिन्हें नवीनतम उपकरणों (Python और Java जैसी भाषाओं) के साथ बनाया गया है। लेकिन शहर की नींव में, अभी भी विशाल, प्राचीन पत्थर के किले मौजूद हैं जो बैंकों, बीमा कंपनियों और सरकारी प्रणालियों को चला रहे हैं। ये किले COBOL के साथ बनाए गए हैं, जो 1960 के दशक में आविष्कार की गई एक प्रोग्रामिंग भाषा है।
समस्या क्या है? शहर के नवीनतम, सबसे स्मार्ट निर्माण रोबोट (लार्ज लैंग्वेज मॉडल या LLMs) कांच के गगनचुंबी इमारतें बनाने में अद्भुत हैं। लेकिन जब आप उन्हें एक प्राचीन पत्थर का किला बनाने या ठीक करने के लिए कहते हैं, तो वे भ्रमित हो जाते हैं। वे पुराने नियमों, पत्थर काटने की विशिष्ट तकनीकों या प्राचीन ब्लूप्रिंट्स (नक्शों) के काम करने के तरीके को नहीं जानते। वे पत्थर की दीवार में कांच की खिड़की लगाने की कोशिश करते हैं, और वह ढह जाती है।
यह शोध पत्र COBOL-Coder नामक एक विशेष रोबोट पेश करता है, जिसे विशेष रूप से इन प्राचीन पत्थर के किलों को समझने और बनाने के लिए डिज़ाइन किया गया है। उन्होंने इसे कैसे किया, इसे सरल शब्दों में यहाँ समझाया गया है:
1. समस्या: "भाषा की बाधा"
COBOL को एक बहुत ही पुरानी, सख्त बोली के रूप में सोचें। यह केवल शब्दों के बारे में नहीं है; यह व्याकरण, फॉर्मेटिंग और उस विशिष्ट तरीके के बारे में है जिससे "पत्थर" (डेटा) को रखा जाना चाहिए।
- पुराने रोबोट: सामान्य AI मॉडल (जैसे GPT-4) उन बहुभाषी लोगों की तरह हैं जो 100 आधुनिक भाषाएँ धाराप्रवाह बोलते हैं लेकिन उन्होंने कभी पत्थर का किला नहीं देखा है। वे अनुमान लगाने की कोशिश करते हैं, लेकिन उनके अनुमान आमतौर पर गलत होते हैं। वे बुनियादी संरचना तक सही नहीं कर पाते।
- डेटा की कमी: इन किलों के लिए बहुत कम सार्वजनिक ब्लूप्रिंट (कोड) उपलब्ध हैं क्योंकि वे बैंक की तिजोरियों में गुप्त रखे जाते हैं। रोबोटों के पास सीखने के लिए पर्याप्त अभ्यास सामग्री नहीं थी।
2. समाधान: एक विशेष प्रशिक्षण स्कूल बनाना
शोधकर्ताओं ने रोबोट को केवल अधिक किताबें नहीं दीं; उन्होंने एक विशेष प्रशिक्षण अकादमी बनाई। उन्होंने तीन चतुर चरणों के माध्यम से COBOL-Coder को विकसित किया:
चरण A: "स्व-उपचार" लाइब्रेरी (डेटा क्यूरेशन)
उन्होंने सार्वजनिक अभिलेखागारों (GitHub) से पुराने ब्लूप्रिंट्स को खोज निकाला। लेकिन उनमें से कई टूटे हुए या अधूरे थे।- उपमा: कल्पना कीजिए कि एक रोबोट लाइब्रेरियन को एक फटा हुआ, कीचड़ से सना हुआ ब्लूप्रिंट मिलता है। उसे फेंकने के बजाय, लाइब्रेरियन एक "जादुई कंपाइलर" (त्रुटियों की जाँच करने वाला टूल) का उपयोग करता है ताकि यह देखा जा सके कि क्या गलत है। फिर, वे एक सुपर-स्मार्ट AI (GPT-4) से एक मास्टर राजमिस्त्री (mason) के रूप में कार्य करने के लिए कहते हैं ताकि ब्लूप्रिंट को ठीक किया जा सके। वे इसे तब तक दोहराते हैं जब तक कि ब्लूप्रिंट एकदम सही न हो जाए।
- परिणाम: उन्होंने हजारों टूटे हुए, बिखरे हुए ब्लूप्रिंट्स को 31,000+ काम करने वाले COBOL प्रोग्रामों की एक साफ, सटीक लाइब्रेरी में बदल दिया।
चरण B: "अनुवादक" जिम (सिंथेटिक डेटा)
चूंकि पर्याप्त COBOL ब्लूप्रिंट नहीं थे, इसलिए उन्होंने एक चाल चली। उन्होंने आधुनिक, आसानी से पढ़े जाने वाले ब्लूप्रिंट (Java कोड) लिए और AI को उन्हें प्राचीन COBOL बोली में अनुवाद करने के लिए कहा।- उपमा: यह एक आधुनिक अंग्रेजी उपन्यास को लेकर एक अनुवादक से उसे 1960 के दशक की बिजनेस इंग्लिश में फिर से लिखने के लिए कहने जैसा है। फिर उन्होंने अनुवाद की दो बार जाँच की: एक यह देखने के लिए कि क्या यह समझ में आता है, और दूसरी बार इसे वापस अंग्रेजी में अनुवाद करके यह देखने के लिए कि क्या कहानी वैसी ही रही। इससे अभ्यास के लिए एक विशाल नया सेट तैयार हुआ।
चरण C: "मेंटर" (इंस्ट्रक्शन ट्यूनिंग)
उन्होंने रोबोट को केवल कच्चे ब्लूप्रिंट नहीं खिलाए। उन्होंने एक "प्रश्न और उत्तर" की पाठ्यपुस्तक बनाई। उन्होंने ब्लूप्रिंट लिए और प्रश्न लिखे जैसे, "ब्याज की गणना कैसे करें?" और सही COBOL उत्तर प्रदान किया। इसने रोबोट को यह सिखाया कि कैसे सोचना है, न कि केवल कोड को रटना।
3. परिणाम: विशेष रोबोट की जीत
उन्होंने सामान्य उद्देश्य वाले दिग्गजों (जैसे GPT-4o और अन्य ओपन-सोर्स मॉडल) के विरुद्ध COBOL-Coder का परीक्षण किया।
- परीक्षण: उन्होंने रोबोट को छोटे COBOL प्रोग्राम बनाने और Java कोड को COBOL में अनुवाद करने के लिए कहा।
- परिणाम:
- सामान्य रोबोट: अधिकांश पूरी तरह से विफल रहे। उन्होंने ऐसा कोड बनाया जो कंपाइल भी नहीं हो सकता था (जैसे ऐसी कार जो स्टार्ट ही न हो सके)। GPT-4o लगभग 42% कोड चलाने में सफल रहा।
- COBOL-Coder: इसने 74% कोड को पूरी तरह से काम करने योग्य बनाया। आधुनिक कोड को प्राचीन भाषा में वापस अनुवाद करते समय, केवल यही सफल रहा, जबकि अन्य का स्कोर शून्य के करीब था।
4. मानव निर्णय: "सीनियर मेसन" समीक्षा
संख्याएँ अच्छी हैं, लेकिन क्या वास्तविक निर्माता इसे पसंद करते हैं? शोधकर्ताओं ने तीन अनुभवी COBOL डेवलपर्स ("सीनियर मेसन") से कोड की समीक्षा करने के लिए कहा।
- फीडबैक: डेवलपर्स ने कहा कि COBOL-Coder "व्यावहारिक" और "प्रोडक्शन-रेडी" महसूस होता है। यह पुराने ढांचे को समझता था और बहुत ज्यादा दिखावा नहीं करता था।
- सामान्य रोबोट: डेवलपर्स को लगा कि सामान्य रोबोट या तो "असंगत" थे या "ओवर-इंजीनियर्ड" (ऐसी आधुनिक तकनीक का उपयोग करने की कोशिश कर रहे थे जो पुराने सिस्टम में फिट नहीं बैठती थी)।
- निष्कर्ष: डेवलपर्स ने COBOL-Coder को एक सहायक जूनियर अप्रेंटिस के रूप में देखा जो काम का ड्राफ्ट जल्दी तैयार कर सकता था, जिससे उनका समय बचता था। उन्होंने सामान्य रोबोटों को इस विशिष्ट कार्य के लिए उपयोगी नहीं पाया।
बड़ा सबक
यह शोध पत्र हमें सिखाता है कि आकार ही सब कुछ नहीं है। एक विशाल, सामान्य-उद्देश्य वाला रोबोट आवश्यक नहीं कि एक छोटे, विशेष रोबोट से बेहतर हो, यदि कार्य के लिए गहरे, विशिष्ट ज्ञान की आवश्यकता हो।
दुनिया की प्राचीन प्रणालियों को ठीक करने के लिए, हमें केवल बड़े दिमागों की नहीं, बल्कि विशेष प्रशिक्षण की आवश्यकता है। हमें अपने AI को विशिष्ट बोली, सख्त नियम और भाषा का इतिहास सिखाना होगा, न कि केवल यह उम्मीद करनी होगी कि वह अनुमान लगाकर काम चला लेगा।
संक्षेप में: COBOL-Coder एक स्मार्ट AI को लेने, उसे COBOL की एक विशाल, उच्च-गुणवत्ता वाली पाठ्यपुस्तक देने और उसे तब तक प्रशिक्षित करने का परिणाम है जब तक कि वह मेनफ्रेम की भाषा धाराप्रवाह बोलने लगे, जबकि अन्य AI अभी भी वर्णमाला सीखने की कोशिश कर रहे हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।