Automated Numerical Stability Analysis of Deep Learning Operators
यह शोध पत्र एक एकीकृत सॉफ़्टवेयर टूल प्रस्तुत करता है जो डीप लर्निंग ऑपरेटर्स में संख्यात्मक अस्थिरता (numerical instability) का पता लगाने, उसे मान्य करने और उसकी निगरानी करने के लिए CESTAC को एकीकृत करता है, जिससे एक ही गणना पास (computation pass) के दौरान अधिक स्थिर और कुशल प्रशिक्षण एवं अनुमान कर्नेल (training and inference kernels) के विकास में सहायता मिलती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप छोटे, थोड़े डगमगाते लेगो ब्रिक्स (Lego bricks) से एक विशाल, जटिल महल बना रहे हैं। कंप्यूटर विज्ञान की दुनिया में, ये ब्रिक्स संख्याएं हैं, और महल एक "डीप लर्निंग" मॉडल है—एक सुपर-स्मार्ट दिमाग जो बिल्लियों को पहचानना, कविताएं लिखना या कार चलाना सीख सकता है। लंबे समय तक, वैज्ञानिकों ने इन महलों को बड़े, मजबूत, दोहरे आकार के ब्रिक्स (जिसे "डबल प्रिसिजन" कहा जाता है) का उपयोग करके बनाया था जो बहुत सटीक थे लेकिन भारी और धीमे थे। तेज़ होने और ऊर्जा बचाने के लिए, इंजीनियरों ने छोटे, हल्के ब्रिक्स (जिसे "रिड्यूस्ड प्रिसिजन" कहा जाता है) का उपयोग करना शुरू कर दिया। यह भारी पत्थर को हल्के फोम से बदलने जैसा है; महल बहुत तेज़ी से खड़ा हो जाता है, लेकिन एक पेंच है: फोम के ब्रिक्स थोड़े नरम और लचीले होते हैं। यदि आप उन्हें गलत तरीके से रखते हैं, या यदि आप एक विशाल फोम ब्लॉक के ऊपर एक छोटा सा कंकड़ संतुलित करने की कोशिश करते हैं, तो पूरी संरचना डगमगा सकती है, गिर सकती है, या आपको ऐसा परिणाम दे सकती है जो दिखने में तो सही लगता है लेकिन वास्तव में त्रुटियों से "दूषित" होता है।
यह "न्यूमेरिकल इंस्टेबिलिटी" (संख्यात्मक अस्थिरता) की समस्या है। ऐसा नहीं है कि कंप्यूटर खराब है; बल्कि यह है कि जब आप कम अंकों के साथ गणित करने की कोशिश करते हैं, तो गणित धुंधला हो जाता है। कभी-कभी, एक कंप्यूटर दो बहुत बड़ी, लगभग समान संख्याओं को घटाकर एक छोटी सी भिन्नता खोजने की कोशिश करता है, और इस प्रक्रिया में, वह अनजाने में सारी महत्वपूर्ण जानकारी को फेंक देता है, जिससे पीछे केवल शोर (noise) रह जाता है। लंबे समय तक, एक विशाल, जटिल न्यूरल नेटवर्क में यह पता लगाना कि यह डगमगाहट कहाँ होती है, एक अंधेरे में महल बनाते समय एक अकेले ढीले ब्रिक को खोजने जैसा था। आप जानते हैं कि महल हिल रहा है, लेकिन आप देख नहीं सकते कि कौन सा ब्रिक इसका कारण है।
यहाँ एक नया टूल आता है जिसे noisefloat कहा जाता है, जिसे सोरबोन यूनिवर्सिटे (Sorbonne Université) के शोधकर्ताओं द्वारा बनाया गया है। इस टूल को अपने लेगो महल के लिए "स्ट्रेस-टेस्ट" चश्मे के रूप में समझें। केवल महल को एक बार बनाने के बजाय, यह टूल एक ही समय में बिल्कुल एक ही तरह के तीन थोड़े अलग महल बनाता है, जिसमें ब्रिक्स पर सूक्ष्म, यादृच्छिक (random) धक्के दिए जाते हैं ताकि यह देखा जा सके कि वे कैसे प्रतिक्रिया देते हैं। यदि तीनों संस्करण लगभग एक जैसे दिखते हैं, तो ब्रिक्स स्थिर हैं। लेकिन यदि एक संस्करण ढह जाता है या दूसरों से पूरी तरह अलग दिखता है, तो यह टूल तुरंत उस विशिष्ट ब्रिक (या "ऑपरेटर") की ओर इशारा करता है जो डगमगा रहा है। शोधकर्ताओं ने इन डीप लर्निंग मॉडल्स का परीक्षण करने के लिए इस टूल का उपयोग किया और पाया कि यह इन छिपे हुए, अस्थिर ब्रिक्स को सफलतापूर्वक ढूंढ सकता है, भले ही वह एक जटिल प्रशिक्षण प्रक्रिया के बीच में ही क्यों न हो। उन्होंने दिखाया कि जबकि कुछ गणितीय चालें सुरक्षित हैं, अन्य—जैसे कि एक विशाल संख्या को छोटी संख्या के बराबर करने के लिए उसे घटाना—खतरनाक हो सकती हैं और मॉडल की सटीकता को बिगाड़ सकती हैं, बिना किसी को पता चले कि यह कब हुआ।
"नॉइजी" (Noisy) संख्याओं का जादू
डीप लर्निंग अब हर जगह है, आपके फोन फोटो फिल्टर्स से लेकर उन चैटबॉट्स तक जिनसे आप बात करते हैं। लेकिन इन सिस्टमों को आपके फोन या डेटा सेंटर में चलाने के लिए पर्याप्त तेज़ बनाने के लिए, वैज्ञानिक "रिड्यूस्ड प्रिसिजन" का उपयोग करते हैं। कल्पना कीजिए कि आप एक कमरे की लंबाई माप रहे हैं। यदि आप मिलीमीटर के निशान वाले रूलर (उच्च परिशुद्धता) का उपयोग करते हैं, तो आपको एक बहुत सटीक संख्या मिलती है। यदि आप सेंटीमीटर के निशान वाले रूलर (कम परिशुद्धता) का उपयोग करते हैं, तो आप समय बचाते हैं, लेकिन आपका माप थोड़ा धुंधला होता है। कंप्यूटर में, इसका अर्थ है संख्याओं को संग्रहीत करने के लिए कम "बिट्स" (0 और 1 के छोटे टुकड़े) का उपयोग करना। यह गणनाओं को तेज़ बनाता है और कम ऊर्जा का उपयोग करता है, लेकिन यह "राउंडिंग एरर" (rounding errors) पेश करता है।
आमतौर पर, ये त्रुटियां इतनी छोटी होती हैं कि वे मायने नहीं रखतीं। लेकिन कभी-कभी, वे जुड़ जाती हैं या बढ़ जाती हैं, जिससे "न्यूमेरिकल इंस्टेबिलिटी" पैदा होती है। यह ताश के पत्तों के घर को हवादार कमरे में संतुलित करने जैसा है; एक हल्की सी हवा (एक राउंडिंग एरर) पूरे घर को गिरा सकती है। समस्या यह है कि डीप लर्निंग में, ये त्रुटियां चुपचाप हो सकती हैं। मॉडल अभी भी काम करता हुआ लग सकता है, लेकिन इसका आंतरिक गणित वास्तव में "दूषित" हो सकता है, जिससे बाद में अजीब गलतियाँ हो सकती हैं।
समाधान: एक ट्रिपल-चेक सिस्टम
यह शोध पत्र noisefloat नामक एक सॉफ्टवेयर टूल पेश करता है, जो इन छिपे हुए गणितीय दोषों के लिए एक जासूस के रूप में कार्य करता है। इसका मूल विचार CESTAC (कंट्रोल एंड एस्टीमेशन ऑफ स्टोकेस्टिक अरिथमेटिक) नामक एक पद्धति से आता है। यह सरल शब्दों में इस प्रकार काम करता है:
केवल एक बार गणना करने के बजाय, noisefloat एक ही समय में इसे तीन बार चलाता है। लेकिन यहाँ एक ट्रिक है: तीनों रन में से प्रत्येक में, यह संख्याओं में एक छोटा, यादृच्छिक "धक्का" (nudge) जोड़ता है। यह एक ही मेज को मापने के लिए तीन अलग-अलग लोगों को बुलाने जैसा है, लेकिन प्रत्येक को एक थोड़ा अलग रूलर देना जो सूक्ष्म मात्रा में गलत है।
- यदि तीनों लोग लगभग एक ही उत्तर प्राप्त करते हैं, तो माप स्थिर (stable) है। सूक्ष्म धक्के ने परिणाम को नहीं बदला, जिसका अर्थ है कि गणित ठोस है।
- यदि तीनों लोग बहुत अलग उत्तर प्राप्त करते हैं, तो माप अस्थिर (unstable) है। गणित इतना संवेदनशील है कि एक सूक्ष्म धक्के ने परिणाम को पूरी तरह से बदल दिया।
इसके बाद टूल यह गणना करता है कि परिणाम में कितने "महत्वपूर्ण अंक" (विश्वसनीय संख्याएँ) बचे हैं। यदि उत्तर "शून्य विश्वसनीय अंक" है, तो इसका मतलब है कि परिणाम केवल शोर (noise) है।
उन्होंने क्या पाया: "डगमगाते ब्रिक्स"
शोधकर्ताओं ने इस टूल का परीक्षण डीप लर्निंग मॉडल्स के विभिन्न हिस्सों पर किया, जो कई छोटे गणितीय ऑपरेशन्स से बने होते हैं जिन्हें "ऑपरेटर" कहा जाता है (जैसे संख्याओं को जोड़ना, मैट्रिक्स को गुणा करना, या डेटा को सामान्य बनाना)। उन्होंने जानबूझकर "पैथोलॉजिकल" मामले बनाए—ऐसे गणितीय समस्याएं जिन्हें जानबूझकर अस्थिर बनाया गया था—यह देखने के लिए कि क्या टूल उन्हें ढूंढ सकता है।
1. "कैंसिलेशन" (Cancellation) का जाल
सबसे बड़े खतरों में से एक "कैटैस्ट्रोफिक कैंसिलेशन" (विनाशकारी निरस्तीकरण) है। यह तब होता है जब आप दो बहुत बड़ी संख्याओं को घटाते हैं जो लगभग एक जैसी हैं ताकि एक छोटी भिन्नता प्राप्त की जा सके।
- उपमा: कल्पना कीजिए कि आपके पास 1,000,000 लेगो ब्रिक्स के दो ढेर हैं। आप दोनों तरफ से 999,999 हटा देते हैं। आपके पास 1 ब्रिक बचता है। लेकिन यदि आपका रूलर थोड़ा धुंधला है, तो आप गलती से एक ढेर में 999,999.5 को 999,999 मान सकते हैं और दूसरे में 999,999.5 को 1,000,000 मान सकते हैं। अब आप सोचते हैं कि आपके पास 0 ब्रिक्स बचे हैं, या शायद एक नकारात्मक संख्या भी!
- परिणाम: टूल ने पाया कि जब मॉडल्स इस तरह की घटाव (subtraction) करने की कोशिश करते हैं (जैसे कुछ लीनियर लेयर्स या अटेंशन मैकेनिज्म में), तो विश्वसनीय अंकों की संख्या घटकर शून्य हो जाती है। टूल ने इन ऑपरेशन्स को "दूषित" के रूप में सफलतापूर्वक चिह्नित किया।
2. "ओवरफ्लो" (Overflow) आपदा
कुछ ऑपरेशन्स, जैसे "सॉफ्टमैक्स" (Softmax) फंक्शन (जो संख्याओं को संभावनाओं में बदलने के लिए उपयोग किया जाता है), बहुत बड़े होने पर फट सकते हैं।
- उपमा: यह एक थिम्बल (thimble) में बाल्टी भर पानी डालने जैसा है। यदि पानी (संख्या) बहुत बड़ा है, तो यह बाहर निकल जाएगा (ओवरफ्लो), और थिम्बल टूट जाएगा।
- परिणाम: शोधकर्ताओं ने सॉफ्टमैक्स के एक "नेइव" (naive) संस्करण का परीक्षण किया जिसने बड़ी संख्याओं से बचाव नहीं किया था। टूल ने तुरंत 0 महत्वपूर्ण अंक रिपोर्ट किए और इसे अस्थिर के रूप में चिह्नित किया। हालाँकि, एक "शिफ्टेड" (shifted) सॉफ्टमैक्स (जो संख्याओं को छोटा रखने के लिए पहले एक बड़ी संख्या घटाता है) स्थिर रहा, जिसने उपयोग किए गए प्रिसिजन के आधार पर लगभग 3 से 12 महत्वपूर्ण अंक बनाए रखे।
3. "नियर-टाई" (Near-Tie) की समस्या
"अटेंशन" मैकेनिज्म में (जो मॉडल्स को महत्वपूर्ण शब्दों पर ध्यान केंद्रित करने में मदद करते हैं), मॉडल स्कोर की गणना करता है ताकि यह तय किया जा सके कि उसे किस पर ध्यान देना है। यदि दो स्कोर लगभग समान हैं, तो गणित बहुत संवेदनशील हो जाता है।
- परिणाम: जब शोधकर्ताओं ने एक परिदृश्य बनाया जहाँ दो स्कोर लगभग बराबरी पर थे, तो टूल ने विश्वसनीयता में भारी गिरावट का पता लगाया। मॉडल का "निर्णय" (कि किस शब्द पर ध्यान केंद्रित करना है) यादृच्छिक हो गया क्योंकि गणित इतना डगमगा रहा था कि वह अंतर बताने में असमर्थ था।
क्या यह मॉडल को तोड़ देता है?
एक मुख्य प्रश्न यह है: यदि गणित अंदर से डगमगा रहा है, तो क्या अंतिम उत्तर (जैसे बिल्ली को पहचानना) अभी भी काम करता है?
शोधकर्ताओं ने Fashion-MNIST (कपड़ों की छवियां) और CIFAR-10 (रंगीन वस्तुएं) जैसे डेटासेट्स पर पूर्ण प्रशिक्षण सिमुलेशन चलाए। उन्होंने इन "डगमगाते" ऑपरेटरों को मॉडल्स में डाला और देखा कि क्या होता है।
- लोकल बनाम ग्लोबल: उन्होंने पाया कि कभी-कभी, एक ऑपरेटर अपने सभी विश्वसनीय अंक खो देता है (शुद्ध शोर बन जाता है), लेकिन मॉडल की अंतिम सटीकता तुरंत नहीं गिरती है। यह एक रोबोट के डगमगाते पैर जैसा है, लेकिन रोबोट फिर भी चल सकता है क्योंकि अन्य पैर पर्याप्त मजबूत हैं।
- चेतावनी का संकेत: हालाँकि, जब अस्थिरता बहुत गंभीर थी (जैसे "नियर-टाई" अटेंशन केस में), तो मॉडल के भविष्यवाणियां एक-दूसरे से असहमत होने लगीं। टूल ने सफलतापूर्वक भविष्यवाणी की कि मॉडल विफल होने वाला है, इससे पहले कि वह वास्तव में विफल हो।
ट्रेड-ऑफ: गति बनाम सुरक्षा
इस टूल का उपयोग करने की एक लागत है। क्योंकि यह स्थिरता की जांच करने के लिए गणना को तीन बार (या अधिक) चलाता है, इसलिए यह धीमा है। पेपर नोट करता है कि यह सामान्य कंप्यूटिंग की तुलना में 3x से 100x तक की धीमी गति का कारण बन सकता है, जो इस बात पर निर्भर करता है कि जांच कितनी विस्तृत है।
- फैसला: लेखक सुझाव देते हैं कि आपको हर बार अपने पूरे प्रशिक्षण डेटासेट पर इस टूल का उपयोग नहीं करना चाहिए (इसमें बहुत समय लगेगा)। इसके बजाय, वे अनुशंसा करते हैं कि आप खतरनाक ऑपरेटरों को खोजने के लिए इसे एक छोटे "कैलिब्रेशन सबसेट" पर उपयोग करें, और फिर मॉडल के उन विशिष्ट हिस्सों को ठीक करें।
निष्कर्ष
यह पेपर यह दावा नहीं करता है कि इसने दुनिया की सभी गणितीय समस्याओं को हल कर दिया है, बल्कि यह एक शक्तिशाली नई टॉर्च प्रदान करता है। noisefloat डेवलपर्स को उनके डीप लर्निंग मॉडल्स में अदृश्य दरारों को देखने की अनुमति देता है। यह साबित करता है कि स्टोकेस्टिक (यादृच्छिक) अंकगणित का उपयोग करके, हम स्वचालित रूप से पता लगा सकते हैं कि न्यूरल नेटवर्क का कौन सा हिस्सा संख्यात्मक रूप से अस्थिर है। यह AI बनाने के लिए महत्वपूर्ण है जो न केवल तेज़ हो, बल्कि विश्वसनीय और सुरक्षित भी हो, विशेष रूप से जैसे-जैसे हम और भी छोटे, तेज़ और अधिक ऊर्जा-कुशल हार्डवेयर की ओर बढ़ रहे हैं। टूल सुझाव देता है कि सही जांच के साथ, हम फोम के ब्रिक्स से भी उतने ही मजबूत महल बना सकते हैं जितने पत्थर के बने होते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।