KernelArc: A Multi-Agent Framework for GPU Kernel Optimization
KernelArc एक मल्टी-एजेंट फ्रेमवर्क है जो साझा मेमोरी और नियत गार्ड्स (deterministic guards) के माध्यम से समन्वय करते हुए समानांतर, रणनीति-विशेषज्ञ एजेंटों के जरिए GPU कर्नेल्स को स्वायत्त रूप से अनुकूलित करता है, जिससे NVIDIA H100 और B200 GPUs पर विविध वर्कलोड के लिए SOL-ExecBench लीडरबोर्ड पर शीर्ष रैंकिंग प्राप्त होती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
आधुनिक कंप्यूटर आर्टिफिशियल इंटेलिजेंस के लिए आवश्यक भारी गणनाओं को संभालने के लिए ग्राफिक्स प्रोसेसिंग यूनिट्स, या जीपीयू (GPUs) नामक विशेष चिप्स पर निर्भर करते हैं। ये चिप्स अविश्वसनीय रूप से शक्तिशाली हैं, लेकिन वे जटिल मशीनें भी हैं जिनके कई अलग-अलग हिस्सों को पूरी तरह से तालमेल में काम करना होता है। इनका अधिकतम लाभ उठाने के लिए, इंजीनियरों को बहुत ही विशिष्ट, छोटे प्रोग्राम लिखने होते हैं जिन्हें 'कर्नेल' (kernels) कहा जाता है, जो चिप को ठीक से बताते हैं कि डेटा कैसे स्थानांतरित करना है और गणितीय गणना कैसे करनी है। वर्षों से, यह विशेषज्ञों का काम रहा है जिन्होंने कोड को बेहतर बनाने, मेमोरी के उपयोग को संतुलित करने और संचालन के समय को सटीक बनाने के लिए अनगिनत घंटे बिताए हैं। जैसे-जैसे ये चिप्स अधिक परिष्कृत होते गए, यह मैन्युअल कार्य कठिन होता गया, और हार्डवेयर की क्षमता और सॉफ्टवेयर द्वारा प्राप्त किए जाने वाले प्रदर्शन के बीच का अंतर बढ़ता गया।
शोधकर्ताओं ने इस कोड को लिखने और सुधारने में मदद करने के लिए लार्ज लैंग्वेज मॉडल्स—जो टेक्स्ट की विशाल मात्रा पर प्रशिक्षित कंप्यूटर प्रोग्राम हैं—का उपयोग करना शुरू कर दिया है। ये मॉडल बदलावों का सुझाव दे सकते हैं, उनका परीक्षण कर सकते हैं और परिणामों से सीख सकते हैं, जिससे वे एक स्वचालित इंजीनियर की तरह कार्य करते हैं। हालाँकि, एक एकल स्वचालित एजेंट अक्सर अटक जाता है। वह एक अच्छा समाधान ढूंढ सकता है और उसे निखारने में लगा रह सकता है, जिससे वह अन्य, बेहतर दृष्टिकोणों को खो देता है जो एक अलग दिशा में हो सकते हैं। यह एक ऐसे हाइकर (पर्वतारोही) की तरह है जिसे पहाड़ पर चढ़ने का एक अच्छा रास्ता मिल जाता है और वह उसी रास्ते पर चलता रहता है, यह महसूस किए बिना कि पास में ही एक दूसरा रास्ता उसे कहीं अधिक ऊँची चोटी तक ले जा सकता है। इस समस्या को हल करने के लिए, IMEC के शोधकर्ताओं ने 'KernelArc' नामक एक नया सिस्टम विकसित किया है, जो एक साथ कई अलग-अलग रास्तों को खोजने के लिए इन स्वचालित एजेंटों के एक समूह का उपयोग करता है।
KernelArc सिस्टम कई समानांतर (parallel) चलने वाले एजेंटों को विभिन्न रणनीतियाँ सौंपकर काम करता है। एक अकेले एजेंट द्वारा समस्या को हल करने के बजाय, समूह में प्रत्येक एजेंट हमले के एक अलग कोण पर ध्यान केंद्रित करता है, जैसे कि डेटा को स्टोर करने के तरीके को बदलना, उपयोग की जाने वाली गणितीय सटीकता को बदलना, या कई चरणों को एक साथ मिलाना। ये एजेंट अपनी पूरी विचार प्रक्रिया या उठाए गए हर कदम को साझा नहीं करते हैं, क्योंकि वह बहुत अव्यवस्थित और भ्रमित करने वाला होगा। इसके बजाय, वे केवल अपने अंतिम निष्कर्ष साझा करते हैं: क्या काम किया और क्या विफल रहा। वे इन परिणामों को एक साझा मेमोरी स्पेस में लिखते हैं जो एक बुलेटिन बोर्ड की तरह कार्य करता है। यदि कोई एजेंट किसी गणना को तेज करने की कोई तरकीब खोज लेता है, तो वह परिणाम पोस्ट करता है। अन्य एजेंट इस पोस्ट को पढ़ सकते हैं और उस अंतर्दृष्ट (insight) का उपयोग अपने स्वयं के कार्य को निर्देशित करने, गलत रास्तों से बचने और सफलता पर निर्माण करने के लिए कर सकते हैं।
यह सुनिश्चित करने के लिए कि एजेंट टूटे हुए कोड पर समय बर्बाद न करें, सिस्टम में एक सख्त, स्वचालित रेफरी शामिल है। यह रेफरी प्रत्येक नए कोड सुझाव को सही होने और उसकी गति की जांच करने के लिए परीक्षणों की एक श्रृंखला से गुजारता है। यदि कोई सुझाव परीक्षण में विफल रहता है, तो उसे तुरंत हटा दिया जाता है। यदि वह काम करता है लेकिन वर्तमान सर्वश्रेष्ठ संस्करण से तेज़ नहीं है, तो उसे बैकअप के रूप में रखा जाता है लेकिन वह लीडर को नहीं बदलता है। केवल तभी जब कोई नया संस्करण सही और तेज़ होता है, तभी वह नया मानक बनता है। यह प्रक्रिया एजेंटों की टीम को हर एक प्रयास के विवरण में खोए बिना संभावनाओं की एक विस्तृत श्रृंखला तलाशने की अनुमति देती है। सिस्टम में एक सुरक्षा तंत्र भी है जो तब सक्रिय हो जाता है जब कोई एजेंट एक 'प्लेटो' (स्थिर अवस्था) पर अटक जाता है, जहाँ आगे कोई सुधार नहीं पाया जा सकता। जब ऐसा होता है, तो सिस्टम एजेंट को पूरी तरह से एक अलग दृष्टिकोण आज़माने के लिए मजबूर करता है, जिससे यह सुनिश्चित होता है कि खोज आगे बढ़ती रहे।
शोधकर्ताओं ने इस प्रणाली का परीक्षण उपलब्ध सबसे उन्नत जीपीयू, NVIDIA H100 और B200 पर किया। उन्होंने प्रदर्शन को मापने के लिए उपयोग किए जाने वाले मानक कार्यों पर ध्यान केंद्रित किया, जिसमें मैट्रिक्स गुणन (matrix multiplication), भाषा मॉडलों में उपयोग किए जाने वाले अटेंशन मैकेनिज्म (attention mechanisms), और विभिन्न प्रकार के डेटा फ्यूजन जैसे ऑपरेशन शामिल हैं। एक विशिष्ट परीक्षण में, जिसमें एक विस्तृत गाइड के साथ अकेले काम करने वाला एक एकल एजेंट शामिल था, सिस्टम 766 टेराफ्लॉप्स की गति तक पहुँचने में सफल रहा, जो उस विशिष्ट कार्य के लिए मौजूद सर्वोत्तम मौजूदा लाइब्रेरी से लगभग 3.2 प्रतिशत तेज़ है। इससे पता चला कि यदि स्पष्ट मार्ग दिया जाए, तो एक एकल एजेंट किसी विशिष्ट समस्या में बहुत गहराई तक जा सकता है। हालाँकि, जब शोधकर्ताओं ने व्यापक कार्यों को संभालने के लिए मल्टी-एजेंट KernelArc सिस्टम का उपयोग किया, तो परिणाम और भी प्रभावशाली थे। सिस्टम ने विभिन्न जटिल ऑपरेशनों, जैसे कि विशेष अटेंशन मैकेनिज्म और बड़े भाषा मॉडलों के लिए फ्यूज्ड लेयर्स के लिए कस्टम कार्यान्वयन तैयार किए।
एक सार्वजनिक लीडरबोर्ड पर, जो डेटा के विभिन्न आकारों और प्रकारों में इन ऑपरेशनों की गति को रैंक करता है, KernelArc के सबमिशन ने कई श्रेणियों में प्रथम स्थान प्राप्त किया। अटेंशन और रेसिडुअल एडिशन (residual addition) से जुड़े एक कार्य के लिए, एक एकल एजेंट 0.441 के प्रदर्शन स्कोर पर अटक गया था। मल्टी-एजेंट सिस्टम ने, अंतर्दृष्टि साझा करके और विभिन्न दिशाओं की खोज करके, उस बाधा को तोड़ दिया और 0.481 के स्कोर तक पहुँच गया। एक जटिल अटेंशन कार्य से जुड़े दूसरे परीक्षण में, मल्टी-एजेंट सिस्टम ने एक मानक संदर्भ कार्यान्वयन की तुलना में लगभग 291 गुना और एक अत्यधिक अनुकूलित बेसलाइन की तुलना में 143 गुना से अधिक की गति प्राप्त की। ये परिणाम बताते हैं कि एजेंटों के समूह द्वारा अपने निष्कर्षों को साझा करने से एक एकल एजेंट की तुलना में बेहतर समाधान तेजी से मिलते हैं, विशेष रूप से जब समस्या का क्षेत्र बड़ा और विविध हो।
अध्ययन ने यह भी देखा कि एजेंटों की संख्या और साझा मेमोरी की मात्रा बदलने पर सिस्टम कैसा व्यवहार करता है। उन्होंने पाया कि एजेंटों को एक साझा मेमोरी देने से, जहाँ वे अपनी सफलताओं और विफलताओं को पोस्ट कर सकें, उन्हें निश्चित प्रयासों के भीतर बेहतर परिणाम प्राप्त करने में मदद मिली। जब मेमोरी असीमित थी, तो सिस्टम ने सर्वश्रेष्ठ प्रदर्शन किया, जो शुरुआती बिंदु की तुलना में 290 गुना से अधिक की गति प्राप्त कर सका। यह इंगित करता है कि समूह के सामूहिक अनुभव से सीखना सफलता का एक प्रमुख कारक है। शोधकर्ताओं ने नोट किया कि प्रत्येक विशेषता का मूल्य, जैसे कि साझा मेमोरी या रणनीति विशेषज्ञता, कार्य और खोज के चरण पर निर्भर करता है। कभी-कभी एजेंटों को व्यापक रूप से अन्वेषण करने की आवश्यकता होती है, और कभी-कभी उन्हें एक विशिष्ट समाधान को परिष्कृत करने की।
यह कार्य यह दावा नहीं करता है कि इसने कंप्यूटर अनुकूलन की सभी समस्याओं को हल कर लिया है, न ही यह सुझाव देता है कि मानव इंजीनियरों की अब आवश्यकता नहीं है। परिणाम परीक्षण किए गए कार्यों और हार्डवेयर के लिए विशिष्ट हैं, और सिस्टम अभी भी एजेंटों को निर्देशित करने के लिए एक मानव-निर्मित ढांचे पर निर्भर करता है। हालाँकि, निष्कर्ष यह दर्शाते हैं कि एजेंटों का एक समन्वित समूह एक एकल एजेंट की तुलना में समाधानों की एक विस्तृत श्रृंखला तलाश सकता है। केवल अपने सबसे मूल्यवान निष्कर्षों को साझा करके, ये एजेंट गलतियों को दोहराने से बच सकते हैं और एक-दूसरे की खोजों पर निर्माण कर सकते हैं। यह दृष्टिकोण आधुनिक कंप्यूटिंग की बढ़ती जटिलता को संभालने का एक आशाजनक तरीका है, जहाँ हार्डवेयर क्षमता और सॉफ्टवेयर प्रदर्शन के बीच का अंतर बढ़ता जा रहा है। यह सिस्टम दिखाता है कि सही समन्वय के साथ, स्वचालित उपकरण उन चिप्स की पूरी शक्ति को अनलॉक करने में मदद कर सकते हैं जो अगली पीढ़ी के आर्टिफिशियल इंटेलिजेंस को संचालित करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।