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

Improving Code Translation with Syntax-Guided and Semantic-aware Preference Optimization

यह शोध पत्र CTO को प्रस्तुत करता है, जो एक नवीन ढांचा है जो डायरेक्ट प्रेफरेंस ऑप्टिमाइज़ेशन सेटिंग के भीतर कॉन्ट्रास्टिव लर्निंग के माध्यम से सोर्स-व्युत्पन्न सिमेंटिक रिवॉर्ड के साथ सिंटैक्स-गाइडेड कंपाइलर फीडबैक को एकीकृत करके कोड ट्रांसलेशन को बढ़ाता है, जिससे सिंटैक्टिक शुद्धता और सिमेंटिक निरंतरता दोनों सुनिश्चित करने में मौजूदा विधियों की सीमाओं को दूर किया जा सके।

मूल लेखक: Yuhan Wu, Huan Zhang, Wei Cheng, Chen Shen, Jingyue Yang, Wei Hu

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

मूल लेखक: Yuhan Wu, Huan Zhang, Wei Cheng, Chen Shen, Jingyue Yang, Wei Hu

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

कल्पना कीजिए कि आप एक मास्टर अनुवादक हैं जो एक फ्रांसीसी भाषा में लिखी गई रेसिपी को एक ऐसे शेफ के लिए रेसिपी में बदलने की कोशिश कर रहे हैं जो केवल अंग्रेजी बोलता है। आप चाहते हैं कि नई रेसिपी दो काम पूरी तरह से करे:

  1. अंग्रेजी व्याकरण के नियमों का पालन करे (Syntax): वाक्यों की संरचना सही होनी चाहिए ताकि शेफ भाषा के कारण भ्रमित न हो।
  2. समान अर्थ बनाए रखे (Semantics): आप अंत में जो व्यंजन पकाते हैं वह मूल फ्रांसीसी व्यंजन जैसा ही स्वाद वाला होना चाहिए, न कि केवल कागज पर वैसा दिखने वाला।

यह शोध पत्र, जिसका शीर्षक "Improving Code Translation with Syntax-Guided and Semantic-aware Preference Optimization" है, एक नया तरीका पेश करता है जिसे CTO कहा जाता है, ताकि AI अनुवादकों को यह काम बहुत बेहतर तरीके से करने में मदद मिल सके।

यहाँ यह पेपर कैसे समस्या और उनके समाधान को समझाता है, सरल उपमाओं (analogies) का उपयोग करते हुए:

समस्या: वर्तमान AI अनुवादकों का "जाल" (The "Trap")

वर्तमान में, कोड को ट्रांसलेट करने की कोशिश करने वाले AI मॉडल (जैसे पायथन कोड को C++ में बदलना) अक्सर एक जाल में फंस जाते हैं। पेपर एक चतुर उदाहरण का उपयोग करके दिखाता है कि ऐसा क्यों होता है:

  • "भाग्यशाली अनुमान" का जाल (Reward Hacking): कल्पना कीजिए कि एक अनुवादक एक ऐसी रेसिपी लिखता है जो व्याकरण की दृष्टि से तो एकदम सही है लेकिन उसमें गलत सामग्री का उपयोग किया गया है। हालांकि, शुद्ध भाग्य से, उन्हें दिया गया विशिष्ट टेस्ट केस (जैसे, "1 अंडे के साथ केक बनाएं") काम कर जाता है क्योंकि गलत सामग्री संयोग से उस एक विशिष्ट अंडे के लिए काम कर जाती है। AI को एक "पास" मिल जाता है और वह सोचता है कि उसने बहुत अच्छा काम किया है, भले ही वह रेसिपी किसी अन्य स्थिति के लिए गलत हो। इसे reward hacking कहा जाता है।
  • "पूर्ण अर्थ, टूटा हुआ व्याकरण" का जाल: कल्पना कीजिए कि दूसरा अनुवादक एक ऐसी रेसिपी लिखता है जो बिल्कुल सही व्यंजन का वर्णन करती है (पूर्ण अर्थ/semantics) लेकिन उसे इस तरह से लिखता है जो अंग्रेजी व्याकरण के नियमों को तोड़ता है। शेफ उसे पढ़ ही नहीं सकता, इसलिए कंप्यूटर कहता है, "Fail!" भले ही विचार शानदार था।

वर्तमान तरीके यह अंतर करने में संघर्ष करते हैं कि क्या यह एक "भाग्यशाली अनुमान" है या एक "टूटा हुआ विचार"। वे अक्सर निम्नलिखित पर निर्भर होते हैं:

  1. विरल टेस्ट केस (Sparse Test Cases): जैसे अनुवादक को केवल एक विशिष्ट टेस्ट पास करने के लिए देना। यदि वे उस एक टेस्ट को पास करने के लिए धोखाधड़ी करते हैं, तो वे जीत जाते हैं।
  2. संदर्भ तुलना (Reference Comparisons): नए कोड की तुलना एक "गोल्ड स्टैंडर्ड" उदाहरण से करना। लेकिन यदि गोल्ड स्टैंडर्ड थोड़ा अपूर्ण है, या यदि नया कोड अलग तरीके से लिखा गया है लेकिन उसका अर्थ वही है, तो AI भ्रमित हो जाता है।

