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

"Will This Data Break My Task?" - Interactive Synthesis of Task-Aware Data Unit Tests

यह शोध पत्र PrismaDV प्रस्तुत करता है, जो एक कंपाउंड AI सिस्टम है जो डेटा और डाउनस्ट्रीम टास्क कोड का संयुक्त रूप से विश्लेषण करके टेबुलर डेटा के लिए टास्क-अवेयर डेटा यूनिट टेस्ट को सिंथेसाइज करता है, जिससे विशिष्ट कोड धारणाओं (assumptions) से जुड़े निष्पादन योग्य बाधाओं (executable constraints) को उत्पन्न किया जाता है, जिससे मौजूदा टास्क-अग्नोस्टिक दृष्टिकोणों की तुलना में डेटा वैलिडेशन विश्वसनीयता में सुधार होता है।

मूल लेखक: Hao Chen, Arnab Phani, Sebastian Schelter

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

मूल लेखक: Hao Chen, Arnab Phani, Sebastian Schelter

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

कल्पना कीजिए कि आप एक व्यस्त रेस्तरां चलाने वाले शेफ हैं। आपके पास हर सुबह एक विशाल डिलीवरी ट्रक (डेटा) आता है, जो ताजी सामग्री से भरा होता है। खाना पकाने से पहले, आपको यह जानना होता है: क्या यह भोजन सुरक्षित है? क्या दूध खराब हो गया है? क्या ऑमलेट के लिए पर्याप्त अंडे हैं? यदि आप यह जांच छोड़ देते हैं और सड़ा हुआ भोजन परोसते हैं, तो आपके ग्राहक बीमार पड़ सकते हैं, और आपका रेस्तरां बंद हो सकता है। डिजिटल दुनिया में, कंपनियां भी इसी समस्या का सामना करती हैं। उनके ऐप्स और AI मॉडल में डेटा की विशाल पाइपलाइन बह रही होती है। यदि खराब डेटा निकल जाता है—जैसे कि ग्राहक का ईमेल पता गायब होना या कीमत का नकारात्मक होना—तो यह मोबाइल ऐप्स को क्रैश कर सकता है, मेडिकल रिकॉर्ड मिटा सकता है, या AI मॉडल को अजीब तरह से व्यवहार करने के लिए मजबूर कर सकता है। इसे रोकने के लिए, इंजीनियर "डेटा यूनिट टेस्ट" (data unit tests) का उपयोग करते हैं। इन्हें स्वचालित गुणवत्ता निरीक्षकों (automated quality inspectors) के रूप में सोचें जो डेटा के उपयोग से पहले उसकी जांच करते हैं। लेकिन यहाँ एक पेच है: पारंपरिक निरीक्षक आँखों पर पट्टी बंधे शेफ की तरह होते हैं। वे सामान्य नियमों (जैसे, "सभी दूध ठंडे होने चाहिए") के आधार पर सामग्रियों की जांच करते हैं, बिना यह जाने कि शेफ वास्तव में क्या पकाने की कोशिश कर रहा है। वे पूरी तरह से अच्छे दूध को भी खारिज कर सकते हैं क्योंकि वह गर्म सूप के लिए पर्याप्त ठंडा नहीं है, या वे किसी महत्वपूर्ण सामग्री को मिस कर सकते हैं क्योंकि वे उसे देख ही नहीं रहे थे।

