Towards Language Model Guided TLA+ Proof Automation
यह शोध पत्र एक प्रॉम्प्ट-आधारित दृष्टिकोण प्रस्तुत करता है जो प्रतीकात्मक सत्यापन (symbolic verification) के लिए TLA+ प्रमाण दायित्वों (proof obligations) को सरल उप-दावों में पदानुक्रमित रूप से विघटित करने के लिए लार्ज लैंग्वेज मॉडल्स का लाभ उठाता है, जिससे संरचनात्मक चुनौतियों पर विजय प्राप्त होती है और 119 प्रमेयों के एक नए बेंचमार्क पर बेसलाइन विधियों से बेहतर प्रदर्शन होता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप लेगो (LEGO) से एक विशाल, जटिल किला बनाने की कोशिश कर रहे हैं। आपके पास ब्लूप्रिंट्स (ब्लूप्रिंट्स) का एक बहुत ही सख्त सेट है (TLA+ भाषा) जो यह सुनिश्चित करता है कि किला गिरे नहीं। हालाँकि, इस किले को हाथ से बनाना अविश्वसनीय रूप से कठिन है। आपको एक मास्टर आर्किटेक्ट बनना होगा ताकि यह पता चल सके कि कौन सी ईंट कहाँ जाएगी, और यदि आप एक छोटी सी भी गलती करते हैं, तो पूरी संरचना अमान्य हो जाएगी।
यह फॉर्मल वेरिफिकेशन (Formal Verification) की दुनिया है। यह एक बहुत ही सख्त निरीक्षक (इंस्पेक्टर) की तरह है जो हर एक ईंट की जाँच करता है ताकि यह सुनिश्चित किया जा सके कि आपका सिस्टम (जैसे कि एक बैंक ऐप या एक सेल्फ-ड्राइविंग कार) पूरी तरह से सुरक्षित है। लेकिन अभी, इस निरीक्षक से अपने काम पर मुहर लगवाने के लिए एक मानव विशेषज्ञ को घंटों या दिनों तक प्रमाण (proof) लिखने में बिताने की आवश्यकता होती है।
यहाँ लार्ज लैंग्वेज मॉडल्स (LLMs) आते हैं—वह AI "दिमाग" जिसने इंटरनेट पर लगभग सब कुछ पढ़ लिया है। आप सोच सकते हैं, "आइए AI से ही हमारे लिए किला बनाने के लिए कहें!"
समस्या: AI ब्लूप्रिंट्स से भ्रमित हो जाता है
शोधकर्ताओं ने AI से एक बार में पूरा प्रमाण लिखने के लिए कहने की कोशिश की, जैसे किसी छात्र से एक ही बैठक में 50 पन्नों का निबंध लिखने के लिए कहना। यह अच्छी तरह काम नहीं किया। इसके कारण यहाँ दिए गए हैं:
- गलत शैली: अधिकांश AI मॉडल "टैक्टिक-आधारित" (Tactic-based) प्रमाण प्रणालियों पर प्रशिक्षित होते हैं (जैसे Lean या Coq)। इन्हें एक वीडियो गेम की तरह समझें। आप AI को एक कमांड देते हैं ("कूदें," "हमला करें," "दरवाजा खोलें"), और गेम की स्थिति चरण-दर-चरण बदलती है जब तक कि आप जीत न जाएं।
- TLA+ का अंतर: TLA+ कोई वीडियो गेम नहीं है; यह एक कानूनी अनुबंध (legal contract) या एक वंशवृक्ष (family tree) लिखने जैसा है। आप चरण-दर-चरण कमांड नहीं देते हैं। इसके बजाय, आप कहते हैं, "मुख्य बिंदु (Goal) को सिद्ध करने के लिए, मुझे इन तीन छोटे बिंदुओं (Sub-claims) को सिद्ध करने की आवश्यकता है। और उन बिंदुओं को सिद्ध करने के लिए, मुझे इन और भी छोटे बिंदुओं को सिद्ध करने की आवश्यकता है।" यह तर्क का एक पदानुक्रमित वृक्ष (hierarchical tree) है।
जब AI ने TLA+ प्रमाण लिखने की कोशिश की, तो वह भ्रमित हो गया। उसने "वीडियो गेम" शैली में खेलने की कोशिश की जबकि वह एक "कानूनी अनुबंध" की दुनिया थी। उसने गलत शब्दों का उपयोग किया, प्रतीकों को मिला दिया, और ऐसे वाक्य बनाए जिन्हें सख्त निरीक्षक (TLAPS सॉफ्टवेयर) पढ़ भी नहीं सका। यह किराने के सामान के लिए मोनोपॉली मनी (Monopoly money) से भुगतान करने जैसा था।
समाधान: "आर्किटेक्ट और राजमिस्त्री" की रणनीति
लेखकों, यूहाओ झोउ और स्टावरोस ट्रिपाकिस ने AI का उपयोग करने का एक चतुर नया तरीका निकाला। उन्होंने महसूस किया कि AI बड़ी तस्वीर सोचने में अच्छा है लेकिन बारीक, सटीक विवरणों में बुरा है।
इसलिए, उन्होंने LMGPA (Language Model Guided Proof Automation) नामक एक प्रणाली बनाई जो एक निर्माण टीम के रूप में दो अलग-अलग भूमिकाओं के रूप में कार्य करती है:
1. AI आर्किटेक्ट (दिमाग)
AI को पूरा किला बनाने के लिए कहने के बजाय, वे उसे ब्लूप्रिंट बनाने के लिए कहते हैं।
- कार्य: "यहाँ एक बड़ी, डरावनी समस्या है। इसे तीन छोटे, आसान समस्याओं में तोड़ दें, जिन्हें हल करने से बड़ी समस्या सिद्ध हो जाएगी।"
- ट्रिक: शोधकर्ताओं ने AI को एक बहुत ही विशिष्ट, सरल भाषा बोलने के लिए मजबूर किया। उन्होंने इसे कहा: "पूरा प्रमाण मत लिखो। बस मुझे उप-समस्याओं (sub-problems) के नाम और उनके नियम दो। इस सख्त प्रारूप का पालन करो।"
- परिणाम: यह AI को सिंटैक्स त्रुटियां (syntax errors) करने से रोकता है। यह एक शेफ को यह बताने जैसा है कि, "पूरा भोजन मत पकाओ; बस मुझे सामग्री की सूची दे दो।"
2. सिम्बोलिक मेसन/राजमिस्त्री (रोबोट)
एक बार जब AI ब्लूप्रिंट (उप-दावे) बना लेता है, तो सिस्टम वास्तविक निर्माण का काम एक सिम्बोलिक प्रूवर (एक सॉफ्टवेयर जिसे TLAPS कहा जाता है) को सौंप देता है।
- कार्य: रोबोट जाँचता है कि क्या AI का ब्लूप्रिंट समझ में आता है। "क्या A और B को सिद्ध करना वास्तव में C की ओर ले जाता है?"
- सत्यापन: यदि ब्लूप्रिंट अच्छा है, तो रोबोट स्वचालित रूप से छोटी उप-समस्याओं को हल करने का प्रयास करता है। यदि कोई उप-समस्या बहुत कठिन है, तो रोबोट AI आर्किटेक्ट से उसे और अधिक तोड़ने के लिए कहता है।
"रिकर्सिव" लूप (पुनरावर्ती चक्र)
यह प्रक्रिया रिकर्सिव रूप से होती है (जैसे रूसी नेस्टिंग डॉल्स का सेट):
- AI एक बड़ी समस्या को मध्यम समस्याओं में तोड़ता है।
- रोबोट जाँचता है कि क्या मध्यम समस्याएं वैध हैं।
- यदि मध्यम समस्या अभी भी बहुत कठिन है, तो AI उसे छोटी समस्याओं में तोड़ देता है।
- रोबोट तुरंत छोटी समस्याओं को हल करने का प्रयास करता है।
- यदि रोबलेट सफल होता है, तो पूरी श्रृंखला लॉक हो जाती है, और प्रमाण पूरा हो जाता है!
परिणाम: एक जीतने वाली टीम
शोधकर्ताओं ने इसका परीक्षण 119 विभिन्न गणितीय पहेलियों और वितरित सिस्टम प्रोटोकॉल (जैसे कि कंप्यूटर कैसे बात करते हैं उसके नियम) पर किया।
- पुराना तरीका (केवल AI): AI ने पूरा प्रमाण लिखने की कोशिश की और सिंटैक्स त्रुटियों और भ्रम के कारण अधिकांश समय विफल रहा।
- नया तरीका (AI + रोबोट): काम को विभाजित करके, उनकी प्रणाली ने अकेले AI या अकेले रोबोट की तुलना में काफी अधिक समस्याओं को हल किया।
संक्षेप में रूपक (Analogy)
कल्प Imagine कीजिए कि आप एक विशाल, 1,000-टुकड़ों वाली जिग्सॉ पहेली (jigsaw puzzle) को हल करने की कोशिश कर रहे हैं।
- AI एक जीनियस है जो बॉक्स पर बनी तस्वीर को देख सकता है और कह सकता है, "ठीक है, आकाश यहाँ जाएगा, समुद्र वहाँ जाएगा, और नाव बीच में जाएगी।" यह रणनीति बनाने में माहिर है।
- सिम्बोलिक प्रूवर एकदम सटीक दृष्टि वाला एक रोबोट है जो तुरंत दो टुकड़ों को आपस में जोड़ सकता है यदि वे फिट बैठते हैं। यह क्रियान्वयन (execution) में माहिर है।
यदि आप AI को टुकड़े उठाने और उन्हें जोड़ने के लिए कहते हैं, तो वह लड़खड़ा जाएगा और उन्हें गिरा देगा (सिंटैक्स त्रुटियां)। यदि आप रोबोट को तस्वीर समझने के लिए कहते हैं, तो वह बॉक्स को देखता रहेगा और कुछ नहीं करेगा (उसमें रचनात्मकता की कमी है)।
इस पेपर की सफलता यह पहचानने में थी कि यदि आप AI को रणनीति बनाने (पहेली को हिस्सों में बांटने) के लिए और रोबोट को टुकड़ों को जोड़ने (टुकड़ों को सत्यापित करने) के लिए देते हैं, तो आप पूरे किले को बहुत तेज़ी से और कम गलतियों के साथ बना सकते हैं।
यह क्यों महत्वपूर्ण है
यह केवल गणितीय पहेलियों के बारे में नहीं है। यह हमारे डिजिटल संसार को सुरक्षित बनाने के बारे में है। जटिल प्रणालियों (जैसे बैंकिंग सॉफ्टवेयर या चिकित्सा उपकरणों) के बग-मुक्त होने को सिद्ध करना आसान बनाकर, हम उन पर अधिक भरोसा कर सकते हैं। यह विधि बाधाओं को कम करती है, जिससे अधिक इंजीनियर इन शक्तिशाली सुरक्षा जाँचों का उपयोग कर सकते हैं बिना पीएचडी-स्तर के गणितज्ञ बने।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।