Triton for MTIA: Bridging the Programming Model Gaps for Custom AI Accelerators
यह शोध पत्र मेटा के कस्टम MTIA-2i एक्सेलेरेटर पर ट्राइटन (Triton) के पहले प्रोडक्शन-स्केल पर तैनाती को प्रस्तुत करता है, जो यह प्रदर्शित करता है कि एक उच्च-स्तरीय DSL प्रभावी रूप से प्रोग्रामिंग मॉडल अंतराल को पाटकर विशेषज्ञ-ट्यून किए गए C++ के प्रतिस्पर्धी प्रदर्शन को प्राप्त कर सकता है और साथ ही विविध AI मॉडलों में कुशल, बड़े पैमाने पर अपनाना सक्षम कर सकता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक विशाल, हाई-स्पीड ट्रेन सिस्टम बनाने की कोशिश कर रहे हैं ताकि लाखों यात्रियों (डेटा) को एक शहर के माध्यम से ले जाया जा सके। वर्षों तक, केवल कुछ बड़ी कंपनियों द्वारा बनाई गई ट्रेनें ही उपलब्ध थीं, और वे सभी एक ही पटरियों और एक ही नियमों पर चलती थीं। लेकिन अब, एक नया तरह का शहर बनाया जा रहा है जिसमें अपनी अनूठी, कस्टम-मेड पटरियाँ और एक पूरी तरह से अलग प्रकार का ट्रेन इंजन है। समस्या क्या है? पुराने ट्रेन शेड्यूल और टिकटिंग सिस्टम (प्रोग्रामिंग भाषाएं) इन नई पटरियों पर काम नहीं करते हैं। यदि आप इन नई पंतियों पर ट्रेन चलाना चाहते हैं, तो आपको हर एक यात्रा के लिए एक नया शेड्यूल हाथ से तैयार करने के लिए इंजीनियरों की एक टीम को काम पर रखना होगा, जिसमें बहुत समय लगता है और यह अविश्वसनीय रूप से महंगा है। यही आर्टिफिशियल इंटेलिजेंस (AI) हार्डवेयर की वर्तमान स्थिति है: कंपनियां AI को तेज़ बनाने के लिए कस्टम "चिप्स" बना रही हैं, लेकिन ये चिप्स मानक वाले चिप्स की तुलना में एक अलग भाषा बोलते हैं, जिससे उन्हें कुशलतापूर्वक उपयोग करना कठिन हो जाता है।
आप जो पेपर पढ़ने जा रहे हैं वह इसी सिरदर्द को हल करता है। यह एक बड़ा सवाल पूछता है: क्या हम पुराने, आसान-से-उपयोग वाले ट्रेन शेड्यूलिंग सिस्टम को बिना गति खोए इन बिल्कुल नई, अजीब पटरियों पर काम करने के लिए सिखा सकते हैं? लेखकों ने, जो मेटा (Meta) की एक टीम है, यह परीक्षण करने का निर्णय लिया कि क्या वे एक लोकप्रिय, उपयोगकर्ता के अनुकूल भाषा जिसे "ट्राइटन" (Triton) कहा जाता है (जिसे मूल रूप से स्टैंडर्ड ग्राफिक्स कार्ड के लिए डिज़ाइन किया गया था) को अपने स्वयं के कस्टम चिप, जिसे MTIA-2i कहा जाता है, पर चला सकते हैं। वे यह देखना चाहते थे कि क्या वे "ईज़ी मोड" की प्रोग्रामिंग को बरकरार रखते हुए भी वही "हार्डकोर परफॉरमेंस" प्राप्त कर सकते हैं जो कस्टम चिप्स की विशेषता होती है।
जादूई अनुवादक की कहानी
तो, मेटा टीम ने वास्तव में क्या किया? उन्होंने एक सुपर-स्मार्ट ट्रांसलेटर बनाया। कल्पना कीजिए कि ट्राइटन एक यूनिवर्सल रिमोट कंट्रोल की तरह है जो टीवी के चैनल बदल सकता है। मूल रूप से, यह रिमोट केवल बड़े, स्टैंडर्ड टीवी (जैसे NVIDIA और AMD ग्राफिक्स कार्ड) के साथ काम करता था। मेटा टीम इस समान रिमोट का उपयोग एक बहुत ही अजीब, कस्टम-बिल्ट टीवी (उनके MTIA-2i चिप) को नियंत्रित करने के लिए करना चाहती थी, जिसके बटन और डायल पूरी तरह से अलग जगहों पर थे।
चुनौती यह थी कि कस्टम चिप में केवल अलग बटन ही नहीं थे; यह पूरी तरह से एक अलग लॉजिक पर काम करता था। एक स्टैंडर्ड टीवी पर, रिमोट स्क्रीन के अंदर एक छोटे से वर्कर को एक समय में एक काम करने के लिए कमांड भेजता है। मेटा के कस्टम चिप पर, रिमोट कमांड्स को वर्कर्स की एक पूरी टीम को भेजता है जो डेटा के बड़े ब्लॉक्स को एक साथ संभालते हैं, और वर्कर्स को अपने स्टोरेज बिन्स (मेमोरी) को मैन्युअल रूप से मैनेज करना होता है, जैसे कि म्यूजिकल चेयर्स का खेल जहाँ आपको याद रखना होता है कि आपका कप ठीक कहाँ है।
इसे ठीक करने के लिए, टीम ने केवल पुराने रिमोट को जबरदस्ती काम करने के लिए मजबूर नहीं किया; उन्होंने रिमोट के लिए एक नया "बैकएंड" बनाया। सिस्टम का यह नया हिस्सा एक शानदार इंटरप्रेटर (व्याख्या करने वाला) की तरह काम करता है। जब आप ट्राइटन रिमोट पर एक बटन दबाते हैं (कोड की एक लाइन लिखते हैं), तो इंटरप्रेटर कस्टम चिप के अजीब नियमों को देखता है और यह पता लगाता है कि उस सरल कमांड को जटिल, ब्लॉक-आधारित निर्देशों में कैसे अनुवादित किया जाए जिन्हें चिप समझता है। उन्होंने रिमोट में कुछ विशेष "मैजिक वर्ड्स" (लैंग्वेज एक्सटेंशन) भी जोड़े, जिससे विशेषज्ञ उपयोगकर्ताओं को अतिरिक्त गति पाने के लिए सेटिंग्स को ट्यून करने की अनुमति मिलती है, लेकिन बाकी सभी के लिए मुख्य इंटरफ़ेस को सरल रखा गया।
परिणाम: तेज़, लचीला और वास्तविक
टीम ने केवल लैब में अनुवादक नहीं बनाया; उन्होंने इसे वास्तविक दुनिया में काम पर लगाया। उन्होंने लगभग 60 अलग-अलग प्रकार के AI मॉडल्स पर इसका परीक्षण किया, जिनमें रिकमेंडेशन सिस्टम (वे सिस्टम जो सुझाव देते हैं कि आपको अगली फिल्म क्या देखनी चाहिए) से लेकर जेनेरेटिव मॉडल्स (वे जो कला या टेक्स्ट बनाते हैं) तक शामिल हैं।
परिणाम प्रभावशाली थे। उन्होंने पाया कि इस आसान, हाई-लेवल भाषा में लिखा गया कोड लगभग उतना ही तेज़ चला जितना कि वह कोड जो विशेषज्ञों द्वारा एक बहुत ही कठिन, लो-लेवल भाषा (C++) में बड़ी मेहनत से हाथ से लिखा गया था। वास्तव में, इन मॉडल्स के नॉन-हैवी-लिफ्टिंग हिस्सों के लिए, उनके नए दृष्टिकोण ने लगभग सभी लेयर्स में से आधे और कुल रनिंग टाइम के लगभग आधे हिस्से को संभाला।
सबसे बड़ी बात यह है कि: मात्र एक तिमाही (तीन महीने) के भीतर, वे मॉडल के विभिन्न प्रकारों की संख्या को तीन गुना करने और कस्टम चिप पर सिस्टम द्वारा बिताए जाने वाले समय को दोगुना करने में सफल रहे। यह साबित करता है कि आपको "ईज़ ऑफ यूज़" (उपयोग में आसानी) पाने के लिए स्पीड से समझौता करने की आवश्यकता नहीं है। ट्राइटन जैसे लचीले भाषा का उपयोग करके, उन्होंने जटिल, कस्टम हार्डवेयर और उन डेवलपर्स के बीच के अंतर को पाट दिया जिन्हें तेजी से AI मॉडल बनाने की आवश्यकता होती है।
यह क्यों महत्वपूर्ण है
यह कार्य सुझाव देता है कि हमें हर बार नई पहिया बनाने की आवश्यकता नहीं है जब भी कोई कंपनी एक नया, कस्टम AI चिप बनाती है। हर डेवलपर को प्रत्येक नए हार्डवेयर के लिए एक नई, कठिन भाषा सीखने के लिए मजबूर करने के बजाय, हम एक एकल, अनुकूलनीय भाषा का उपयोग कर सकते हैं जो अपने आप को नीचे चल रहे किसी भी चिप के अनुसार ढाल लेती है। पेपर दिखाता है कि यह दृष्टिकोण केवल एक सिद्धांत नहीं है; यह प्रोडक्शन में काम करता है, समय बचाता है और आर्टिफिशियल इंटेलिजेंस की दुनिया में तेजी से नवाचार करने की अनुमति देता है। यह साबित करने जैसा है कि एक यूनिवर्सल रिमोट न केवल आपके टीवी को, बल्कि आपके कस्टम-बिल्ट रोबोट वैक्यूम को भी नियंत्रित कर सकता है, बिना आपको खुद वैक्यूम की वायरिंग सीखने की आवश्यकता के।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।