यहीं पर यह पेपर "Will This Data Break My Task?" काम आता है। लेखक, हाओ चेन, अर्नाब फनी और सेबस्टियन शेल्टर, एक नया सिस्टम पेश करते हैं जिसे PrismaDV कहा जाता है। एक आँखों पर पट्टी बंधे निरीक्षक के बजाय, PrismaDV एक सुपर-स्मार्ट 'सौ-शेफ' (sous-chef) की तरह है जो सामग्री आने से पहले रेसिपी पढ़ लेता है। यह डाउनस्ट्रीम टास्क (रेसिपी) के कोड और डेटा (सामग्री) दोनों को एक साथ देखता है। यह समझने के लिए कि रेसिपी को वास्तव में क्या चाहिए, यह कस्टम, "टास्क-अवेयर" (task-aware) टेस्ट लिखता है। उदाहरण के लिए, यदि किसी रेसिपी को केवल "CLEARED" ऑर्डर की आवश्यकता है, तो सिस्टम जानता है कि "CANCELLED" ऑर्डर्स को अनदेखा करना है और अपने चेक को उन विशिष्ट कॉलमों पर केंद्रित करना है जो महत्वपूर्ण हैं। यह पेपर दिखाता है कि एक कंपाउंड AI सिस्टम (एआई टूल्स की एक टीम जो मिलकर काम करती है) का उपयोग करके, जो डेटा और कोड दोनों का विश्लेषण करती है, PrismaDV इन कस्टम टेस्ट को स्वचालित रूप से बना सकता है। अपने प्रयोगों में, यह दृष्टिकोण उन पुराने तरीकों की तुलना में काफी बेहतर था जो रेसिपी को अनदेखा करते हैं, जिससे डिटेक्शन की सटीकता में 20 से अधिक अंकों का सुधार हुआ। यह सिस्टम केवल अनुमान नहीं लगाता; यह एक "डेटा-कोड अज़म्प्शन ग्राफ" (data-code assumption graph) बनाता है, जो एक मानचित्र है जो प्रत्येक टेस्ट को उस विशिष्ट लाइन ऑफ कोड से जोड़ता है जिसने उसे प्रेरित किया है, जिससे मनुष्य परिणामों की समीक्षा, सुधार और उन पर भरोसा कर सकते हैं।

समस्या: "आँखों पर पट्टी बंधा" निरीक्षक

आधुनिक दुनिया में, डेटा व्यवसायों का जीवन रक्त है। लेकिन डेटा अव्यवस्थित होता है। जब यह जटिल पाइपलाइनों के माध्यम से यात्रा करता है, तो यह दूषित, गायब या मिश्रित हो जाता है। जब खराब डेटा अंतिम गंतव्य—जैसे कि मोबाइल ऐप या मशीन लर्निंग मॉडल—तक पहुँच जाता है, तो यह गंभीर समस्या पैदा करता है। ऐप्स क्रैश हो जाते हैं, रिकॉर्ड गायब हो जाते हैं, और AI मॉडल चुपचाप गलतियाँ करने लगते हैं जो समय के साथ उनके प्रदर्शन को कम कर देती हैं।

इसे ठीक करने के लिए, इंजीनियर डेटा यूनिट टेस्ट का उपयोग करते हैं। ये छोटे प्रोग्राम हैं जो गेटकीपर के रूप में कार्य करते हैं। वे डेटा को अगले चरण में जाने देने से पहले नियमों (constraints) के एक सेट के विरुद्ध आने वाले डेटा बैचों की जांच करते हैं। यदि डेटा टेस्ट में विफल रहता है, तो सिस्टम एक अलर्ट जारी करता है, और इंजीनियर अराजकता पैदा होने से पहले समस्या को ठीक कर सकते हैं।

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

इन टेस्ट को मैन्युअल रूप से बनाना एक बुरा सपना है। सैकड़ों कॉलम वाली टेबल के लिए, एक मानव इंजीनियर को अनुमान लगाना पड़ता है कि कौन से नियम महत्वपूर्ण हैं। यदि वे गलत अनुमान लगाते हैं, तो उन्हें दो बुरे परिणाम मिलते हैं:

  1. फॉल्स अलार्म (False Alarms): टेस्ट बहुत सख्त है और अच्छे डेटा को भी फ्लैग कर देता है, जिससे "अलर्ट फटीग" (alert fatigue) होता है जहाँ इंजीनियर चेतावनियों को अनदेखा करने लगते हैं।
  2. मिसड एरर्स (Missed Errors): टेस्ट बहुत ढीला है और खराब डेटा को अंदर जाने देता है, जिससे बाद में क्रैश होता है।

