← नवीनतम पेपर
💻 computer science

Equivalence Checking of ML GPU Kernels

यह शोध पत्र वोल्टा (Volta) को प्रस्तुत करता है, जो GPU कर्नेल के लिए पहला साउंड और कंप्लीट इक्विवेलेंस चेकर है, जो हाथ से, कंपाइलर्स द्वारा या LLMs द्वारा अनुकूलित मशीन लर्निंग गणनाओं की शुद्धता को औपचारिक रूप से सत्यापित करता है।

मूल लेखक: Benjamin Driscoll, Kshitij Dubey, Anjiang Wei, Neeraj Kayal, Rahul Sharma, Alex Aiken

प्रकाशित 2026-08-18
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Benjamin Driscoll, Kshitij Dubey, Anjiang Wei, Neeraj Kayal, Rahul Sharma, Alex Aiken

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

आधुनिक आर्टिफिशियल इंटेलिजेंस की विशाल, अदृश्य मशीनरी में, सबसे महत्वपूर्ण कार्य क्लाउड में नहीं, बल्कि जीपीयू (GPU) नामक विशेष कंप्यूटर चिप्स पर होता है। ये चिप्स एक साथ लाखों सूक्ष्म गणनाएं करने के लिए डिज़ाइन किए गए हैं, जो उन बड़े भाषा मॉडलों (large language models) को प्रशिक्षित करने के लिए एक आवश्यकता है जो अब कोड लिखते हैं, भाषाओं का अनुवाद करते हैं और कला उत्पन्न करते हैं। इन मॉडलों को इतना तेज़ चलाने के लिए कि वे उपयोगी हो सकें, इंजीनियरों को अत्यधिक विशिष्ट निर्देश लिखने होते हैं, जिन्हें 'कर्नेल' (kernels) कहा जाता है, जो जीपीयू को ठीक से बताते हैं कि डेटा को कैसे स्थानांतरित करना है और गणित कैसे करना है। पिछले कुछ वर्षों में, कंपनियों ने इन कर्नेल्स को लिखने के लिए स्वयं आर्टिफिशियल इंटेलिजेंस का उपयोग करना शुरू कर दिया है, इस उम्मीद में कि वे मानव इंजीनियरों की तुलना में काम करने के तेज़ तरीके खोज सकें। हालाँकि, यह गति एक जोखिम के साथ आती है: जब कोई एआई या कंपाइलर किसी कोड के टुकड़े को तेज़ बनाने के लिए उसे फिर से लिखता है, तो वह अनजाने में सूक्ष्म त्रुटियां पेश कर सकता है। ये त्रुटियां कंप्यूटर को गलत उत्तर देने या इससे भी बदतर, ऐसे तरीकों से चुपचाप क्रैश होने के लिए मजबूर कर सकती हैं जिन्हें मानक परीक्षण के माध्यम से खोजना लगभग असंभव है। मुख्य चुनौती यह है कि ये चिप्स एक ही समय में काम के हजारों थ्रेड्स (threads) को निष्पादित करते हैं, और यदि वे पूरी तरह से समन्वय नहीं करते हैं, तो वे एक-दूसरे के काम में बाधा डाल सकते हैं, जिससे एक 'रेस कंडीशन' (race condition) पैदा हो सकती है जहाँ अंतिम परिणाम इस बात पर निर्भर करता है कि चीजें किस अप्रत्याशित क्रम में होती हैं।

