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

Standing on the Shoulders of Giants: Stabilized Knowledge Distillation for Cross--Language Code Clone Detection

यह शोध पत्र एक स्थिर ज्ञान आसवन (knowledge distillation) ढांचे का प्रस्ताव करता है जो DeepSeek-R1 मॉडल से तर्क करने की क्षमताओं को संक्षिप्त ओपन-सोर्स मॉडलों में स्थानांतरित करता है, जो बड़े भाषा मॉडलों को ब्लैक बॉक्स के रूप में उपयोग करने की लागत और निरंतरता की सीमाओं को संबोधित करते हुए, क्रॉस-लैंग्वेज कोड क्लोन डिटेक्शन के लिए उनकी विश्वसनीयता और प्रदर्शन को महत्वपूर्ण रूप से बढ़ाता है।

मूल लेखक: Mohamad Khajezade, Fatemeh H. Fard, Mohamed Sami Shehata

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

मूल लेखक: Mohamad Khajezade, Fatemeh H. Fard, Mohamed Sami Shehata

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

बड़ी समस्या: अलग-अलग भाषाओं में जुड़वा बच्चों को खोजना

कल्पना कीजिए कि आप एक जासूस हैं जो "कोड क्लोन" (code clones) खोजने की कोशिश कर रहे हैं। कोड क्लोन तब होता है जब दो प्रोग्रामर एक ही प्रोग्राम के अलग-अलग संस्करण लिखते हैं। आमतौर पर, यदि वे एक ही भाषा (जैसे दोनों पायथन का उपयोग कर रहे हों) का उपयोग करते हैं, तो यह आसान होता है। आप बस मिलते-जुलते शब्दों को देख सकते हैं।

लेकिन क्या होगा यदि एक प्रोग्रामर प्रोग्राम को Python में लिखता है और दूसरा उसी तर्क (logic) को Java में लिखता है? या एक Rust का उपयोग करता है और दूसरा Ruby का?

  • चुनौती: शब्द पूरी तरह से अलग हैं। संरचना भी अलग दिखती है। यह एक जुड़वा बच्चे को खोजने जैसा है जिसकी तुलना उसके टक्सीडो (tuxedo) पहने हुए फोटो से उसके स्विमिंग सूट पहने हुए फोटो से की जा रही हो। चेहरा वही है (तर्क/logic), लेकिन कपड़े (सिंटैक्स/syntax) पूरी तरह से अलग हैं।
  • पुराना तरीका: पारंपरिक उपकरण "कपड़ों" (सिंटैक्स) को देखते हैं और विफल हो जाते हैं। वे "चेहरे" (अर्थ/semantics) को नहीं देख पाते।
  • नई उम्मीद: लार्ज लैंग्वेज मॉडल्स (LLMs) उन सुपर-स्मार्ट जासूसों की तरह हैं जो शब्दों के पीछे के अर्थ को समझ सकते हैं, चाहे भाषा कोई भी हो।

दुविधा: जीनियस बनाम इंटर्न

पेपर बताता है कि इन "सुपर-स्मार्ट" एआई जासूसों (जैसे DeepSeek-R1) का उपयोग करने में एक समस्या है:

  1. वे महंगे हैं: उनका उपयोग करना हर एक केस के लिए एक विश्व-प्रसिद्ध सलाहकार को काम पर रखने जैसा है। इसमें बहुत पैसा और समय खर्च होता है।
  2. वे "ब्लैक बॉक्स" हैं: आप यह नहीं देख सकते कि वे कैसे सोचते हैं, और यदि आपको बाद में काम को दोहराने की आवश्यकता हो, तो आप उनके नोट्स भी नहीं रख सकते।
  3. "इंटर्न" की समस्या: छोटे, सस्ते एआई मॉडल (जैसे Phi3 या Qwen-Coder) इंटर्न की तरह हैं। वे तेज़ हैं और आपके अपने कंप्यूटर पर मुफ्त में चलते हैं, लेकिन वे अक्सर भ्रमित हो जाते हैं। जब आप उनसे कोई जटिल प्रश्न पूछते हैं, तो वे इधर-उधर की बातें करने लगते हैं, अटक जाते हैं, या स्पष्ट "हाँ" या "नहीं" देने से मना कर देते हैं। वे "हाँ या ना" देने के बजाय कह सकते हैं, "खैर, यह निर्भर करता है..."

समाधान: "नॉलेज डिस्टिलेशन" स्कूल

लेखक एक प्रशिक्षण कार्यक्रम प्रस्तावित करते हैं जिसे नॉलेज डिस्टिलेशन (Knowledge Distillation) कहा जाता है। इसे एक गुरु-शिष्य संबंध के रूप में सोचें।

  1. गुरु (Teacher): वे हजारों कोड-मैचिंग समस्याओं को हल करने के लिए एक विशाल, शक्तिशाली एआई (DeepSeek-R1) का उपयोग करते हैं। महत्वपूर्ण बात यह है कि वे केवल उत्तर नहीं मांगते; वे गुरु से अपने तर्क को चरण-दर-चरण समझाने के लिए कहते हैं (जैसे एक जासूस द्वारा विस्तृत केस फाइल लिखना)।
  2. छात्र (Student): वे इन विस्तृत केस फाइलों (तर्क + उत्तर) को लेते हैं और इनका उपयोग छोटे, सस्ते एआई मॉडल्स (Phi3 और Qwen-Coder) को प्रशिक्षित करने के लिए करते हैं।
  3. परिणाम: "इंटर्न" न केवल यह सीखता है कि उत्तर क्या है, बल्कि यह भी सीखता है कि "गुरु" की तरह कैसे सोचना है। वह अलग-अलग "कपड़ों" के पीछे के "चेहरे" को पहचानना सीख जाता है।