समाधान: PrismaDV, "रेसिपी पढ़ने वाला" शेफ

लेखक PrismaDV का प्रस्ताव देते हैं, जो एक ऐसा सिस्टम है जो टेस्ट को टास्क-अवेयर बनाकर खेल बदल देता है। केवल डेटा को देखने के बजाय, PrismaDV डाउनस्ट्रीम टास्क के सोर्स कोड को पढ़ता है ताकि यह समझ सके कि प्रोग्राम को वास्तव में क्या चाहिए।

इसे ऐसे सोचें: यदि आप सैंडविच बना रहे हैं, तो आपको यह जांचने की आवश्यकता नहीं है कि दूध ताजा है या नहीं। लेकिन यदि आप मिल्कशेक बना रहे हैं, तो आपको इसकी आवश्यकता है। PrismaDV कोड पढ़ता है, देखता है कि प्रोग्राम मिल्कशेक बना रहा है, और केवल दूध की जांच करता है। यह ब्रेड और पनीर को अनदेखा कर देता है।

PrismaDV एक कंपाउंड AI सिस्टम के रूप में कार्य करता है, जिसका अर्थ है कि यह एक बड़े, कठिन काम को छोटे चरणों में तोड़ देता है, और प्रत्येक भाग के लिए लार्ज लैंग्वेज मॉडल्स (LLMs) का उपयोग करता है। यह इस प्रकार काम करता है:

  1. डेटा प्रोफाइलिंग और कॉलम डिटेक्शन: सबसे पहले, यह डेटा के अंदर क्या है यह समझने के लिए एक त्वरित नज़र डालता है। फिर, यह टास्क के कोड को पढ़ता है ताकि यह पता चल सके कि प्रोग्राम वास्तव में किन कॉलमों (सामग्रियों) का उपयोग करता है। यह उन कॉलमों को अनदेखा करने में स्मार्ट है जिनका उल्लेख कोड में तो है लेकिन उन्हें वास्तव में कभी छुआ नहीं जाता।
  2. "डेटा-कोड अज़म्प्शन ग्राफ": यह सिस्टम का गुप्त मंत्र (secret sauce) है। जैसे-जैसे यह कोड का विश्लेषण करता है, यह एक मानचित्र बनाता है। यह कोड की विशिष्ट लाइनों को उन डेटा कॉलमों से जोड़ता है जिनका वे उपयोग करते हैं, और फिर यह अनुमान लगाता है कि प्रोग्रामर ने उस डेटा के बारे में क्या मान्यता (assumption) ली थी। उदाहरण के लिए, यदि कोड की एक लाइन कहती है if status == 'CLEARED', तो सिस्टम यह निष्कर्ष निकालता है: "प्रोग्राम मानता है कि जब status 'CLEARED' होता है, तो ईमेल पता मौजूद होना चाहिए।"
  3. कन्स्ट्रेंट सिंथेसिस (Constraint Synthesis): अंत में, यह उन प्राकृतिक भाषा (natural language) की मान्यताओं को वास्तविक निष्पादन योग्य कोड (tests) में अनुवादित करता है जो AWS Deequ या Great Expectations जैसे लोकप्रिय फ्रेमवर्क में चल सकते हैं।

यह क्यों मायने रखता है: परिणाम

लेखकों ने पाँच वास्तविक दुनिया के डेटासेट्स पर 60 विभिन्न डाउनस्ट्रीम टास्क के साथ PrismaDV का परीक्षण किया। उन्होंने एक बेंचमार्क बनाया जहाँ उन्होंने साफ डेटा में कृत्रिम त्रुटियाँ (जैसे मिसिंग वैल्यूज, गलत फॉर्मेट, या टूटे हुए नंबर) डालीं ताकि यह देखा जा सके कि क्या सिस्टम उन्हें पकड़ सकता है।