शोधकर्ताओं की एक टीम ने इस समस्या को हल करने के लिए 'वोल्टा' (Volta) नामक एक नया उपकरण विकसित किया है। यह अनुमान लगाने के बजाय कि क्या एक नया, तेज़ संस्करण सही है, वोल्टा एक औपचारिक सत्यापनकर्ता (formal verifier) के रूप में कार्य करता है जो गणितीय रूप से सिद्ध करता है कि दोनों संस्करण समान परिणाम देते हैं। शोधकर्ताओं ने एक ऐसी प्रणाली बनाई है जो एक संदर्भ कर्नेल (reference kernel)—मूल, विश्वसनीय संस्करण—और एक अनुकूलित (optimized) कर्नेल—नया, तेज़ संस्करण—के निम्न-स्तरीय निर्देशों को लेती है और उन्हें एक प्रतीकात्मक इंजन (symbolic engine) के माध्यम से चलाती है। कोड को विशिष्ट संख्याएं देने और यह देखने के बजाय कि क्या परिणाम आता है, इंजन इनपुट को अमूर्त प्रतीकों (abstract symbols) के रूप में मानता है। यह हर उस संभावित पथ का पता लगाता है जिससे कोड गुजर सकता है, यह ट्रैक करता है कि डेटा हजारों समानांतर थ्रेड्स के माध्यम से कैसे चलता है और वे एक-दूसरे के साथ कैसे तालमेल बिठाते हैं। यदि कोड इस तरह से मेमोरी एक्सेस करने का प्रयास करता है जिससे संघर्ष (conflict) हो सकता है, या यदि थ्रेड्स अनंत काल तक एक-दूसरे का इंतज़ार करते हुए फंस जाते हैं, तो टूल तुरंत त्रुटि को चिह्नित कर देता है। यदि कोड सुचारू रूप से चलता है, तो टूल दोनों कर्नेल्स के अंतिम आउटपुट को जटिल गणितीय अभिव्यक्तियों में अनुवादित करता है और जांचता है कि क्या वे अभिव्यक्तियाँ मौलिक रूप से एक ही हैं, चाहे उनमें कोई भी विशिष्ट संख्या डाली गई हो।

शोधकर्ताओं ने मैट्रिक्स गुणन (matrix multiplications), कनवल्शन (convolutions) और उन अटेंशन मैकेनिज्म (attention mechanisms) सहित वास्तविक दुनिया के विभिन्न मशीन लर्निंग कार्यों पर वोल्टा का परीक्षण किया, जो बड़े भाषा मॉडलों को शक्ति प्रदान करते हैं। उन्होंने पाया कि यह टूल उन कर्नेल्स को सफलतापूर्वक सत्यापित कर सकता है जिन्हें हाथ से, कंपाइलर द्वारा, और यहाँ तक कि बड़े भाषा मॉडलों द्वारा अनुकूलित किया गया था। एक उदाहरण में, उन्होंने एक ऐसे कर्नेल की जांच की जिसे एक एआई द्वारा बनाया गया था और जिसे तेरह दौर के स्वचालित सुधार के माध्यम से अनुकूलित किया गया था। वोल्टा ने पुष्टि की कि यह एआई-जनित कोड मूल मानव-लिखित संदर्भ के गणितीय रूप से समकक्ष था, जिससे यह सिद्ध हुआ कि आक्रामक अनुकूलन ने तर्क को नहीं तोड़ा है। टूल ने उन त्रुटियों को पकड़कर भी अपना मूल्य सिद्ध किया जिन्हें अन्य विधियों ने छोड़ दिया था। उदाहरण के लिए, इसने जीपीयू प्रोग्रामिंग के एक लोकप्रिय, व्यापक रूप से उद्धृत ट्यूटोरियल में डेटा रेस (data races) का पता लगाया, जिसका उपयोग वर्षों से हजारों डेवलपर्स द्वारा किया जा रहा था। ये त्रुटियां इसलिए छिपी हुई थीं क्योंकि वे केवल बहुत विशिष्ट समय स्थितियों (timing conditions) के तहत दिखाई देती थीं जिन्हें मानक परीक्षण शायद ही कभी पकड़ पाता है। टूल ने एक एआई-जनित कर्नेल में एक बग की भी पहचान की जहाँ कोड मेमोरी के ऐसे स्थान से डेटा पढ़ने का प्रयास कर रहा था जो अस्तित्व में ही नहीं था; जबकि वर्तमान हार्डवेयर ने इस गलती को अनदेखा कर दिया था, शोधकर्ताओं ने दिखाया कि कोड मौलिक रूप से असुरक्षित था और भविष्य की मशीनों पर विफल हो सकता था।

