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

Data-driven Test Generation for Fuzzing AI Compiler

यह शोध पत्र OPERA प्रस्तुत करता है, जो एक एकीकृत डेटा-संचालित परीक्षण ढांचा है जो तीन विशिष्ट तकनीकों (OPERA, OATest, और HARMONY) के माध्यम से AI कंपाइलर में चरण-विशिष्ट चुनौतियों को व्यवस्थित रूप से संबोधित करता है, और चार व्यापक रूप से उपयोग किए जाने वाले कंपाइलरों में 266 पहले से अज्ञात बगों का सफलतापूर्वक पता लगाता है।

मूल लेखक: Qingchao Shen

प्रकाशित 2026-01-27
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Qingchao Shen

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

कल्पना कीजिए कि एक AI कंपाइलर एक हाई-टेक किचन में एक मास्टर शेफ है। इसका काम एक जटिल रेसिपी (एक AI मॉडल जिसे डेटा साइंटिस्ट्स ने लिखा है) को लेना और उसे इस तरह बदलना है कि उसे किसी भी विशिष्ट चूल्हे, ओवन या ग्रिल (जैसे अलग-अलग हार्डवेयर जैसे GPU या TPU) पर पूरी तरह से पकाया जा सके।

हालाँकि, एक जटिल किचन की तरह ही, यह शेफ गलतियाँ भी कर सकता है। कभी-कभी रेसिपी का अनुवाद गलत हो जाता है, कभी-कभी खाना पकाने के चरणों को खराब तरीके से ऑप्टिमाइज़ किया जाता है, और कभी-कभी चूल्हे की सेटिंग्स को गलत समझने के कारण अंतिम डिश जल जाती है। ये गलतियाँ "बग्स" (bugs) हैं, और यदि वे होती हैं, तो AI मॉडल क्रैश हो सकता है या गलत उत्तर दे सकता है।

यह पेपर एक तीन-भागों वाली "टेस्टिंग टीम" पेश करता है जिसे OPERA, OATest, और HARMONY कहा जाता है। केवल इस उम्मीद में कि शेफ सब कुछ सही करेगा, इसके बजाय, यह टीम खाना पकाने के हर एक चरण में व्यवस्थित रूप से शेफ की प्रक्रिया को तोड़ने की कोशिश करती है ताकि ग्राहक तक पहुँचने से पहले गलतियों को ढूँढा और सुधारा जा सके।

यहाँ इस टीम का प्रत्येक भाग काम करने का तरीका, सरल उपमाओं (analogies) का उपयोग करते हुए दिया गया है:

1. ट्रांसलेटर चेक: OPERA (मॉडल लोडिंग स्टेज)

समस्या: पहला चरण रेसिपी को एक विशिष्ट भाषा (जैसे PyTorch या Keras) से उस सार्वभौमिक भाषा में अनुवादित करना है जिसे किचन समझता है। यदि ट्रांसलेटर किसी विशिष्ट सामग्री (जैसे "ReLU" या "Conv2D") को गलत समझ लेता है, तो पूरी डिश विफल हो जाती है।
समाधान (OPERA): कल्पना कीजिए कि आपके पास हजारों "अभ्यास रेसिपी" का एक पुस्तकालय है जिन्हें पेशेवर रसोइयों ने पहले ही टेस्ट किया है ताकि यह सुनिश्चित किया जा सके कि सामग्रियाँ सही ढंग से काम करती हैं। OPERA इन मौजूदा, भरोसेमंद अभ्यास रेसिपी को लेता है और कंपाइलर को उन्हें अनुवादित करने के लिए मजबूर करता है।

  • यह कैसे काम करता है: यह नई रेसिपी का आविष्कार नहीं करता; यह इन ज्ञात-सही टेस्ट्स को कंपाइलर के ट्रांसलेशन चरण में "माइग्रेट" (स्थानांतरित) करता है।
  • परिणाम: यह जाँचने के लिए कि कंपाइलर रेसिपी को अनुवादित करने में कहाँ विफल रहा, OPERA ने 170 बग्स खोजे। यह ऐसा है जैसे यह देखना कि क्या शेफ को प्याज काटने के एक तरीके के बजाय 50 अलग-अलग तरीकों से काटना आता है।

2. स्ट्रैटेजी चेक: OATest (हाई-लेवल ऑप्टिमाइज़ेशन)

