Meganeura: Portable GPU Training and Inference through Vulkan and Metal
मेगान्यूरा (Meganeura) यह प्रदर्शित करता है कि Vulkan और Metal का उपयोग करने वाला एक कॉम्पैक्ट, नेटिव कंपाइलर विविध कंज्यूमर GPUs पर प्रशिक्षण और अनुमान (inference) दोनों चरणों को प्रभावी ढंग से पाट सकता है, जो PyTorch की तुलना में प्रतिस्पर्धी प्रदर्शन और काफी तेज़ संकलन समय (compilation times) प्राप्त करता है, जबकि कर्नेल कवरेज और शेड्यूलिंग को प्राथमिक शेष बाधाओं के रूप में पहचानता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक सुपर-स्मार्ट रोबोट दिमाग है जो बिल्लियों को पहचानना, कार चलाना या कहानियाँ लिखना सीखता है। आमतौर पर, इस दिमाग के काम करने के तरीके में एक बड़ा, अव्यवस्थित विभाजन होता है। पहले, इसे सीखने के लिए (ट्रेनिंग के लिए) एक विशाल, वातानुकूलित डेटा सेंटर में जाना पड़ता है, जिसमें भारी-भरती उपकरणों का उपयोग होता है जो केवल बड़ी कंपनियों के पास होते हैं। फिर, इसे आपके फोन या किसी खिलौने में वास्तव में उपयोग करने के लिए, आपको इसे सिकोड़ना पड़ता है, इसे एक नई भाषा में अनुवाद करना पड़ता है, और उम्मीद करनी पड़ती है कि यह अभी भी काम करे। यह एक पेशेवर रसोई में एक विशाल केक बनाने जैसा है, और फिर उस रेसिपी को पिकनिक के लिए एक छोटे से लंचबॉक्स में फिट करने की कोशिश करने जैसा है, इस उम्मीद में कि केक बिखरेगा नहीं।
यह पेपर कंप्यूटर विज्ञान की दुनिया में रहता है, विशेष रूप से "मशीन लर्निंग" (कंप्यूटर को डेटा से सीखना सिखाना) और "ग्राफिक्स प्रोग्रामिंग" (कंप्यूटर चिप्स को चित्र बनाना सिखाना) में। मुख्य विचार यह है कि वही कंप्यूटर चिप्स जो आपके वीडियो गेम और फोन स्क्रीन को शक्ति देते हैं, गणित करने में अविश्वसनीय रूप से शक्तिशाली हैं। यह पेपर एक सरल प्रश्न पूछता है: क्या हम उस अव्यवस्थित अनुवाद चरण को छोड़ सकते हैं? क्या हम उसी "रेसिपी" का उपयोग कर सकते हैं जिससे रोबोट दिमाग को प्रशिक्षित किया जाता है और फिर उसे आपके डिवाइस पर चला सकते हैं, बिना किसी विशाल डेटा सेंटर या बीच में पायथन कंप्यूटर भाषा के? यदि हम ऐसा कर सके, तो इसका मतलब होगा कि आपके उपकरण वहीं नए करतब सीख सकते हैं, तुरंत, बिना डेटा को वापस सर्वर पर भेजे।
शोधकर्ताओं ने इस परीक्षण के लिए Meganeura नामक एक नया टूल बनाया। Meganeura को एक सार्वभौमिक अनुवादक और एक मास्टर शेफ के रूप में समझें। सामान्य भारी उपकरणों (जैसे PyTorch, जो ट्रेनिंग के लिए मानक "रसोई" है) के बजाय, Meganeura उन मानक भाषाओं का उपयोग करता है जिन्हें वीडियो गेम इंजन पहले से ही बोलते हैं: Vulkan और Metal। ये वे भाषाएँ हैं जिनका उपयोग ग्राफिक्स कार्ड 3D दुनिया को रेंडर करने के लिए करते हैं। टीम ने यह देखना चाहा कि क्या वे एक ही प्रोग्राम लिख सकते हैं जो उच्च-स्तरीय गेमिंग कार्डों से लेकर आपके फोन या लैपटॉप के भीतर की छोटी चिप्स तक, लगभग किसी भी आधुनिक कंप्यूटर चिप पर सीख (ट्रेन) भी सके और प्रदर्शन (इन्फर) भी कर सके।
उन्होंने AMD और NVIDIA जैसे विभिन्न प्रकार के उपकरणों पर Meganeura को PyTorch के विरुद्ध टेस्ट किया। उन्होंने इमेज रिकग्निशन से लेकर स्पीच समझने तक, पांच अलग-अलग AI कार्यों को चलाया।
अच्छी खबर:
Meganeura काम करता है! कई मामलों में, यह भारी-भरती मानक उपकरणों के समान तेज़ था, और कभी-कभी उनसे भी तेज़ था। AMD उपकरणों पर, यह अक्सर प्रतिस्पर्धा से तेज़ था। उदाहरण के लिए, एक AMD ग्राफिक्स कार्ड पर, Meganeura ने कुछ मॉडल्स को मानक टूल की तुलना में 1.3 गुना तेज़ी से ट्रेन किया। Apple के M3 चिप पर, यह प्रतिस्पर्धी था, हालांकि कभी-कभी थोड़ा धीमा था। सबसे अच्छी बात? Meganeura बहुत छोटा है। पूरा प्रोग्राम केवल 13 MiB का है (लगभग कुछ उच्च-गुणवत्ता वाली तस्वीरों के आकार का), जबकि मानक उपकरणों को इंस्टॉल करने के लिए गीगाबाइट सॉफ्टवेयर की आवश्यकता होती है। यह नए कार्यों को सेकंडों में (0.1 से 2.4 सेकंड) संकलित (compile) करता है, जबकि अन्य में मिनट लगते हैं।
"यह निर्भर करता है" वाली खबर:
यह हर जगह पूर्ण जीत नहीं है। NVIDIA कार्डों और Apple चिप्स पर, Meganeura कभी-कभी धीमा था, खासकर डीप लर्निंग मॉडल्स जैसे जटिल कार्यों के लिए। शोधकर्ताओं ने पाया कि गति का अंतर इसलिए नहीं था क्योंकि ग्राफिक्स भाषाएँ (Vulkan/Metal) कमजोर थीं, बल्कि इसलिए था क्योंकि Meganeura की "रसोई" में वे सभी विशिष्ट उपकरण (kernels) नहीं थे जो बड़ी कंपनियों ने वर्षों में बनाए हैं। उदाहरण के लिए, NVIDIA कार्डों पर, सबसे धीमे हिस्से कनवल्शन (एक प्रकार का इमेज प्रोसेसिंग) के लिए विशिष्ट गणितीय ऑपरेशन थे, जहाँ Meganeura कुछ त्वरित मोड में लगभग 4.6 गुना धीमा था।
"वास्तविक दुनिया" का परीक्षण:
यह साबित करने के लिए कि यह केवल लैब का प्रयोग नहीं है, उन्होंने एक VR हेडसेट (Meta Quest 3) के लिए DinoVision नामक एक वास्तविक ऐप बनाया। उन्होंने एक कंप्यूटर पर एक डिकोडर को प्रशिक्षित किया, "दिमाग" को सेव किया, और फिर Megane-ura का उपयोग करके सीधे हेडसेट पर इसे चलाया। यह पूरी तरह से काम कर गया, और इसने गेम रेंडरिंग के साथ अपने ग्राफिक्स क्यू (queue) को साझा किया। इसने साबित कर दिया कि आप बिना किसी अलग सर्वर के, एक ही डिवाइस पर प्रशिक्षण और परिनियोजन (deployment) कर सकते हैं।
एक पेंच:
शोधकर्ता बहुत सावधान रहे। उन्होंने दो विशिष्ट मामले पाए जहाँ परिणाम मानक टूल से मेल नहीं खाते थे। उन्हें संदेह है कि उन विशिष्ट मामलों में मानक टूल में बग हो सकता है, लेकिन बिना तीसरे पक्ष की राय के वे 100% निश्चित नहीं हो सकते। उन्होंने यह भी नोट किया कि Meganeura बड़े, वितरित प्रशिक्षण (distributed training) के लिए विशाल डेटा-सेंटर टूल्स को बदलने के लिए तैयार नहीं है; इसे छोटे, पोर्टेबल अनुप्रयोगों के लिए डिज़ाइन किया गया है जहाँ आप सब कुछ एक ही पैकेज में चाहते हैं।
निष्कर्ष:
Meganeura दिखाता है कि आपको अपने डिवाइस पर AI को प्रशिक्षित करने और चलाने के लिए एक विशाल, विशिष्ट डेटा सेंटर की आवश्यकता नहीं है। पहले से मौजूद ग्राफिक्स भाषाओं का उपयोग करके, जो आपके गेम को शक्ति देते हैं, आप एक छोटा, पोर्टेबल सिस्टम बना सकते हैं जो लगभग किसी भी आधुनिक चिप पर सीख और चल सकता है। हालाँकि यह अभी भी हर परिदृश्य में सबसे तेज़ नहीं है, लेकिन यह साबित करता है कि एक "ट्रेन-एंड-डिप्लॉय" स्टैक संभव है, जो आपके जेब में मौजूद उपकरणों को सीखने और अनुकूल होने का अवसर खोलता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।