GPTQ-2D: Cubic-Time Two-Sided Adaptive Rounding
यह शोधपत्र GPTQ-2D प्रस्तुत करता है, जो एक क्यूबिक-टाइम (cubic-time) एल्गोरिदम है जो एंटी-डायगोनल्स (anti-diagonals) के अनुदिश प्रविष्टियों को समानांतर में संसाधित करके मैट्रिसेस पर कुशलतापूर्वक टू-साइडेड एडेप्टिव राउंडिंग (two-sided adaptive rounding) करता है, जिससे मानक वेक्टरकरण विधियों द्वारा आवश्यक क्वार्टिक टाइम (quartic time) की तुलना में कम्प्यूटेशनल जटिलता कम हो जाती है और समान परिणाम प्राप्त होते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप जेन्गा (Jenga) ब्लॉक्स के एक विशाल, डगमगाते हुए टॉवर को एक सलीके से, सख्त बक्से में पैक करने की कोशिश कर रहे हैं। आर्टिफिशियल इंटेलिजेंस की दुनिया में, ये "ब्लॉक्स" एक विशाल स्प्रेडशीट (मैट्रिक्स) के भीतर मौजूद संख्याएँ हैं जो कंप्यूटर को सोचने का तरीका सिखाती हैं। इन कंप्यूटरों को तेज़ चलाने और कम ऊर्जा का उपयोग करने के लिए, इंजीनियर इन संख्याओं को सरल पूर्णांकों (integers) में सिकोड़ने की कोशिश करते हैं, जिसे "क्वांटाइजेशन" (quantization) कहा जाता है। लेकिन इसमें एक पेच है: यदि आप केवल बेतरतीब ढंग से दशमलव (decimals) को काट देते हैं, तो टॉवर ढह जाता है और कंप्यूटर गलतियाँ करने लगता है।
इसे ठीक करने के लिए, वैज्ञानिक "एडेप्टिव राउंडिंग" (adaptive rounding) नामक एक चतुर तकनीक का उपयोग करते हैं। इसे डोमिनोज़ के खेल की तरह समझें। जब आप एक डोमिनो गिराते हैं (एक संख्या को राउंड करते हैं), तो यह एक छोटी सी थरथराहट पैदा करता है। इस थरथराहट को अनदेखा करने के बजाय, एडेप्टिव राउंडिंग इसे पकड़ती है और अगली डोमिनो की ओर धकेल देती है, जिससे पूरी लाइन सीधी बनी रहती है। यह विधि, जिसे GPTQ कहा जाता है, वर्षों से सुपरस्टार रही है, लेकिन यह तभी अच्छी तरह काम करती है जब डोमिनोज़ एक लंबी, एकल रेखा में व्यवस्थित हों। हालाँकि, आधुनिक AI मॉडल एक विशाल, दो-आयामी (2D) ग्रिड की तरह होते हैं, जहाँ एक डोमिनो को गिराने से उसके दाईं ओर और नीचे के पड़ोसी भी प्रभावित होते हैं। इस 2D ग्रिड को पुराने "एक-लाइन" वाले तरीके से ठीक करने की कोशिश करना एक गाँठ को केवल एक सिरे से खींचकर सुलझाने जैसा है—यह काम तो करता है, लेकिन इसमें बहुत समय लगता है और यह एक ऐसे लूप में फंस जाता है जो आवश्यक से चार गुना धीमा है।
यह शोध पत्र एक नया तरीका पेश करता है, जिसे GPTQ-2D कहा जाता है। लेखक, जियाले चेन, टोरस्टन होफ़लर और डैन अलिस्टार, ने खोजा कि आपको डोमिनोज़ को एक लंबी लाइन में एक-एक करके खींचने की ज़रूरत नहीं है। इसके बजाय, आप डोमिनोज़ की पूरी विकर्ण पंक्तियों (diagonal rows) को पकड़ सकते हैं और उन्हें एक साथ ठीक कर सकते हैं। यह महसूस करते हुए कि एक ब्लॉक से होने वाली "थरथराहट" केवल नीचे और दाईं ओर यात्रा करती है, उन्होंने एक शॉर्टकट खोज निकाला जो उन्हें पूरे ग्रिड को बहुत कम समय में प्रोसेस करने देता है। उन्होंने गणितीय रूप से सिद्ध किया कि यह नया तरीका पुराने धीमे तरीके के समान ही सटीक टॉवर बनाता है, लेकिन यह इसे "क्यूबिक" (cubic) समय में करता है, न कि "क्वार्टिक" (quartic) समय में, जो बेहद धीमा होता है। इसका मतलब है कि अब हम इन विशाल AI दिमागों को बिना तोड़े अधिक कुशलता से सिकोड़ सकते हैं, जिससे शक्तिशाली AI रोज़मर्रा के उपकरणों पर अधिक सुलभ हो जाता है।
दो-तरफा पहेली की कहानी
आइए इस पहेली के तंत्र को समझते हैं। पुराने एक-तरफा तरीके (GPTQ) में, कल्पना करें कि आपके पास लोगों की एक पंक्ति है जो एक भारी बैकपैक पास कर रहे हैं। यदि पहला व्यक्ति एक सिक्का गिरा देता है, तो वह अगले व्यक्ति को क्षतिपूर्ति के लिए थोड़ा अतिरिक्त वजन उठाने के लिए कहता है। यह एक समय में एक व्यक्ति के माध्यम से, लाइन में नीचे की ओर होता है। यह एक सिंगल फाइल लाइन के लिए बहुत अच्छा काम करता है।
लेकिन AI की वास्तविक दुनिया में, "लोग" एक ग्रिड में व्यवस्थित होते हैं, जैसे कि एक चेकरबोर्ड। अब, यदि बीच में कोई व्यक्ति एक सिक्का गिराता है, तो वह वजन उनके नीचे खड़े सभी लोगों और उनके दवें ओर खड़े सभी लोगों के बीच साझा किया जाना चाहिए। यदि आप इस ग्रिड को हर एक वर्ग (square) में जाकर एक-एक करके ठीक करने की कोशिश करते हैं (वेक्टराइज्ड दृष्टिकोण), तो आप बहुत सारा अनावश्यक काम करते हैं। यह एक पूरे कमरे को साफ करने की कोशिश करने जैसा है जहाँ आप बार-बार फर्श के हर इंच को पोंछते हैं, यहाँ तक कि उन हिस्सों को भी जिन्हें आप पहले ही साफ कर चुके हैं। गणित बताता है कि इसमें बहुत अधिक समय लगता है, और यदि आप ग्रिड का आकार दोगुना करते हैं, तो काम चार गुना (या उससे भी अधिक) बढ़ जाता है।
इस शोध पत्र के लेखकों ने इस ग्रिड को देखा और कुछ जादुजी महसूस किया: किसी भी वर्ग से होने वाली "थरथराहट" या त्रुटि केवल एक विशिष्ट दिशा में—नीचे और दाईं ओर—यात्रा करती है। यह एक निर्भरता ग्राफ (dependency graph) बनाता है जो एक सीढ़ी जैसा दिखता है। यदि आप ग्रिड को विकर्ण रूप से (ऊपर-दाएं से नीचे-बाएं तक) देखते हैं, तो आप पाएंगे कि एक ही विकर्ण रेखा पर स्थित सभी वर्ग स्वतंत्र हैं। वे एक-दूसरे को प्रभावित नहीं करते!
यही वह "Aha!" क्षण है। क्योंकि वे स्वतंत्र हैं, आप एक ही विकर्ण रेखा पर सभी संख्याओं को एक साथ राउंड कर सकते हैं, जैसे कि बोर्ड पर टकराती हुई एक लहर। यही GPTQ-2D का मूल है।
"लेज़ी" (Lazy) बफर का जादू
तो, वे इसे तेज़ कैसे बनाते हैं? पुराने "धीमे" तरीके में, हर बार जब आप एक संख्या को ठीक करते थे, तो आप तुरंत उस विशाल आयत के नीचे और दाईं ओर के प्रत्येक वर्ग को अपडेट करने जाते थे। यह बहुत अधिक भाग-दौड़ वाला काम है।
नया GPTQ-2D एल्गोरिदम बहुत अधिक "लेज़ी" (आलसी) है (अच्छे अर्थ में)। पूरे आयत को तुरंत अपडेट करने के बजाय, यह बस अपनी ही कॉलम में और अपनी ही रो (row) में त्रुटि को धकेलता है, और एक "नोट" एक बफर में छोड़ देता है। यह एक शिक्षक की तरह है जो, हर छात्र के डेस्क पर जाकर गलती सुधारने के बजाय, केवल छात्र के अपने डेस्क पर और उनके दाईं ओर वाले छात्र के डेस्क पर सुधार लिख देता है। लाइन में आगे के छात्र अंततः इन नोट्स को देखेंगे और खुद को ठीक कर लेंगे।
इस "लेज़ी" दृष्टिकोण का उपयोग करके, एल्गोरिदम पूरे ग्रिड को लगातार अपडेट करने के भारी काम से बचता है। यह ग्रिड को "लहरों" (anti-diagonals) में प्रोसेस करता है। प्रत्येक लहर थोड़ा सा समय लेती है, और चूंकि लहरें समानांतर (parallel) में हो सकती हैं, इसलिए पूरी प्रक्रिया नाटकीय रूप रूप से तेज हो जाती है।
शोध पत्र यह सिद्ध करता है कि यह लेज़ी, विकर्ण दृष्टिकोण ठीक उसी परिणाम को देता है जो धीमे, एक-एक करके वाले तरीके से मिलता है। यह कोई अनुमान नहीं है; यह एक गणितीय गारंटी है। लेखक दिखाते हैं कि चाहे आप डोमिनोज़ को एक-एक करके ठीक करें या विकर्ण लहरों में, अंतिम टॉवर बिल्कुल एक जैसा खड़ा रहता है।
यह क्यों महत्वपूर्ण है
यह शोध पत्र केवल यह अनुमान नहीं लगाता कि यह तेज़ है; उन्होंने इसे सिद्ध करने के लिए गणित का उपयोग किया है। एक वर्गाकार ग्रिड के लिए (जहाँ पंक्तियों की संख्या स्तंभों के बराबर है), पुराना तरीका ग्रिड के आकार की चौथी घात () के अनुपात में समय लेता है। नया GPTQ-2D तरीका ग्रिड के आकार की तीसरी घात () के अनुपात में समय लेता है।
इसे समझने के लिए: यदि आपके पास 1,000 x 1,000 का ग्रिड है, तो पुराना तरीका नए तरीके की तुलना में एक अरब गुना अधिक काम कर रहा है। नया तरीका दो-तरफा ग्रिड को ठीक करने की लागत को एक साधारण एक-तरफा रेखा को ठीक करने के स्तर तक ले आता है।
लेखक इस एल्गोरिदम के एक "ब्लॉक" (blocked) संस्करण (एल्गोरिदम 4) का भी वर्णन करते हैं, जो इन विकर्ण लहरों को समूहों (chunks) में व्यवस्थित करता है। इसे आधुनिक कंप्यूटर चिप्स पर और भी बेहतर काम करने के लिए डिज़ाइन किया गया है, जो छोटे, बिखरे हुए टुकड़ों के बजाय एक साथ बड़े गणितीय कार्यों को करना पसंद करते हैं। यह सिद्धांत को वास्तविक दुनिया के उपयोग के लिए तैयार बनाता है।
संक्षेप में, यह शोध पत्र एक ऐसी समस्या को हल करता है जो बड़े, जटिल AI मॉडलों के लिए बहुत धीमी थी और उसे एक ऐसी गति प्रदान करता है जो इसे व्यवहार्य बनाती है। यह दिखाता है कि डेटा को देखने के तरीके को बदलकर—एक सीधी रेखा को एक विकर्ण लहर से बदलकर—हम किसी भी सटीकता को खोए बिना एक दो-तरफा पहेली को एक-तरफा पहेली जितनी आसानी से हल कर सकते हैं। यह एक याद दिलाता है कि कभी-कभी, समस्या को हल करने का सबसे तेज़ तरीका कड़ी मेहनत करना नहीं, बल्कि समस्या को एक अलग कोण से देखना होता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।