परिणाम स्पष्ट थे:

  • पुराने तरीके (जैसे मानक Deequ या TensorFlow Data Validation) और यहाँ तक कि सरल AI प्रॉम्प्ट भी संघर्ष करते रहे। वे अक्सर त्रुटियों को मिस कर देते थे या बहुत अधिक फॉल्स अलार्म देते थे।
  • PrismaDV ने उन सभी को काफी पीछे छोड़ दिया। उनके परीक्षणों में, इसने F1 स्कोर (एक माप कि कोई सिस्टम कितनी अच्छी तरह से गलतियों को खोजने और गलत अलार्म उठाने के बीच संतुलन बनाता है) में सबसे मजबूत प्रतिस्पर्धी की तुलना में 20 से अधिक अंक का सुधार किया।
    • उदाहरण के लिए, एक विशिष्ट AI मॉडल का उपयोग करते हुए, PrismaDV ने 77.4% का F1 स्कोर प्राप्त किया, जबकि अगले सबसे अच्छे तरीके ने केवल 47.2% तक ही पहुँच पाया।

यह केवल एक छोटा सुधार नहीं है; इसका मतलब है कि यह सिस्टम यह बताने में बहुत अधिक विश्वसनीय है कि क्या "उपयोग के लिए सुरक्षित" है और क्या "खतरनाक" है।

इंटरैक्टिव अनुभव: इंजीनियरों के लिए एक प्लेग्राउंड

पेपर एक वेब-आधारित इंटरफेस भी पेश करता है जो इंजीनियरों को सिस्टम के साथ खेलने की अनुमति देता है। यह केवल एक ब्लैक बॉक्स नहीं है जो कोड थोंपता है; यह एक सहयोगी उपकरण है।

  • ग्राफ का विज़ुअलाइज़ेशन: उपयोगकर्ता "डेटा-कोड अज़म्प्शन ग्राफ" देख सकते हैं। वे एक विशिष्ट टेस्ट पर क्लिक कर सकते हैं और देख सकते हैं कि किस लाइन ऑफ कोड और किस डेटा कॉलम ने उसे प्रेरित किया।
  • इंटरैक्टिव रिफाइनमेंट: यदि सिस्टम एक ऐसा नियम गेस करता है जो बिजनेस लॉजिक के अनुसार फिट नहीं बैठता, तो उपयोगकर्ता प्राकृतिक भाषा की धारणा को संपादित कर सकता है (जैसे, "email must be valid" को "email must be valid only for paid users" में बदलना)। सिस्टम फिर उस नए नियम के आधार पर तुरंत कोड टेस्ट को फिर से जनरेट करता है।
  • स्व-सुधार (Self-Improving): सिस्टम में एक "प्रॉम्प्ट ऑप्टिमाइज़र" शामिल है। जैसे-जैसे टेस्ट वास्तविक दुनिया में चलते हैं, सिस्टम गलतियों से सीखता है। यदि कोई टेस्ट फॉल्स अलार्म उठाता है (अच्छे डेटा को खराब के रूप में फ्लैग करता है), तो सिस्टम विश्लेषण करता है कि ऐसा क्यों हुआ और भविष्य में ऐसी गलती न दोहराने के लिए अपने स्वयं के निर्देशों को ट्यून करता है।

निष्कर्ष

PrismaDV सुझाव देता है कि डेटा क्वालिटी का भविष्य अधिक कठोर नियम लिखने या अंधे होकर अधिक कॉलमों की जांच करने के बारे में नहीं है। यह संदर्भ (context) के बारे में है। टेस्टिंग सिस्टम को कोड पढ़ने और यह समझने के लिए सिखाकर कि डेटा को वास्तव में क्या काम करना है, हम ऐसे टेस्ट बना सकते हैं जो स्मार्ट, अधिक सटीक और इंजीनियरों के लिए कम कष्टदायक हों। यह डेटा वैलिडेशन प्रक्रिया को एक अनुमान लगाने वाले खेल से बदलकर एक सटीक, ट्रेस करने योग्य और सहयोगात्मक प्रयास में बदल देता है।

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

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

Digest आज़माएँ →