MPK: A Compiler and Runtime for Mega-Kernelizing Tensor Programs
मिराज पर्सिस्टेंट कर्नेल (MPK) एक नवीन कंपाइलर और रनटाइम सिस्टम है जो मल्टी-जीपीयू टेंसर प्रोग्राम्स को स्वचालित रूप से एक सिंगल हाई-परफॉर्मेंस मेगा-कर्नेल में रूपांतरित करता है, जो क्रॉस-ऑपरेटर पाइपलाइनिंग और कंप्यूटेशन एवं कम्युनिकेशन के फाइन-ग्रेन्ड ओवरलैप को सक्षम करने के लिए SM-लेवल ग्राफ रिप्रेजेंटेशन्स का उपयोग करता है, जिससे पारंपरिक कर्नेल-पर-ऑपरेटर दृष्टिकोणों की तुलना में LLM इन्फरेंस लेटेंसी को काफी कम किया जा सकता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, उच्च-गति वाली फैक्ट्री चला रहे हैं जो जटिल संरचनाएं (जैसे AI मॉडल) बनाती है। वर्तमान में काम करने के तरीके में, निर्माण प्रक्रिया के हर एक चरण को एक अलग विशेषज्ञ टीम द्वारा संभाला जाता है।
पुराना तरीका: "रुकने और चलने वाला" (Stop-and-Go) कारखाना
अभी, अधिकांश AI सिस्टम एक ऐसे कारखाने की तरह काम करते हैं जहाँ टीम A एक दीवार बनाती है, फिर चिल्लाती है "हो गया!" और रुक जाती है। फैक्ट्री मैनेजर (कंप्यूटर का ऑपरेटिंग सिस्टम) को सब कुछ रोकना पड़ता है, कागजी कार्रवाई की जांच करनी पड़ती है, और फिर टीम B को दीवार पेंट करने के लिए बुलाना पड़ता है। एक बार जब टीम B अपना काम पूरा कर लेती है, तो वह रुक जाती है और फिर मैनेजर टीम C को खिड़कियां लगाने के लिए बुलाता है।
इससे बहुत सारा समय बर्बाद होता है:
- "रुकने" का संकेत: हर बार जब एक टीम अपना काम पूरा करती है, तो यह सुनिश्चित करने के लिए एक अनिवार्य ठहराव होता है कि अगली टीम तैयार है या नहीं। यह हर चौराहे पर रेड लाइट होने जैसा है।
- मैनेजर का फालतू काम: मैनेजर टीमों के बीच भाग-दौड़ करने, नए निर्देश देने में बहुत अधिक समय बिता देता है, बजाय इसके कि वह टीमों को काम करने दे।
- कोई ओवरलैप नहीं: भले ही टीम B को दीवार के उस छोटे से हिस्से की जरूरत हो जिसे टीम A ने अभी-अभी बनाया है, टीम B को पूरी दीवार बनने तक इंतजार करना होगा। वे दीवार के पहले ईंट को पेंट करना शुरू नहीं कर सकते जब तक कि बाकी की दीवार बन रही हो।
नया तरीका: MPK (मिराज पर्सिस्टेंट कर्नल - Mirage Persistent Kernel)
यह पेपर पेश करता है कि कैसे MPK उस कारखाने को एक एकल, निरंतर, सुपर-कुशल असेंबली लाइन में बदल देता है जिसे एक विशाल, स्व-प्रबंधित टीम द्वारा चलाया जाता है।
यहाँ बताया गया है कि MPK सरल उपमाओं (analogies) का उपयोग करके खेल को कैसे बदल देता है:
1. "एक बड़ा कर्नल" (द मेगा-फैक्ट्री)
अलग-अलग टीमों को एक-एक करके बुलाने के बजाय, MPK एक ही विशाल टीम को लॉन्च करता है जो शुरुआत से अंत तक काम पर टिकी रहती है। यह टीम चरणों के बीच नहीं रुकती। उन्हें अगले कदम के लिए मैनेजर के निर्देश का इंतजार नहीं करना पड़ता; वे बस चलते रहते हैं।
- लाभ: यह "रुकने और चलने" वाले विलंब (delays) को समाप्त करता है। यह एक ऐसी ट्रेन की तरह है जो इंजन बदलने के लिए स्टेशनों पर कभी नहीं रुकती; वह बस चलती रहती है।
2. "SM-लेवल मैप" (विस्तृत ब्लूप्रिंट)
पेपर एक नया तरीका पेश करता है जिससे ब्लूप्रिंट बनाया जाता है, जिसे tGraph कहा जाता है।
- पुराना ब्लूप्रिंट: "दीवार A बनाओ, फिर दीवार A को पेंट करो।" (बहुत बड़ा और अस्पष्ट)।
- MPK ब्लूप्रिंट: "श्रमिक 1 ईंट 1 बनाता है, श्रमिक 2 ईंट 2 बनाता है, श्रमिक 3 ईंट 1 को पेंट करता है जबकि श्रमिक 4 ईंट 3 बनाता है।"
- जादू: MPK काम को व्यक्तिगत श्रमिकों (जिन्हें SMs या स्ट्रीमिंग मल्टीप्रोसेसर कहा जाता है) के स्तर तक तोड़ देता है। इसे ठीक से पता होता है कि किस श्रमिक को किस डेटा की आवश्यकता है और कब। यह विभिन्न श्रमिकों को अलग-अलग काम (जैसे निर्माण और पेंटिंग) एक ही समय में करने की अनुमति देता है, जब तक कि वे एक-दूसरे के काम में बाधा न डालें।
3. "सेल्फ-ड्राइविंग" रनटाइम (स्मार्ट फोरमैन)
इस विशाल टीम के भीतर, एक स्मार्ट, स्व-प्रबंधित प्रणाली (In-Kernel Runtime) होती है।
- कोई बिचौलिया नहीं: फैक्ट्री के बाहर से निर्देश चिल्लाने के बजाय, श्रमिक सीधे एक-दूसरे से बात करते हैं।
- Just-in-Time बनाम Ready-to-Go:
- यदि कोई कार्य कठिन है और अनिश्चित चीजों पर निर्भर है (जैसे चैट में वाक्य की लंबाई कितनी है), तो सिस्टम अगले चरण को शुरू करने से पहले पिछले चरण के वास्तव में पूरा होने का इंतजार करता है (Just-in-Time)।
- यदि कोई कार्य अनुमानित है, तो सिस्टम उसे लाइन में लगा देता है और पिछला चरण खत्म होने से पहले ही उसे तैयार कर लेता है (Ahead-of-Time)।
- परिणाम: श्रमिक निर्देशों के इंतजार में कभी खाली नहीं बैठते। वे हमेशा व्यस्त रहते हैं।
4. "पेज्ड शेयर्ड मेमोरी" (साझा टूलबॉक्स)
पुराने कारखाने में, प्रत्येक टीम के पास अपना लॉक किया हुआ टूलबॉक्स होता था। यदि टीम A को हथौड़े की आवश्यकता होती थी, तो उन्हें टीम B के काम खत्म करने और हथौड़ा वापस रखने का इंतजार करना पड़ता था।
- MPK का समाधान: वे "पेज्ड शेयर्ड मेमोरी" का उपयोग करते हैं। कल्पना कीजिए कि एक विशाल, साझा टूलबॉक्स है जहाँ उपकरण छोटे, चलने योग्य पेजों में व्यवस्थित हैं। जैसे ही एक श्रमिक किसी उपकरण के साथ अपना काम पूरा करता है, वह उसे वापस शेल्फ पर रख देता है, और अगला श्रमिक तुरंत उसे उठा सकता है। यह श्रमिकों को उनके वर्तमान काम को पूरा करते हुए भी अपने अगले काम के लिए सामग्री उठाने की अनुमति देता है।
यह क्यों मायने रखता है?
पेपर ने शक्तिशाली NVIDIA GPUs का उपयोग करके लार्ज लैंग्वेज मॉडल्स (AI चैटबॉट्स के दिमाग) पर इस सिस्टम का परीक्षण किया।
- गति: MPK ने कुछ मामलों में मौजूदा सर्वोत्तम सिस्टमों की तुलना में AI को 1.7 गुना तेज़ बना दिया।
- लेटेंसी (Latency): इसने टेक्स्ट का एक शब्द उत्पन्न करने में लगने वाले समय को कम कर दिया, जिससे यह हार्डवेयर की भौतिक सीमाओं के बहुत करीब पहुँच गया।
- उपयोग में आसानी: सबसे अच्छी बात? आपको इसका उपयोग करने के लिए फैक्ट्री विशेषज्ञ होने की आवश्यकता नहीं है। आप एक मानक AI मॉडल (PyTorch में लिखा गया) को केवल कुछ लाइनों के कोड के साथ "MPK-ify" कर सकते हैं। सिस्टम स्वचालित रूप से यह समझ लेता है कि काम को कैसे विभाजित करना है और श्रमिकों को कैसे प्रबंधित करना है।
सारांश में:
MPK एक ऐसे अराजक कारखाने को, जहाँ टीमें लगातार रुकती और चलती रहती हैं, एक सुचारू, निरंतर, स्व-प्रबंधित असेंबली लाइन में बदल देता है। काम को सबसे छोटे संभव टुकड़ों में तोड़कर और श्रमिकों को सीधे समन्वय करने देकर, यह सभी बर्बाद समय को हटा देता है, जिससे AI इन्फरेंस (inference) काफी तेज़ और अधिक कुशल हो जाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।