गड़बड़ी: "हकलाने वाला" इंटर्न

प्रशिक्षण के बाद भी, छोटे मॉडल्स में अभी भी एक समस्या थी। कभी-कभी, अंतिम निर्णय ("क्लोन" या "क्लोन नहीं") देने के लिए पूछे जाने पर, वे तर्क के चक्रव्यूह में फंस जाते हैं और वास्तव में "हाँ" या "नहीं" नहीं कह पाते। यह उस छात्र की तरह है जो एक शानदार निबंध तो लिखता है लेकिन अंत में ग्रेड देना भूल जाता है।

इसे ठीक करने के लिए, लेखकों ने तीन "स्थिरीकरण विधियाँ" (Stabilization Methods) पेश कीं ताकि मॉडल को एक स्पष्ट उत्तर देने के लिए मजबूर किया जा सके:

  1. जबरदस्ती निष्कर्ष (Forced Conclusion - टू-स्टेप इंटरव्यू):

    • चरण 1: मॉडल को स्वतंत्र रूप से सोचने और लिखने दें।
    • चरण 2: उस तर्क को लें और मॉडल से एक आखिरी बार पूछें: "जो आपने अभी लिखा है, उसके आधार पर, क्या यह एक क्लोन है? बस हाँ या ना कहें।"
    • यह क्यों काम करता है: यह सोचने की प्रक्रिया को निर्णय से अलग करता है, जिससे यह सुनिश्चित होता है कि अंतिम फैसला हमेशा लिया जाए।
  2. बाइनरी क्लासिफिकेशन हेड (Binary Classification Head - ट्रैफिक लाइट):

    • मॉडल को निबंध लिखने के लिए कहने के बजाय, वे मॉडल से एक छोटा, सरल स्विच (एक "हेड") जोड़ देते हैं।
    • मॉडल कोड को देखता है, और स्विच तुरंत लाल (नहीं) या हरा (हाँ) हो जाता है।
    • यह क्यों काम करता है: यह अविश्वसनीय रूप से तेज़ है और कभी भी टेक्स्ट लिखने में नहीं फंसता।
  3. कॉन्ट्रास्टिव क्लासिफिकेशन हेड (Contrastive Classification Head - चुंबक):

    • यह एक थोड़ा अधिक उन्नत स्विच है। यह मॉडल के दिमाग में "क्लोन" जोड़ों को एक-दूसरे के करीब खींचने और "नॉन-क्लोन" जोड़ों को एक-दूसरे से दूर धकेलने की कोशिश करता है, बिल्कुल चुंबकों की तरह।
    • यह क्यों काम करता है: यह मॉडल को तब भी सुसंगत रहने में मदद करता है जब कोड बहुत अजीब दिखता है।

परिणाम: क्या हुआ?

लेखकों ने Python-Java, Rust-Java, और Rust-Ruby जैसे भाषा के जोड़ों पर इसका परीक्षण किया।

  • "इंटर्न" स्मार्ट हो गया: "गुरु" से सीखने के बाद, छोटे मॉडल्स क्लोन खोजने में बहुत बेहतर हो गए, खासकर जब कोड पेचीदा था या ऐसी भाषा से था जिसे उन्होंने पहले नहीं देखा था।
  • "हकलाना" बंद हो गया: स्थिरीकरण विधियों ने यह सुनिश्चित किया कि मॉडल हर बार एक उत्तर दे। पहले, वे शायद केवल 30% बार उत्तर देते थे; अब, वे हर बार उत्तर देते हैं।
  • ट्रेड-ऑफ (Trade-off):
    • Forced Conclusion विधि सबसे सटीक परिणाम (सबसे अच्छा "जासूसी कार्य") देती है, लेकिन यह धीमी है क्योंकि मॉडल को पहले अपने विचार लिखने पड़ते हैं।
    • Classification Heads अविश्वसनीय रूप से तेज़ थे (घंटों के बजाय सेकंडों में) और अभी भी बहुत सटीक थे, जो कोड के विशाल भंडार को जल्दी से स्कैन करने के लिए बेहतरीन हैं।

निचोड़ (Bottom Line)

यह पेपर दिखाता है कि अलग-अलग भाषाओं में कोड क्लोन खोजने के लिए आपको एक विशाल, महंगे एआई की आवश्यकता नहीं है। आप एक शक्तिशाली एआई ले सकते हैं, एक छोटे, सस्ते एआई को यह सिखा सकते हैं कि उसकी तरह कैसे सोचा जाए, और फिर एक "ट्रैफिक लाइट" सिस्टम जोड़ सकते हैं ताकि वह हमेशा आपको एक स्पष्ट उत्तर दे सके। यह कोड क्लोन खोजना तेज़, सस्ता और विश्वसनीय बनाता है, जो रोजमर्रा के सॉफ्टवेयर इंजीनियरों के लिए उपयोगी है।

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

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

Digest आज़माएँ →