समाधान: CTO (द "डबल-चेक" सिस्टम)

लेखक CTO का प्रस्ताव करते हैं, जो एक सख्त, दो-चरणीय गुणवत्ता नियंत्रण निरीक्षक (quality control inspector) की तरह कार्य करता है। केवल यह पूछने के बजाय कि "क्या इसने टेस्ट पास किया?", CTO एक साथ दो अलग-अलग प्रश्न पूछता है:

1. व्याकरण की जाँच (Syntax)

यह आसान हिस्सा है। सिस्टम अनुवादित कोड को एक कंपाइलर (एक उपकरण जो यह जांचता है कि कोड भाषा के नियमों का पालन करता है या नहीं) के माध्यम से चलाता है।

  • उपमा: इसे एक स्पेल-चेकर की तरह समझें। यदि वाक्य में टाइपो है या पूर्ण विराम गायब है, तो यह स्वतः ही "Fail" है। यह हिस्सा 100% विश्वसनीय है क्योंकि कंप्यूटर नियमों की जांच करने में बहुत कुशल होते हैं।

2. अर्थ की जाँच (Semantics)

यह कठिन हिस्सा है। बिना भाग्यशाली टेस्ट केसों पर निर्भर हुए आप कैसे जांच सकते हैं कि अर्थ सही है या नहीं?

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

CTO कैसे काम करता है: "बैलेंस्ड स्कोरकार्ड"

एक बार जब सिस्टम के पास दोनों जाँचें होती हैं, तो यह प्रिफरेंस ऑप्टिमाइजेशन (Preference Optimization) नामक विधि का उपयोग करता है।

  • पुराना तरीका: AI एक एकल स्कोर को अधिकतम करने की कोशिश करता था। यदि व्याकरण गलत था, तो पूरा स्कोर शून्य हो जाता था, भले ही अर्थ एकदम सही हो।
  • CTO का तरीका: यह अनुवाद को एक बहु-उद्देश्यीय खेल (multi-objective game) के रूप में मानता है। यह एक "स्कोरकार्ड" बनाता है जहाँ:
    • व्याकरण (Grammar) को पास/फेल स्कोर मिलता है।
    • अर्थ (Meaning) को इस आधार पर स्कोर मिलता है कि "स्वाद" मूल के कितने करीब है।
    • इसके बाद AI को उस "स्वीट स्पॉट" को खोजने के लिए प्रशिक्षित किया जाता है जहाँ कोड दोनों रूप से व्याकरणिक रूप से सही और अर्थपूर्ण रूप से सटीक हो।

लेखक तर्क देते हैं कि इन दोनों संकेतों को मिलाने से, AI भाग्यशाली टेस्ट केसों के साथ "धोखाधड़ी" करना बंद कर देता है और बेहतरीन विचारों के बावजूद व्याकरण खराब होने के कारण अस्वीकार होना भी बंद कर देता है।

परिणाम: क्या यह काम करता है?

लेखकों ने तीन लोकप्रिय भाषाओं: C++, Java, और Python के बीच कोड अनुवाद करने के लिए CTO का परीक्षण किया।

  • प्रतिस्पर्धा: उन्होंने अन्य शीर्ष तरीकों के मुकाबले CTO की तुलना की, जिनमें रिइन्फोर्समेंट लर्निंग (जो अस्थिर हो सकता है) और वे भी शामिल हैं जो केवल मानक टेक्स्ट समानता (text similarity) पर निर्भर करते हैं।
  • परिणाम: CTO लगातार जीता।
    • इसने मॉडल के आकार और डेटासेट के आधार पर अनुवाद सटीकता में 3.66% से 6.70% तक सुधार किया।
    • यह "भाग्यशाली अनुमान" वाली समस्या को ठीक करने में विशेष रूप से प्रभावी रहा, जिससे यह सुनिश्चित हुआ कि अनुवादित कोड वास्तव में इच्छित कार्य करता है, न कि केवल एक विशिष्ट टेस्ट पर।

सारांश में

CTO को एक ऐसे अनुवादक के रूप में समझें जिसे न केवल वर्तनी (Syntax) या केवल कहानी (Semantics) की चिंता है। यह एक ऐसा अनुवादक है जिसके पास व्याकरण की जाँच के लिए एक सख्त संपादक है और कहानी की जाँच के लिए एक बुद्धिमान आलोचक है, जो यह सुनिश्चित करने के लिए मिलकर काम करते हैं कि अंतिम अनुवाद पठनीय भी हो और मूल के प्रति सच्चा भी। यह AI को कोड को अधिक विश्वसनीय रूप से अनुवाद करने की अनुमति देता है, जिससे सॉफ्टवेयर को एक भाषा से दूसरी भाषा में ले जाना सुरक्षित हो जाता है।

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

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

Digest आज़माएँ →