Learning Bug Context for PyTorch-to-JAX Translation with LLMs
यह शोध पत्र T2J को प्रस्तुत करता है, जो पायटॉर्च-टू-जैक्स (PyTorch-to-JAX) अनुवाद बग्स और डेवलपर सुधारों का एक बेंचमार्क है, जिसका उपयोग यह प्रदर्शित करने के लिए किया जाता है कि इस डेटासेट के साथ इन-कॉन्टेक्स्ट लर्निंग (in-context learning) कमजोर LLMs की कोड अनुवाद गुणवत्ता को 20% तक सुधार सकती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक मास्टर शेफ है जो फ्रेंच (PyTorch, जो AI के लिए एक लोकप्रिय कोडिंग भाषा है) में स्वादिष्ट व्यंजन बनाने के लिए प्रसिद्ध है। आप एक अनुवादक को काम पर रखना चाहते हैं ताकि वे इन व्यंजनों को जापानी (JAX, जो AI की एक अन्य कोडिंग भाषा है) में बदल सकें ताकि एक अलग रसोई में इन्हें बनाया जा सके।
आपने एक बहुत ही बुद्धिमान, लेकिन थोड़े अनुभवहीन sous-chef (एक AI जिसे gpt-4o-mini कहा जाता है) को अनुवाद करने के लिए काम पर रखा है। समस्या यह है कि sous-chef शब्द तो जानता है, लेकिन वह नई भाषा के रसोई के नियमों को पूरी तरह से नहीं समझता है। वे "10 मिनट तक धीमी आंच पर पकाएं" को "10 सेकंड तक उबालें" के रूप में अनुवाद कर सकते हैं, या ऐसी चाकू का उपयोग कर सकते हैं जो उस नई रसोई में मौजूद ही नहीं है। परिणाम यह होता है कि रेसिपी कागज पर तो ठीक दिखती है लेकिन जब आप खाना पकाने की कोशिश करते हैं तो वह विफल हो जाती है।
यह शोध पत्र, जिसका शीर्षक "Learning Bug Context for PyTorch-to-JAX Translation with LLMs" है, इस समस्या को ठीक करने के लिए T2J नामक एक नया सिस्टम पेश करता है। यह कैसे काम करता है, इसके सरल चरण यहाँ दिए गए हैं:
1. समस्या: "बुद्धिमान लेकिन अनाड़ी" अनुवादक
लेखकों ने पाया कि जब AI इन दो विशिष्ट डीप-लर्निंग भाषाओं के बीच कोड का अनुवाद करने की कोशिश करता है, तो वह अक्सर सूक्ष्म और पेचीदा गलतियाँ करता है।
- उपमा: यह एक ऐसी रेसिपी का अनुवाद करने जैसा है जिसमें लिखा है "एक चुटकी नमक डालें" लेकिन अनुवादक लिख देता है "एक कप नमक डालें" क्योंकि वे व्यंजन के विशिष्ट संदर्भ को नहीं समझ पाए।
- परिणाम: कोड या तो चलता नहीं है, या गलत परिणाम देता है। इसे केवल AI से "फिर से प्रयास करने" के लिए कहकर ठीक करने के पिछले प्रयास अच्छी तरह से काम नहीं आए, विशेष रूप से छोटे, सस्ते AI मॉडल के साथ।
2. समाधान: "बग फिक्सिंग लाइब्रेरी" (T2J)
AI को अंधे होकर अनुवाद करने के लिए कहने के बजाय, लेखकों ने गलतियों और उनके सुधारों की एक लाइब्रेरी बनाई।
- उन्होंने इसे कैसे बनाया: उन्होंने 20 सरल कोडिंग समस्याओं को लिया, "अनाड़ी" AI को उन्हें अनुवाद करने के लिए कहा, और फिर वास्तविक मानव सॉफ्टवेयर डेवलपर्स को संपादक के रूप में काम पर रखा। इन मनुष्यों ने त्रुटियों को खोजा, उन्हें ठीक किया, और ठीक से लिखा कि क्या गलत था और उन्होंने इसे कैसे ठीक किया।
- संग्रह: इसके परिणामस्वरूप 160 से अधिक "यहाँ गलती है" और "यहाँ सुधार है" के जोड़ों वाली एक "बग-सॉल्यूशन लाइब्रेरी" तैयार हुई।
3. जादू का तरीका: "केवल बताओ मत, दिखाओ"
यह उनके नए तरीके का मुख्य हिस्सा है। जब AI को एक नए कोड को अनुवाद करने की आवश्यकता होती है, तो वे केवल यह नहीं कहते, "इसका अनुवाद करें।"
- पुराना तरीका: "इस PyTorch कोड को JAX में अनुवाद करें।" (AI अनुमान लगाता है और अक्सर विफल हो जाता है)।
- T2J का तरीका: "इस PyTorch कोड को JAX में अनुवाद करें। वैसे, यहाँ कुछ उदाहरण दिए गए हैं कि अन्य लोगों ने समान कार्यों पर क्या गलतियाँ की थीं और उन्होंने उन्हें कैसे सुधारा।"
- उपमा: यह sous-chef को खाना बनाना शुरू करने से ठीक पहले एक चीट शीट देने जैसा है: "याद रखें, पिछली बार जब आपने प्याज काटने की कोशिश की थी, तो आपने गलत चाकू का उपयोग किया था। यहाँ सही चाकू है। साथ ही, लहसुन छीलना न भूलें।"
4. परिणाम: तेज़ और बेहतर
लेखकों ने इस नई पद्धति का परीक्षण किया और पाया कि:
- बेहतर गुणवत्ता: अनुवादित कोड बहुत अधिक सटीक था। उन्होंने एक नई स्कोरिंग प्रणाली बनाई (जैसे स्वाद परीक्षण) जिसे T2J CodeTrans Score कहा जाता है, और नए तरीके ने स्कोर में 20% तक सुधार किया।
- कम संपादन की आवश्यकता: क्योंकि AI ने शुरुआत में ही कम गलतियाँ कीं, इसलिए मानव संपादकों को पुराने तरीके की तुलना में कोड को ठीक करने के लिए लगभग आधा काम करना पड़ा।
- तेज़ निष्पादन: जनरेट किया गया कोड मानक विधि द्वारा जनरेट किए गए कोड की तुलना में लगभग 2.5 गुना तेज़ चला।
5. उन्होंने क्या नहीं किया (सीमाएँ)
यह ध्यान रखना महत्वपूर्ण है कि इस शोध पत्र ने क्या नहीं किया:
- उन्होंने इसे "ओपन सोर्स" AI मॉडल (मुफ्त वाले) पर परीक्षण नहीं किया क्योंकि उनके पास उन मॉडल्स के लिए कोड ठीक करने हेतु पर्याप्त मनुषियों को काम पर रखने का बजट नहीं था।
- उन्होंने इसे चिकित्सा या क्लिनिकल उपयोगों पर लागू नहीं किया। उन्होंने सख्ती से दो विशिष्ट AI फ्रेमवर्क के बीच कोड अनुवाद करने पर ध्यान केंद्रित किया।
- उन्होंने एक नया AI मॉडल नहीं बनाया; उन्होंने बस एक मौजूदा मॉडल (gpt-4o-mini) को एक "चीट शीट" का उपयोग करके अपनी पिछली गलतियों से सीखना सिखाया।
सारांश
T2J को एक अनुवादक के लिए प्रशिक्षण नियमावली (training manual) के रूप में समझें। अनुवादक के काम शुरू करने से पहले इस उम्मीद में कि वे पहली बार में सही करेंगे, उन्हें "सामान्य गलतियाँ और उनसे कैसे बचें" की एक किताब दे दी जाती है। इस सरल ट्रिक ने अनुवाद प्रक्रिया को काफी अधिक विश्वसनीय, सस्ता (कम मानव संपादन की आवश्यकता) और तेज़ बना दिया।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।