Program Semantic Inequivalence Game with Large Language Models
यह शोध पत्र एक अर्ध-प्रतिरोधी (semi-adversarial) "सिमेंटिक इनइक्विवेलेंस गेम" (SInQ) प्रस्तुत करता है जहाँ जनरेटर और इवैल्यूएटर एजेंट बड़े भाषा मॉडलों (LLMs) की प्रोग्राम सिमेंटिक रीजनिंग को बढ़ाने के लिए सहयोगात्मक रूप से प्रशिक्षण डेटा को संश्लेषित करते हैं, जो क्रॉस-लैंग्वेज वल्नरेबिलिटी डिटेक्शन और जटिल आइडेंटिफायर स्वैप कार्यों में महत्वपूर्ण सुधार प्रदर्शित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक अत्यंत बुद्धिमान लेकिन शाब्दिक अर्थों को समझने वाले रोबोट को कंप्यूटर कोड लिखना सिखा रहे हैं। आप शायद सोच सकते हैं, "यदि मैं इसे घर बनाने के दस लाख उदाहरण दिखा दूँ, तो यह गगनचुंबी इमारत बनाना सीख जाएगा।" लेकिन कंप्यूटर पेचीदा होते हैं। वे पैटर्न की नकल करने में माहिर हैं, लेकिन जब उनसे कोड के पीछे के गहरे तर्क (deep logic) को समझने के लिए कहा जाता है, तो वे अक्सर लड़खड़ा जाते हैं—जैसे कि क्यों किसी रेसिपी में एक मामूली बदलाव केक को ढहा सकता है, या कैसे एक छिपा हुआ बैकडोर डिजिटल घर में चोर को घुसने का रास्ता दे सकता है। यह "प्रोग्राम सिमेंटिक्स" (program semantics) की दुनिया है, जो इस बात का अध्ययन है कि कोड वास्तव में क्या करता है बनाम वह क्या दिखता है।
इस गहरे तर्क को सिखाने के लिए, हमें आमतौर पर एक मानव शिक्षक की आवश्यकता होती है जो हर गलती की ओर इशारा करे, जो कि धीमा और महंगा है। वैकल्पिक रूप से, हम रोबोट को अपने आप अभ्यास करने दे सकते हैं, लेकिन वह अक्सर केवल आसान चीजों का अभ्यास करता है और कठिन पहेलियों को अनदेखा कर देता है। यह शोधपत्र इन AI "कोडर" को तर्क के एक उच्च-दांव वाले खेल में बदलकर उन्हें प्रशिक्षित करने का एक नया तरीका तलाशता है। केवल उत्तर रटने के बजाय, AI को दो कोड के टुकड़ों के बीच उन अदृश्य अंतरों को पहचानने में महारत हासिल करनी होती है जो लगभग एक जैसे दिखते हैं। यदि वह इस खेल में महारत हासिल कर लेता है, तो वह सुरक्षा संबंधी बग खोजने और सुरक्षित सॉफ्टवेयर लिखने में बहुत बेहतर हो सकता है, यहाँ तक कि उन भाषाओं में भी जिन्हें उसने पहले कभी नहीं देखा है।
द ग्रेट कोड डिटेक्टिव गेम (The Great Code Detective Game)
इस शोधपत्र के लेखकों, एंटोनियो वैलेरियो मिसेली बारोन, वैशाक बेले और अली पायनी ने एक चतुर प्रशिक्षण पद्धति विकसित की है जिसे सिमेंटिक इनइक्विवेलेंस गेम (Semantic Inequivalence Game) या संक्षेप में SInQ कहा जाता है। इसे "अंतर पहचानो" (Spot the Difference) के एक डिजिटल खेल के रूप में समझें, लेकिन यह दो AI एजेंटों द्वारा खेला जाता है जो लगातार एक-दूसरे को मात देने की कोशिश कर रहे हैं।
खिलाड़ी: एलिस और बॉब
दो AI जासूसों, एलिस और बौब की कल्पना करें, जो एक-दूसरे के सामने बैठे हैं।
- एलिस एक छली (trickster) है। उसे कोड का एक टुकड़ा (मान लीजिए प्रोग्राम P) दिया जाता है और उसका काम एक "नकली" संस्करण (प्रोग्राम Q) बनाना है जो लगभग बिल्कुल वैसा ही दिखता है लेकिन थोड़ा अलग व्यवहार करता है। उसे एक विशिष्ट "टेस्ट इनपुट" (जैसे कोई विशेष संख्या या शब्द) भी खोजना होगा जो यह साबित करे कि दोनों प्रोग्राम अलग हैं। यदि वह अंतर नहीं ढूंढ पाती, तो वह हार जाती है।
- बॉब एक जासूस है। उसे दोनों प्रोग्राम, P और Q दिखाए जाते हैं। उसका काम यह पता लगाना है: "क्या ये वास्तव में अलग हैं?" यदि वे अलग हैं, तो उसे वह विशिष्ट टेस्ट इनपुट खोजना होगा जो अंतर को उजागर करता है। यदि वह इसे खोज लेता है, तो वह जीत जाता है। यदि वह चूक जाता है, तो एलिस जीत जाती है।
ट्रेनिंग लूप (The Training Loop)
शुरुआत में, एलिस नकली प्रोग्राम बनाने में खराब है, और बॉब उन्हें पहचानने में अच्छा है। लेकिन जैसे-जैसे वे बार-बार खेलते हैं, वे बेहतर होते जाते हैं। एलिस ऐसे नकली प्रोग्राम बनाना सीखती है जिन्हें पहचानना कठिन हो, और बॉब गहरे, अधिक सूक्ष्म सुरागों को खोजना सीखता है। वे एक "सेल्फ-प्ले" (self-play) लूप में एक-दूसरे को प्रशिक्षित कर रहे हैं, ठीक वैसे ही जैसे एक ग्रैंडमास्टर शतरंज खिलाड़ी एक ऐसे कंप्यूटर के खिलाफ अभ्यास कर सकता है जो हर बार खेलने पर और भी स्मार्ट होता जाता है।
यहाँ जादू यह है कि उन्हें "बहुत अच्छे!" या "गलत उत्तर" कहने के लिए किसी मानव शिक्षक की आवश्यकता नहीं है। खेल में एक अंतर्निहित रेफरी है: एक कंप्यूटर सैंडबॉक्स। वे बस टेस्ट इनपुट के साथ दोनों प्रोग्रामों को चलाते हैं। यदि परिणाम अलग हैं, तो इनपुट वैध है, और खेल निष्पक्ष है। यदि परिणाम समान हैं, तो चाल विफल रही। इसका मतलब है कि AI अनुमान लगाने से नहीं, बल्कि करके सीखता है।
उन्होंने क्या पाया
शोधकर्ताओं ने इस खेल को यह देखने के लिए दो अलग-अलग AI मॉडल (gpt-4o-mini और gpt-4.1-nano) पर टेस्ट किया कि क्या इस खेल को खेलने से वे वास्तविक दुनिया के कोडिंग कार्यों में बेहतर होते हैं।
1. "पायथन बिल्ट-इन आइडेंटिफायर स्वैप" चुनौती
उन्होंने AI का परीक्षण एक कुख्यात रूप से कठिन पहेली पर किया जिसे "पायथन बिल्ट-इन आइडेंटिफायर स्वैप" कहा जाता है। कल्पना कीजिए कि एक प्रोग्राम है जहाँ print और len (जो पायथन के मानक उपकरण हैं) के शब्दों को आपस में बदल दिया गया है। एक इंसान के लिए यह भ्रमित करने वाला है; एक AI के लिए यह एक दुःस्वप्न है क्योंकि कोड सामान्य दिखता है लेकिन व्यवहार अजीब करता है।
- परिणाम: जिस AI ने खेल खेला (बॉब), वह एक मॉडल पर इस ट्रिक को पकड़ने में काफी बेहतर हो गया। gpt-4o-mini के लिए, बिना किसी अतिरिक्त संकेत के सटीकता 1.65% के बहुत निचले स्तर से बढ़कर 5.35% हो गई। हालांकि, दूसरे मॉडल के लिए परिणाम मिश्रित थे: gpt-4.1-nano पर, प्रशिक्षण ने बिना अतिरिक्त संकेतों के प्रदर्शन को थोड़ा खराब कर दिया, और एक "चेन-ऑफ-थॉट" दृष्टिकोण (जहाँ AI अपने तर्क पर चर्चा करता है) के उपयोग से सटीकता और गिर गई। यह सुझाव देता है कि जबकि खेल ने AI को गहराई से देखने के लिए सिखाया, इसके लाभ उपयोग किए गए विशिष्ट मॉडल पर बहुत अधिक निर्भर करते हैं।
2. सुरक्षा बग खोजना (Vulnerability Detection)
टीम ने यह भी परीक्षण किया कि क्या इस प्रशिक्षण ने AI को कोड में सुरक्षा खामियां खोजने में मदद की। उन्होंने दो बेंचमार्क का उपयोग किया:
- PySecDB: पायथन कोड परिवर्तनों का एक डेटासेट यह देखने के लिए कि क्या उन्होंने सुरक्षा मुद्दों को ठीक किया।
- CodeXGLUE: C/C++ कोड का एक डेटासेट (एक अलग प्रोग्रामिंग भाषा जिसे AI ने प्रशिक्षण के दौरान नहीं देखा था!) ताकि ज्ञात बग्स को ढूंढा जा सके।
- परिणाम: खेल खेलने वाले AI ने इन बग्स को खोजने में छोटी लेकिन निरंतर सुधार दिखाई, यहाँ तक कि C/C++ भाषा में भी जिसे उसने प्रशिक्षण के दौरान कभी नहीं देखा था। यह एक बड़ी बात है क्योंकि यह सुझाव देता है कि AI ने केवल पायथन उत्तरों को रटने के बजाय "लॉजिक स्पॉटिंग" (तर्क पहचानने) का एक सामान्य कौशल सीखा है।
3. नया कोड लिखना
अंत में, उन्होंने यह जांचा कि क्या खेल ने AI को शुरू से नया कोड लिखने में मदद की। परिणाम मिश्रित रहे। AI कोड लिखने में बहुत बेहतर नहीं हुआ, लेकिन वह खराब भी नहीं हुआ। लेखक सुझाव देते हैं कि यह तर्कसंगत है: उन्होंने "लेखक" (एलिस) को नहीं, बल्कि "जासूस" (बॉब) को प्रशिक्षित किया, इसलिए जासूस त्रुटियों को पकड़ने में अधिक तेज हो गया, लेकिन वह अनिवार्य रूप रूप से एक बेहतर लेखक नहीं बना।
बड़ी तस्वीर (The Big Picture)
यह शोधपत्र सुझाव देता है कि यह "सिमेंटिक इनइक्विवेलेंस गेम" AI को कोड के पैटर्न को नहीं, बल्कि उसके तर्क को समझने के लिए प्रशिक्षित करने का एक शक्तिशाली तरीका है। दो प्रोग्रामों के बीच सूक्ष्म, अदृश्य अंतरों को खोजने के लिए मजबूर करके, यह अधिक सावधान और अधिक तार्किक होना सीखता है।
हालाँकि, लेखक सावधानी बरतते हुए कहते हैं कि यह कोई जादुई छड़ी नहीं है जो कोडिंग की सभी समस्याओं को हल कर देती है। सुधार वास्तविक थे लेकिन कुछ क्षेत्रों में मामूली थे, और यह पद्धति इस बात पर निर्भर करती है कि AI उत्तरों की जाँच करने के लिए कोड चला सके। वे यह भी बताते हैं कि बजट सीमाओं के कारण उन्होंने केवल कुछ राउंड के लिए ही AI को प्रशिक्षित किया, इसलिए यदि वे लंबे समय तक खेल खेलते तो इसमें और भी अधिक क्षमता हो सकती थी।
संक्षेप में, कोडिंग प्रशिक्षण को "अंतर पहचानो" के खेल में बदलकर, शोधकर्ताओं ने दिखाया कि AI को एक तेज़, अधिक तार्किक जासूस बनने के लिए प्रशिक्षित किया जा सकता है, जो उन सुरक्षा जोखिमों और भ्रमित करने वाले तर्क को पकड़ सकता है जिन्हें अन्य मॉडल मिस कर सकते हैं। यह AI को केवल एक कोड जनरेटर नहीं, बल्कि एक सच्चा कोड रीज़नर (तर्क करने वाला) बनाने की दिशा में एक कदम है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।