समस्या: एक बार जब रेसिपी अनुवादित हो जाती है, तो शेफ इसे तेज़ बनाने की कोशिश करता है। यह "हाई-लेवल ऑप्टिमाइज़ेशन" चरण है। शेफ दो चरणों को एक में मिलाने या ऑपरेशन्स के क्रम को बदलने का निर्णय ले सकता है। पेचीदा बात यह है कि संदर्भ (context) मायने रखता है। एक स्थिति में चरणों को मिलाना बहुत अच्छा काम करता है लेकिन दूसरी स्थिति में यह आपदा का कारण बन सकता है।
समाधान (OATest): इसे एक "क्या-होगा-अगर" (What-If) खेल के रूप में सोचें। टीम उन शेफ के नोट्स को देखती है कि वे चीजों को ऑप्टिमाइज़ करने के लिए कैसे इरादा रखते हैं। फिर, वे उन ऑप्टिमाइज़ेशन विचारों को लेते हैं और उन्हें रेसिपी के यादृच्छिक (random), जटिल हिस्सों में पेस्ट करते हैं ताकि यह देखा जा सके कि क्या शेफ भ्रमित हो जाता है।

  • यह कैसे काम करता है: यह उन नियमों को निकालता है जिनका उपयोग शेफ ऑप्टिमाइज़ करने के लिए करता है और फिर उन्हें रैंडम, अस्त-व्यस्त परिदृश्यों के साथ मिलाता है ताकि यह देखा जा सके कि क्या उनका तर्क टूट जाता है। यह पूछने जैसा है, "यदि आप इन दो चरणों को मिलाते हैं, तो क्या होगा यदि बर्तन खाली हो?"
  • परिणाम: इस पद्धति ने 56 बग्स खोजे जहाँ शेफ की चीज़ों को तेज़ करने की रणनीति ने वास्तव में डिश के तर्क (logic) को बिगाड़ दिया था।

3. हार्डवेयर चेक: HARMONY (लो-लेवल ऑप्टिमाइज़ेशन)

समस्या: अंतिम चरण एक विशिष्ट चूल्हे (जैसे एक हाई-एंड GPU) के लिए रेसिपी को तैयार करना है। यह "लो-लेवल ऑप्टिमाइज़ेशन" है। यह बहुत तकनीकी है और इसमें मेमोरी स्पीड और पैरेलल कुकिंग जैसी चीजें शामिल हैं। इसे टेस्ट करना कठिन है क्योंकि इसके नियम सख्त हैं और मैनुअल में गहराई से छिपे हुए हैं।
समाधान (HARMONY): यह टीम एक "म्यूटेशन" (Mutation) दृष्टिकोण का उपयोग करती है। कल्पना कीजिए कि आपके पास एक परफेक्ट, काम करने वाली रेसिपी है। HARMONY इसमें बहुत छोटे, सावधानीपूर्वक बदलाव (mutations) करता है ताकि यह देखा जा सके कि विशिष्ट चूल्हा नए संस्करण को संभाल सकता है या नहीं।

  • यह कैसे काम करता है: यह एक स्मार्ट AI असिस्टेंट (एक लार्ज लैंग्वेज मॉडल) का उपयोग करता है जो चूल्हे के मैनुअल को पढ़ता है और विविध प्रकार के "सीड" (seed) रेसिपी बनाता है। फिर, यह चूल्हे के विशेष फीचर्स (जैसे मेमोरी डिले को छिपाना) को ट्रिगर करने के लिए इन सीड्स में छोटे बदलाव करता है।
  • परिणाम: इसने 40 बग्स खोजे जहाँ कंपाइलर ने विशिष्ट हार्डवेयर के लिए ऑप्टिमाइज़ करने की कोशिश की लेकिन अंततः ऐसा कोड जेनरेट किया जिसे हार्डवेयर सही ढंग से निष्पादित (execute) नहीं कर सका।

बड़ी तस्वीर (The Big Picture)

इन तीनों दृष्टिकोणों को मिलाकर, टीम ने पूरे खाना पकाने की प्रक्रिया को शुरू से अंत तक कवर करने के लिए एक एकीकृत टेस्टिंग फ्रेमवर्क बनाया।

  • OPERA ट्रांसलेशन की जाँच करता है।
  • OATest स्ट्रैटेजी की जाँच करता है।
  • HARMONY हार्डवेयर निष्पादन की जाँच करता है।

स्कोरकार्ड:
साथ मिलकर, इस टीम ने चार प्रमुख AI कंपाइलर्स (TVM, TensorRT, ONNXRuntime, और OpenVINO) में 266 पहले से अज्ञात बग्स खोजे। इनमें से कई को डेवलपर्स द्वारा कन्फर्म किया गया था, जो यह साबित करता है कि AI सॉफ़्टवेयर को विश्वसनीय और सुरक्षित रखने के लिए यह "टेस्टिंग टीम" आवश्यक है।

पेपर यह निष्कर्ष निकालता है कि वे भविष्य में यहाँ तक कि नए, उभरते हुए AI किचन्स को टेस्ट करने के लिए इस टीम का विस्तार करने की योजना बना रहे हैं, यह सुनिश्चित करते हुए कि जैसे-जैसे AI तकनीक विकसित होती है, इसे बनाने वाले उपकरण बग-मुक्त बने रहें।

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

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

Digest आज़माएँ →