NL2Scratch: An Executable Benchmark and Evaluation for Block-Based Programming
यह शोध पत्र NL2Scratch, एक बड़े पैमाने के निष्पादन योग्य बेंचमार्क और सिमेंटिक अलाइनमेंट कंसिस्टेंसी (SAC) मेट्रिक को प्रस्तुत करता है ताकि ब्लॉक-आधारित प्रोग्रामिंग में पारंपरिक NL2Code मूल्यांकन की सीमाओं को संबोधित किया जा सके, जो यह प्रकट करता है कि वर्तमान LLMs अक्सर उच्च लेक्सिकल समानता प्राप्त करते हैं जबकि सही स्क्रैच प्रोग्राम उत्पन्न करने के लिए आवश्यक सिमेंटिक अलाइनमेंट को पकड़ने में विफल रहते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक रोबोट को आपके बोले गए निर्देशों के आधार पर एक चित्र बनाना सिखा रहे हैं। यदि आप कहते हैं, "एक लाल वृत्त बनाओ," तो रोबोट को यह समझने की आवश्यकता है कि "लाल" और "वृत्त" का सटीक अर्थ क्या है और उन्हें एक साथ कैसे जोड़ा जाए।
यह शोध पत्र एक नए परीक्षण के बारे में है जिसे NL2Scratch कहा जाता है, जो यह देखने के लिए बनाया गया है कि AI इस काम को कितनी अच्छी तरह कर सकता है, लेकिन एक ट्विस्ट के साथ: टेक्स्ट कोड (जैसे Python) लिखने के बजाय, AI को Scratch ब्लॉक्स का उपयोग करके प्रोग्राम बनाने होते हैं। Scratch वह रंगीन, ड्रैग-एंड-ड्रॉप प्रोग्रामिंग भाषा है जिसका उपयोग बच्चे गेम और एनिमेशन बनाने के लिए करते हैं।
यहाँ सरल उपमाओं का उपयोग करके इस शोध पत्र की कहानी का विवरण दिया गया है:
1. समस्या: "दिखने में अच्छा है" वाला जाल
वर्षों से, शोधकर्ता टेक्स्ट-आधारित कोडिंग पर AI का परीक्षण करते रहे हैं। वे देखते हैं कि क्या AI का उत्तर सही उत्तर के समान दिखता है (जैसे यह देखना कि क्या दो वाक्यों में समान शब्द हैं)।
लेकिन Scratch अलग है। यह एक Lego सेट की तरह है।
- टेक्स्ट कोडिंग में, यदि आप एक कॉमा भी भूल जाते हैं, तो पूरा वाक्य टूट सकता है।
- Scratch में, आपके पास सही प्रकार के ब्लॉक्स (एक "मूव" ब्लॉक, एक "रिपीट" ब्लॉक) और उनके अंदर सही शब्द हो सकते हैं, लेकिन यदि आप उन्हें गलत क्रम में रखते हैं या गलत ट्रिगर से जोड़ देते हैं, तो गेम काम नहीं करेगा।
शोध पत्र का तर्क है कि वर्तमान AI परीक्षण एक लेगो महल को केवल ईंटों की गिनती करके आंकने जैसा है। यदि AI ने सही संख्या में लाल और नीली ईंटों का उपयोग किया है, तो परीक्षण कहता है "बहुत बढ़िया!" भले ही महल गिर जाए क्योंकि ईंटों को उल्टा रखा गया है।
2. समाधान: एक नया परीक्षण और एक नया पैमाना
लेखकों ने NL2Scratch बनाया, जो 311,000 उदाहरणों का एक विशाल पुस्तकालय है।
- स्रोत: उन्होंने मनुष्यों द्वारा बनाए गए वास्तविक Scratch प्रोजेक्ट्स को लिया।
- अनुवाद: उन्होंने इन प्रोजेक्ट्स के लिए प्राकृतिक अंग्रेजी विवरण लिखने के लिए AI का उपयोग किया (जैसे, "जब हरा झंडा क्लिक किया जाता है, तो बिल्ली को 10 कदम आगे बढ़ाएं")।
- फ़िल्टर: उन्होंने सुनिश्चित किया कि प्रत्येक उदाहरण वास्तव में Scratch इंजन में काम करता हो।
नया पैमाना (SAC):
केवल शब्दों को गिनने के बजाय, उन्होंने एक नया मापने वाला पैमाना बनाया जिसे Semantic Alignment Consistency (SAC) कहा जाता है।
- इसे एक चेकलिस्ट की तरह समझें।
- क्या विवरण में सही ट्रिगर (जैसे हरा झंडा) का उल्लेख है?
- क्या इसमें सही क्रिया (जैसे चलना/मूव करना) का उल्लेख है?
- क्या इसमें सही संख्याएँ (जैसे 10 कदम) हैं?
- SAC इस सूची के हर आइटम की जाँच करता है। यदि AI "ट्रिगर" को सही पाता है लेकिन "संख्या" को गलत, तो चेकलिस्ट एक लाल X दिखाती है, भले ही बाकी वाक्य बिल्कुल सही क्यों न हो।
3. बड़ी खोज: AI नकल करने में अच्छा है, अर्थ समझने में बुरा
शोधकर्ताओं ने इस नए परीक्षण पर कई स्मार्ट AI मॉडलों (जैसे GPT-4 और ओपन-सोर्स मॉडल) का परीक्षण किया। यहाँ उन्हें क्या पता चला:
- सफलता का भ्रम: पुराने जमाने के परीक्षणों (शब्दों को गिनने) का उपयोग करते समय, AI अद्भुत दिखता था। उसने 93% से 97% शब्द सही लिखे। ऐसा लगता था जैसे वह ठीक जानता हो कि क्या करना है।
- वास्तविकता की जाँच: जब उन्होंने नए SAC चेकलिस्ट का उपयोग किया, तो AI का स्कोर नाटकीय रूप रूप से गिर गया। केवल लगभग 18% AI के उत्तर ही अर्थ में पूरी तरह सही थे।
- "लॉन्ग गेम" की समस्या: Scratch प्रोजेक्ट जितना लंबा और जटिल होता गया, AI विवरणों को सही करने में उतना ही खराब होता गया, भले ही वह अभी भी बहुत समान सुनाई देता था।
AI कहाँ विफल हुआ?
AI "बड़ी तस्वीर" (यह जानना कि उसे एक "लूप" या "वेरिएबल" की आवश्यकता है) में अच्छा था। लेकिन वह परिचालन विवरणों (operational details) में गलती करता रहा:
- वह "आगे बढ़ें" कह देता था जब उसे "पीछे हटें" कहना चाहिए था।
- वह "10 बार दोहराएं" कहता था जब उसे "5 बार दोहराएं" कहना चाहिए था।
- वह स्थिति (condition) को गलत कर देता था (जैसे "यदि दीवार से टकराता है" बनाम "यदि बिल्ली से टकराता है")।
यह उस छात्र की तरह है जिसने शब्दावली सूची को पूरी तरह से रट लिया है लेकिन गणित के सवाल में फेल हो गया क्योंकि उसने घटाने के बजाय जोड़ने की गलती कर दी।
4. समाधान: एक "दूसरी राय"
शोध पत्र ने यह भी दिखाया है कि आप AI द्वारा उत्तर उत्पन्न करने के बाद इस नई चेकलिस्ट (SAC) का उपयोग करके उसकी गलतियों को ठीक कर सकते हैं।
- कल्पना कीजिए कि AI प्रोग्राम के 10 अलग-अलग संस्करण लिखता है।
- पहले संस्करण को चुनने के बजाय, आप सभी 10 को SAC चेकलिस्ट के माध्यम से चलाते हैं।
- आप उस संस्करण को चुनते हैं जो चेकलिस्ट से सबसे अधिक मेल खाता है।
- परिणाम: इस सरल कदम ने AI को बिना फिर से प्रशिक्षित किए या कुछ भी नया सिखाए, इसकी सटीकता को काफी सुधार दिया।
सारांश
शोध पत्र निष्कर्ष निकालता है कि ब्लॉक-आधारित प्रोग्रामिंग (जैसे Scratch) के लिए, समान दिखना पर्याप्त नहीं है। एक AI प्रोग्रामर की तरह लग सकता है बिना वास्तव में प्रोग्रामर हुए। इस क्षेत्र में AI का मूल्यांकन करने के लिए, हमें उसके "गियर्स और पहियों" (विशिष्ट क्रियाओं और संख्याओं) की जाँच करने की आवश्यकता है, न कि केवल उसके "पेंट जॉब" (शब्दों) की। उन्होंने ठीक ऐसा ही करने के लिए उपकरण बनाए हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।