Open-Source LLM-Driven Formal Verification: A Multi-Agent Pipeline for RTL Repair
यह शोध पत्र एक ओपन-सोर्स, मल्टी-एजेंट पाइपलाइन के व्यवहार्यता अध्ययन को प्रस्तुत करता है जो काउंटर-एग्जांपल-गाइडेड रिफाइनमेंट के माध्यम से RTL डिजाइनों को पुनरावृत्ति रूप से सुधारने के लिए लार्ज लैंग्वेज मॉडल्स को औपचारिक सत्यापन उपकरणों (Yosys, SymbiYosus, और Z3) के साथ जोड़कर उपयोग करता है, जो एक ALU केस स्टडी पर सफल बग फिक्सिंग का प्रदर्शन करते हुए विशिष्ट विफलता मोड और टूल की सीमाओं को स्पष्ट करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप डिजिटल लेगो ब्रिक्स से एक विशाल, जटिल महल बना रहे हैं। इंजीनियर कंप्यूटर चिप्स को डिजाइन करने के लिए यही करते हैं: वे RTL (रजिस्टर ट्रांसफर लेवल) नामक कोड लिखते हैं जो छोटे ट्रांजिस्टर को बताते हैं कि उन्हें कैसे व्यवहार करना है। लेकिन यहाँ एक पेंच है: यदि एक भी ईंट गलत जगह रखी गई, तो बिजली चालू होने पर पूरा महल ढह सकता है। अपने काम की जाँच करना इस काम का सबसे कठिन हिस्सा है, जिसमें अक्सर आधे से अधिक समय लग जाता है। पारंपरिक रूप से, इंजीनियरों ने अपने काम की जाँच करने के दो मुख्य तरीके इस्तेमाल किए हैं। पहला एक "टेस्ट ड्राइव" की तरह है, जहाँ वे चिप को कुछ विशिष्ट परिदृश्यों के माध्यम से चलाकर देखते हैं कि क्या यह टूटती है। दूसरा "फॉर्मल वेरिफिकेशन" है, जो एक सुपर-गणितीय प्रमाण की तरह है जो गारंटी देता है कि महल हर संभव स्थिति में खड़ा रहेगा, न कि केवल उन स्थितियों में जिनका उन्होंने परीक्षण किया है। हालाँकि, इस सुपर-प्रूफ विधि के लिए आमतौर पर महंगे, लॉक-डाउन सॉफ़्टवेयर की आवश्यकता होती है जिसे केवल बड़ी कंपनियाँ ही वहन कर सकती हैं।
यहाँ नया खिलाड़ी है: लार्ज लैंग्वेज मॉडल्स (LLMs)। आप उन्हें AI चैटबॉट्स के रूप में जानते होंगे जो कहानियाँ या कोड लिख सकते हैं। हाल ही में, लोगों ने पूछना शुरू किया: "क्या एक AI हमारे टूटे हुए डिजिटल महलों को ठीक करने वाला वास्तुकार बन सकता है?" बड़ा सवाल यह है कि क्या एक AI न केवल गलती को पकड़ सकता है बल्कि उसे इस तरह से ठीक कर सकता है कि वह गणितीय रूप से पूर्ण रूप से सिद्ध हो, और इसके लिए उसे लाखों डॉलर का सॉफ़्टवेयर लाइसेंस खरीदने की आवश्यकता न हो। यह शोध पत्र उसी प्रश्न में गहराई से उतरता है, जो केवल मुफ्त, ओपन-सोर्स टूल का उपयोग करके, AI की रचनात्मकता और औपचारिक गणित के सख्त, अडिग तर्क के बीच एक पुल बनाने की कोशिश करता है।
द एआई डिटेक्टिव एंड द ओपन-सोर्स टूलबॉक्स
इस अध्ययन में, हा ट्रुंग ट्रान नामक एक शोधकर्ता ने टूटे हुए चिप डिजाइनों के लिए रिपेयर क्रू के रूप में कार्य करने के लिए AI एजेंटों की एक चतुर टीम बनाई। इसे एक हाई-टेक जासूसी टीम की तरह समझें जो एक लूप में काम करती है। एक अकेले AI के सब कुछ एक साथ करने के बजाय, टीम विभाजित है: एक एजेंट ब्लूप्रिंट पढ़ता है, दूसरा नियम लिखता है कि चिप को क्या करना चाहिए, तीसरा काम की जाँच करता है, और चौथा वास्तव में कोड को ठीक करता है।
यहाँ असली जादू यह है कि वे गलतियों की जाँच कैसे करते हैं। अधिकांश AI मरम्मत उपकरण केवल कुछ टेस्ट ड्राइव (सिमुलेशन) चलाते हैं ताकि यह देखा जा सके कि चिप काम करती है या नहीं। लेकिन यह टीम एक "फॉर्मल बैकएंड" का उपयोग करती है—एक मुफ्त, ओपन-सोर्स गणित इंजन जो Yosys, SymbiYosys और Z3 जैसे उपकरणों से बना है। यह इंजन केवल अनुमान नहीं लगाता; यह गणितीय रूप से यह सिद्ध करने की कोशिश करता है कि चिप सही है। यदि चिप विफल होती है, तो इंजन केवल यह नहीं कहता कि "यह टूटा हुआ है।" यह AI को एक विशिष्ट "काउंटरएग्जांपल" देता है, जो एक वीडियो रीप्ले की तरह है जो ठीक से दिखाता है कि महल कैसे ढहा। AI फिर इस वीडियो को देखता है, समझता है कि क्या गलत हुआ, और इसे ठीक करने की कोशिश करता है। वे इसे दोहराते रहते हैं—जाँच, क्रैश का पता लगाना, सुधार, फिर से जाँच—जब तक कि गणित यह सिद्ध न कर दे कि चिप एकदम सही है या उनके पास प्रयास समाप्त न हो जाएं।
अच्छी खबर: यह काम करता है (कभी-कभी)
शोधकर्ताओं ने इस सिस्टम का परीक्षण छह अलग-अलग प्रकार के डिजिटल डिजाइनों पर किया, जिसमें एक साधारण कैलकुलेटर भाग (एक ALU) से लेकर अधिक जटिल ट्रैफिक कंट्रोलर और मेमोरी यूनिट तक शामिल थे। परिणाम जीत और स्पष्ट सीमाओं का मिश्रण थे।
मुख्य आकर्षण ALU (अरिथमेटिक लॉजिक यूनिट) था, जो चिप के कैलकुलेटर मस्तिष्क की तरह है। शोधकर्ताओं ने जानबूझकर इसमें एक "AND" ऑपरेशन को "OR" ऑपरेशन से बदलकर इसे खराब किया। AI टीम ने त्रुटि को तुरंत पकड़ लिया। जाँच और सुधार के केवल दो राउंड में, उन्होंने कोड को ठीक कर दिया। इससे भी महत्वपूर्ण बात यह है कि ओपन-सोर्स गणित इंजन ने 100% निश्चितता के साथ सिद्ध किया कि सुधार सही था, चाहे चिप द्वारा प्रोसेस किया जाने वाला कोई भी नंबर हो। यह सभी पांच परीक्षणों में हुआ, जिसमें औसतन केवल 16.5 सेकंड लगे। इसने साबित कर दिया कि विचार काम करता है: एक AI, ओपन-सोर्स गणित उपकरणों द्वारा निर्देशित, एक वास्तविक बग को गणितीय गारंटी के साथ ढूंढ और ठीक कर सकता है।
बुरी खबर: जहाँ AI अटक गया
हालाँकि, यह कहानी पूरी तरह से जीत की नहीं है। जब शोधकर्ताओं ने अन्य पांच डिजाइनों पर यही प्रक्रिया आज़माई, तो AI टीम एक दीवार से टकरा गई। वे उनमें से किसी को भी विश्वसनीय रूप से ठीक नहीं कर सके। पेपर ने सावधानीपूर्वक यह विश्लेषण किया है कि वे क्यों विफल हुए, और चार अलग-अलग "विफलता मोड" की पहचान की है जो AI के लिए जाल की तरह काम करते हैं:
- "बहुत गहरा" जाल (बाउंडेड-कवर वेक्यूटी): एक मामले में (एक काउंटर), गणित इंजन ने "FAIL" कहा, भले ही सुधार वास्तव में सही था। क्यों? क्योंकि डिजाइन को एक विशिष्ट अवस्था तक पहुँचने के लिए 256 चक्रों (cycles) तक चलने की आवश्यकता थी, लेकिन टूल ने केवल 256 चक्रों तक ही देखा। यह एक कार को पूरे देश में चलाने के प्रमाण के लिए केवल एक मील तक चलाने जैसा था; टूल गंतव्य तक नहीं देख सका, इसलिए उसने हार मान ली। पेपर नोट करता है कि यह टूल की सीमा है, AI की नहीं।
- "भ्रमित करने वाले निर्देश" का जाल (स्पेसिफिकेशन एम्बिग्युटी): एक अन्य डिजाइन (एक आर्बिटर) के लिए, AI ने लिखित नियमों का पालन करने की कोशिश की, लेकिन नियम एक असंभव चीज़ की मांग कर रहे थे (जैसे कि एक ट्रैफिक लाइट जो बिना घड़ी के बदलती है)। AI ने वफादारी से असंभव निर्देशों का पालन किया, जिससे एक डेड एंड (गतिरोध) पैदा हुआ।
- "टाइम ट्रैवल" का जाल (टेम्पोरल लॉजिक बग्स): दो मामलों में (एक UART ट्रांसमीटर और एक FIFO मेमोरी), बग्स में कई टाइम स्टेप्स में होने वाली घटनाएं शामिल थीं। AI सिंगल-स्टेप लॉजिक (जैसे कैलकुलेटर) को ठीक करने में बहुत अच्छा था, लेकिन वह समय के साथ होने वाली घटनाओं के अनुक्रमों के बारे में तर्क करने में संघर्ष करता रहा।
- "बहुत अधिक नियम" का जाल (मल्टी-प्रॉपर्टी प्रेशर): अंतिम मामले में (एक AXI Lite स्लेव), वहां इतने नियम थे जिनका चिप को एक साथ पालन करना था कि एक नियम को ठीक करने से दूसरा टूट गया। AI एक लूप में फंस गया, जो एक ऐसा समाधान खोजने में असमर्थ था जो सभी को संतुष्ट करे।
टूलबॉक्स में एक छिपा हुआ ग्लिच
ओपन-सोर्स टूल्स के बारे में भी एक आश्चर्यजनक खोज हुई। शोधकर्ताओं ने पाया कि Yosys टूल, जो कोड को प्रोसेस करने में मदद करता है, में एक छिपा हुआ दोष है। यदि आप "bind" नामक एक विशिष्ट विधि का उपयोग करके डिजाइन से सुरक्षा जाँच (assertions) जोड़ने का प्रयास करते हैं, तो टूल उन्हें चुपचाप अनदेखा कर देता है। यह एक कमरे में सुरक्षा कैमरा लगाने जैसा है लेकिन कैमरा अनप्लग किया हुआ है; सिस्टम सोचता है कि सब कुछ ठीक है क्योंकि वह कैमरे को कभी देख ही नहीं पाता। शोधकर्ताओं को अपनी विधि बदलकर जाँचों को सीधे कोड में "इंजेक्ट" करना पड़ा ताकि गणित इंजन वास्तव में उन्हें देख सके। यह उन सभी के लिए एक उपयोगी सुझाव है जो इन मुफ्त टूल्स का उपयोग कर रहे हैं।
निचोड़
यह पेपर एक "फिजिबिलिटी स्टडी" है, जिसका अर्थ है, "हमने इसे आज़माया, और यहाँ बताया गया है कि यह कहाँ काम करता है और कहाँ टूट जाता है।" मुख्य निष्कर्ष यह है कि यह संभव है कि एक AI का उपयोग चिप डिजाइनों को ठीक करने के लिए किया जाए, लेकिन केवल तभी जब आप ओपन-सोर्स टूल्स का उपयोग करते हैं और यदि समस्या बहुत जटिल नहीं है।
लेखक अपनी सीमाओं के बारे में ईमानदार हैं: यह सिस्टम सरल, तत्काल लॉजिक त्रुटियों (जैसे कैलकुलेटर) को ठीक करने में बहुत अच्छा है, लेकिन यह वर्तमान में जटिल टाइमिंग इश्यू, गहरी मेमोरी अवस्थाओं, या परस्पर विरोधी नियमों वाले डिजाइनों के साथ संघर्ष करता है। उन्होंने चिप रिपेयर की समस्या को हल करने का दावा नहीं किया; इसके बजाय, उन्होंने एक स्पष्ट मानचित्र बनाया जो दिखाता है कि "सुरक्षित क्षेत्र" कहाँ है जहाँ AI काम करता है और "खतरे का क्षेत्र" कहाँ है जहाँ वह खो जाता है। केवल मुफ्त उपकरणों का उपयोग करके, वे इस प्रकार के अनुसंधान के लिए प्रवेश की लागत को कम करने की आशा करते हैं, यह सिद्ध करते हैं कि विश्वसनीय हार्डवेयर डिजाइन का भविष्य बनाने के लिए आपको लाखों डॉलर के बजट की आवश्यकता नहीं है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।