Neural Theorem Proving for Verification Conditions: A Real-World Benchmark
यह शोध पत्र NTP4VC को प्रस्तुत करता है, जो लिनक्स (Linux) और कॉन्टिकी-ओएस (Contiki-OS) जैसे औद्योगिक प्रोजेक्ट्स से प्राप्त वेरिफिकेशन कंडीशंस के न्यूरल थ्योरम प्रूविंग के लिए पहला वास्तविक दुनिया का बहुभाषी बेंचमार्क है, जो प्रोग्राम वेरिफिकेशन को स्वचालित करने में लार्ज लैंग्वेज मॉडल्स की क्षमता और वर्तमान सीमाओं दोनों को उजागर करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
यहाँ इस शोध पत्र "Neural Theorem Proving for Verification Conditions: A Real-World Benchmark" का सरल भाषा और रचनात्मक उपमाओं के साथ हिंदी अनुवाद दिया गया है।
बड़ी तस्वीर: "प्रूफ बॉटलनेक" (The Proof Bottleneck)
कल्पना कीजिए कि आप एक विशाल, जटिल मशीन (जैसे कार का इंजन या कंप्यूटर ऑपरेटिंग सिस्टम) बना रहे हैं। आप 100% सुनिश्चित होना चाहते हैं कि चाबी घुमाने पर यह फटेगी या टूटेगी नहीं। सॉफ्टवेयर की दुनिया में, इसे प्रोग्राम वेरिफिकेशन (Program Verification) कहा जाता है।
इसे करने के लिए, गणितज्ञ और कंप्यूटर वैज्ञानिक कोड को एक विशाल, जटिल तर्क पहेली (logic puzzle) में बदल देते हैं। वे पूछते हैं: "यदि मैं इस मशीन को ये इनपुट दूँ, तो क्या यह हमेशा ठीक वैसा ही व्यवहार करेगी जैसा वादा किया गया है?"
यह शोध पत्र इस प्रक्रिया के एक विशिष्ट, कष्टदायक चरण पर केंद्रित है जिसे वेरिफिकेशन कंडीशंस (VCs) उत्पन्न करना कहा जाता है। एक VC को एक विशिष्ट, उच्च-दांव वाली गणितीय समस्या के रूप में समझें जिसे कंप्यूटर को यह सिद्ध करने के लिए हल करना होगा कि कोड सुरक्षित है।
समस्या:
वर्तमान में, कंप्यूटर इन विशिष्ट गणितीय समस्याओं को अपने आप हल करने में बहुत खराब हैं। वे एक ऐसे प्रतिभाशाली शतरंज खिलाड़ी की तरह हैं जो 10 सेकंड में एक पहेली हल कर सकता है, लेकिन यदि आप उन्हें थोड़ा अलग, वास्तविक दुनिया की पहेली दें, तो वे अटक जाते हैं।
क्योंकि कंप्यूटर अटक जाते हैं, इसलिए मानव विशेषज्ञों को हस्तक्षेप करना पड़ता है और मैन्युअल रूप से समाधान लिखना पड़ता है। यह धीमा है, महंगा है, और कंपनियों को इन सुरक्षा जांचों को हर चीज़ पर लागू करने से रोकता है।
नया विचार: AI को पहेलियाँ सुलझाना सिखाना
लेखकों ने पूछा, "क्या हम आर्टिफिशियल इंटेलिजेंस (विशेष रूप से लार्ज लैंग्वेज मॉडल्स या LLMs) को इन तर्क पहेलियों को स्वचालित रूप से हल करना सिखा सकते हैं?"
इस क्षेत्र को न्यूरल थ्योरम प्रूविंग (NTP) कहा जाता है। यह एक रोबोट को गणितज्ञ बनने के लिए प्रशिक्षित करने जैसा है। जबकि ये रोबोट अमूर्त गणित प्रतियोगिताओं (जैसे पुतनाम प्रतियोगिता) को हल करने में बहुत अच्छे हो गए हैं, कोई नहीं जानता था कि क्या वे वास्तविक सॉफ्टवेयर कोड से आने वाली अव्यवस्थित, वास्तविक दुनिया की तर्क पहेलियों को संभाल सकते हैं।
समाधान: AI के लिए एक "जिम" बनाना (द बेंचमार्क)
यह परीक्षण करने के लिए कि क्या AI यह कर सकता है, शोधकर्ताओं ने एक नया "जिम" (बेंचमार्क डेटासेट) बनाया जिसे NTP4VC कहा जाता है।
1. ये पहेलियाँ कहाँ से आईं?
नकली पहेलियाँ बनाने के बजाय, वे वास्तविक दुनिया के औद्योगिक प्रोजेक्ट्स के पास गए। उन्होंने Linux Kernel (आपके कंप्यूटर का मस्तिष्क), Contiki-OS (छोटे इंटरनेट उपकरणों में उपयोग किया जाता है), और विभिन्न C लाइब्रेरीज जैसे प्रसिद्ध सिस्टम के सोर्स कोड का अध्ययन किया।
2. उन्होंने पहेलियाँ कैसे प्राप्त कीं?
उन्होंने एक "अनुवादक" पाइपलाइन का उपयोग किया।
- चरण 1: उन्होंने वास्तविक कोड लिया और उसे औद्योगिक उपकरणों (जैसे Frama-C और Why3) के माध्यम से चलाया जो स्वचालित रूप से तर्क पहेलियाँ (VCs) उत्पन्न करते हैं।
- चरण 2: चूंकि AI मॉडल अलग-अलग "भाषाएं" (Isabelle, Lean, Rocq) बोलते हैं, इसलिए उन्होंने इन पहेलियों को औद्योगिक उपकरणों से उन भाषाओं में अनुवाद करने के लिए 800+ विशेषज्ञ-लिखित नियमों की एक विशाल लाइब्रेरी बनाई जिन्हें AI समझ सके।
- महत्वपूर्ण विवरण: उन्होंने केवल पहेलियों की नकल नहीं की। मूल पहेलियाँ बहुत आसान थीं क्योंकि मानव इंजीनियरों ने कंप्यूटरों को मदद करने के लिए पहले से ही कुछ "संकेत" (annotations) जोड़ दिए थे। शोधकर्ताओं ने इन संकेतों को हटा दिया ताकि पहेलियाँ कठिन हो सकें, जिससे AI की क्षमता का वास्तविक परीक्षण हो सके।
3. डेटासेट:
उन्होंने 600 चुनौतीपूर्ण पहेलियों का एक सेट बनाया जिसे दो समूहों में विभाजित किया गया है:
- "Pearls of Programs": क्लासिक, कठिन एल्गोरिदम पहेलियाँ (जैसे डेटा सॉर्ट करना या मेमोरी ट्री प्रबंधित करना)।
- "Real C Verification": वास्तविक, अव्यवस्थित औद्योगिक कोड (जैसे मेमोरी एलोकेटर या लिंक्ड लिस्ट) से निकाली गई पहेलियाँ।
प्रयोग: दौड़ में कौन जीता?
शोधकर्ताओं ने अपने नए जिम पर सर्वश्रेष्ठ AI मॉडल्स को सर्वश्रेष्ठ पारंपरिक कंप्यूटर सॉल्वर (जिन्हें "हैमर" प्रूवर कहा जाता है) के खिलाफ खड़ा किया।
परिणाम:
- AI मॉडल्स (LLMs): वे काफी संघर्ष करते दिखे। यहाँ तक कि सबसे स्मार्ट मॉडल्स ने भी पहली बार में केवल लगभग 2% से 5% पहेलियों को ही हल किया।
- पारंपरिक सॉल्वर्स (Hammer): ये पुराने-स्कूल के, विशिष्ट उपकरण बहुत बेहतर प्रदर्शन करते हैं, जो लगभग 18% से 27% पहेलियों को हल करते हैं।
- अंतर: AI मॉडल्स पारंपरिक उपकरणों की तुलना में काफी कमजोर थे।
AI क्यों विफल हुआ? (एक पोस्टमार्टम)
शोधकर्ताओं ने देखा कि AI क्यों विफल हुआ और तीन मुख्य कारण पाए, जिन्हें समझाने के लिए बेहतरीन रूपकों का उपयोग किया गया है:
- सिंटैक्टिक एरर्स (The "Typo" Problem - टाइपो की समस्या):
तर्क पहेलियाँ अविश्वसनीय रूप से लंबी और नेस्टेड होती हैं, जैसे 50 कोष्ठकों (parentheses) वाला एक वाक्य। AI को कोष्ठक बंद करना भूल जाता था या वह एक अतिरिक्त कोष्ठक जोड़ देता था। यह उस छात्र की तरह था जो गणित तो जानता है लेकिन लिखने में गलतियाँ करता रहता है, जिससे शिक्षक उसका उत्तर पढ़ नहीं पाता।
- सांख्यिकी: 24% से अधिक AI प्रयास केवल इन सिंटैक्स त्रुटियों के कारण विफल हुए।
- सिमेंटिक कन्फ्यूजन (The "Imposter" Problem - छद्मवेशी की समस्या):
AI ऐसा कोड लिखता था जो दिखने में तो प्रमाण (proof) जैसा लगता था, लेकिन वास्तव में कुछ भी नहीं करता था। वह एक ही कदम को बार-बार दोहराता था ("मेरे पास एक तथ्य है, इसलिए मेरे पास एक तथ्य है...") या गलत प्रकार के तर्क का उपयोग करता था (जैसे पेंच घुमाने के लिए हथौड़े का उपयोग करना)। वह नियमों की समझ के बिना केवल एक समाधान का भ्रम पैदा कर रहा था।
- सांख्यिकी: एक शीर्ष मॉडल के 64% से अधिक प्रयास इसी तरह के दोहराव वाले निरर्थक व्यवहार में बदल गए।
- हैलुसिनेशन (The "Fake Fact" Problem - फर्जी तथ्य की समस्या):
AI ऐसे उपकरण या तथ्य गढ़ लेता था जो अस्तित्व में ही नहीं थे। वह कह सकता था, "मैं इस समस्या को हल करने के लिएwhy3टैक्टिक का उपयोग करूँगा," लेकिन वह टैक्टिक उस भाषा में मौजूद ही नहीं था। यह उस छात्र की तरह था जो कहता है, "मैंने कैलकुलस की जादुई छड़ी का उपयोग किया," जबकि ऐसी कोई चीज़ मौजूद ही नहीं है।
- सांख्यिकी: लगभग 9% विफलताएं गैर-मौजूद टूल्स को गढ़ने के कारण हुईं।
निष्कर्ष
यह शोध पत्र निष्कर्ष निकालता है कि हालांकि AI ने गणित प्रतियोगिताओं में बड़ी प्रगति की है, लेकिन यह वास्तविक दुनिया के सॉफ्टवेयर को सत्यापित करने के लिए मानव विशेषज्ञों को बदलने के लिए अभी तैयार नहीं है।
उनके द्वारा बनाया गया "जिम" (NTP4VC) दिखाता है कि आज के AI की क्षमताओं और सॉफ्टवेयर को पूरी तरह से स्वचालित बनाने के लिए आवश्यक क्षमताओं के बीच एक बड़ा अंतर है। AI को निम्नलिखित में बहुत बेहतर होने की आवश्यकता है:
- सख्त सिंटैक्स नियमों का पालन करना (कोई टाइपो नहीं)।
- औद्योगिक कोड के गहरे तर्क को समझना (केवल अमूर्त गणित नहीं)।
- वास्तविकता से जुड़े रहना (तथ्य न बनाना)।
तब तक, "ह्यूमन-इन-द-लूप" (संकेत लिखने वाला विशेषज्ञ) सॉफ्टवेयर को सुरक्षित रखने के लिए अनिवार्य बना हुआ है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।