इस दृष्टिकोण की ताकत जीपीयू प्रोग्रामिंग की अनूठी जटिलता को संभालने की इसकी क्षमता में निहित है, जहाँ हजारों थ्रेड्स को अपनी क्रियाओं का समन्वय करना होता है। पिछले उपकरण एकल-थ्रेडेड प्रोग्राम या उच्च-स्तरीय गणितीय संचालन की जांच कर सकते थे, लेकिन वे एक जीपीयू के विशाल समानांतरवाद (parallelism) को प्रबंधनीय टुकड़ों में तोड़ने में संघर्ष करते थे। वोल्टा इसे यह मानकर दूर करता है कि विश्लेषण किए जाने वाले कर्नेल्स एक विशिष्ट, संरचित पैटर्न का पालन करते हैं जो मशीन लर्निंग में आम है, जहाँ थ्रेड्स की संख्या और डेटा का आकार पहले से ज्ञात होता है। इस ढांचे के भीतर, टूल निश्चितता के साथ सिद्ध कर सकता है कि एक रेस कंडीशन मौजूद है यदि थ्रेड्स ठीक से सिंक्रोनाइज़ नहीं हैं, और यह सिद्ध कर सकता है कि दो अलग-अलग प्रोग्राम समकक्ष हैं यदि वे समान प्रतीकात्मक परिणाम देते हैं। शोधकर्ताओं ने प्रदर्शित किया कि उनका टूल सैकड़ों हजार निर्देशों वाले कर्नेल्स के लिए भी, कुछ सेकंड या मिनटों में इन गुणों को सत्यापित कर सकता है। उन्होंने यह भी सिद्ध किया कि उनके टूल के पीछे का गणितीय तर्क सुदृढ़ है, जिसका अर्थ है कि यदि टूल कहता है कि दो प्रोग्राम समान हैं, तो वे सभी संभावित इनपुट के लिए वास्तव में समान हैं।

यह कार्य आर्टिफिशियल इंटेलिजेंस को अधिक सुरक्षित और विश्वसनीय बनाने की दिशा में एक महत्वपूर्ण कदम है। जैसे-जैसे कंपनियां अपने मॉडलों को संचालित करने वाले कोड को उत्पन्न करने के लिए स्वचालित प्रणालियों पर तेजी से निर्भर हो रही हैं, उस कोड की जांच करने के लिए एक कठोर तरीका आवश्यक हो जाता है। शोधकर्ताओं ने दिखाया है कि साधारण परीक्षण से आगे बढ़ना संभव है, जो केवल सीमित परिदृश्यों की जांच कर सकता है, एक ऐसी विधि की ओर जो शुद्धता की औपचारिक गारंटी प्रदान करती है। अनुकूलित कर्नेल्स की समानता को सत्यापित करके, वोल्टा डेवलपर्स को बिना किसी साइलेंट बग के डर के तेज़, अधिक आक्रामक अनुकूलन का उपयोग करने का आत्मविश्वास देता है। यह टूल वर्तमान में उपयोग के लिए उपलब्ध है, और शोधकर्ताओं ने अपने कोड और अपने पीछे के प्रमाणों को जनता के लिए खुला रखा है, जिससे अन्य लोग इस आधार पर निर्माण कर सकें। हालांकि यह टूल अभी तक हर संभव प्रकार के जीपीयू कोड को कवर नहीं करता है, लेकिन यह आधुनिक मशीन लर्निंग को चलाने वाले अधिकांश कर्नेल्स को सफलतापूर्वक संभालता है, जो उच्च-प्रदर्शन कंप्यूटिंग कोड के स्वचालित उत्पादन में विश्वास का एक नया मानक प्रदान करता है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →