← नवीनतम पेपर
🤖 machine learning

On Efficient Scaling of GNNs via IO-Aware Layers Implementations

यह शोध पत्र तीन प्रमुख लेयर परिवारों—SpMM, रिडक्शन (reduction), और अटेंशन (attention)—के लिए I/O-जागरूक GPU कर्नल कार्यान्वयन प्रस्तावित करके ग्राफ न्यूरल नेटवर्क में मेमोरी एक्सेस बाधाओं को संबोधित करता है, जो मौजूदा फ्रेमवर्क की तुलना में विविध ग्राफ संरचनाओं में महत्वपूर्ण गति वृद्धि और मेमोरी कमी प्राप्त करते हैं।

मूल लेखक: Daria Fomina, Daniil Krasylnikov, Alexey Boykov, Andrey Dolgovyazov, Vyacheslav Zhdanovskiy, Fedor Velikonivtsev

प्रकाशित 2026-06-01
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Daria Fomina, Daniil Krasylnikov, Alexey Boykov, Andrey Dolgovyazov, Vyacheslav Zhdanovskiy, Fedor Velikonivtsev

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

बड़ी समस्या: कंप्यूटर के दिमाग में "ट्रैफिक जाम"

कल्पना कीजिए कि आप एक रोबोट को एक विशाल सोशल नेटवर्क (जैसे कि कौन किसे जानता है, इसका एक बड़ा नक्शा) समझना सिखाने की कोशिश कर रहे हैं। यह रोबोट एक प्रकार के AI का उपयोग करता है जिसे ग्राफ न्यूरल नेटवर्क (GNN) कहा जाता है।

एक सामान्य कंप्यूटर प्रोग्राम में, डेटा साफ और अनुमानित लाइनों में चलता है, जैसे हाईवे पर कारें। लेकिन एक सोशल नेटवर्क में, कनेक्शन बिखरे हुए होते हैं। एक व्यक्ति के 5 दोस्त हो सकते हैं, जबकि दूसरे के 50,000। जब रोबोट इस प्रक्रिया को करने की कोशिश करता है, तो उसे अपने दोस्तों के बारे में जानकारी प्राप्त करने के लिए कंप्यूटर की मेमोरी में इधर-उधर कूदना पड़ता है।

यह पेपर तर्क देता है कि वर्तमान सॉफ्टवेयर एक डिलीवरी ड्राइवर की तरह है जो बार-बार गोदाम के अनावश्यक चक्कर लगा रहा है। एक बार में सामान का पूरा डिब्बा उठाने के बजाय, ड्राइवर एक चीज़ उठाने के लिए वापस दौड़ता है, फिर दूसरी, फिर तीसरी। इससे कंप्यूटर की मेमोरी (विशेष रूप से हाई-बैंडविड्थ मेमोरी या HBM) में एक ट्रैफिक जाम लग जाता है। कंप्यूटर का प्रोसेसर गणित करने के लिए काफी तेज़ है, लेकिन वह सारा समय डेटा के आने के इंतज़ार में बिता देता है। इसे "मेमोरी-बाउंड" (memory-bound) कहा जाता है।

समाधान: "स्मार्ट डिलीवरी" रणनीति

लेखकों ने देखा कि ये AI लेयर्स कैसे काम करती हैं और पाया कि वे तीन मुख्य श्रेणियों में आती हैं। उन्होंने ट्रैफिक जाम को रोकने के लिए प्रत्येक श्रेणी के लिए विशेष, कस्टम "डिलीवरी रूट" (जिन्हें GPU कर्नल्स कहा जाता है) बनाए।

यहाँ तीन श्रेणियाँ और उनके समाधान दिए गए हैं:

1. "SpMM" लेयर्स (मानक मानचित्र पाठक)

  • यह क्या है: यह GNN के काम करने का सबसे सामान्य तरीका है। यह एक स्पार्स मैप (जहाँ अधिकांश स्थान आपस में जुड़े नहीं हैं) को डेटा की एक सूची के साथ गुणा करने जैसा है।
  • पुराना तरीका: सॉफ्टवेयर अक्सर हर बार मानचित्र को फिर से कैलकुलेट करता है, भले ही मानचित्र बदला न गया हो।
  • नया तरीका: लेखकों ने पाया कि मानचित्र और उसके "दर्पण छवि" (रिवर्स कैलकुलेशन के लिए) को कैशिंग (सहेजने) से बहुत बड़ा अंतर आता है। यह आपके डेस्क पर सबवे मैप की एक प्रिंटेड कॉपी रखने जैसा है, बजाय इसके कि हर बार किसी स्टेशन पर जाने के लिए स्टेशन एजेंट से नया मैप प्रिंट करने के लिए कहना पड़े।
  • परिणाम: उन्होंने पाया कि NVIDIA द्वारा प्रदान किए गए मानक, उच्च-गुणवत्ता वाले उपकरणों (cuSPARSE) का उपयोग करना, शून्य से जटिल कस्टम सॉफ्टवेयर बनाने की तुलना में अक्सर तेज़ होता है।

2. "रिडक्शन" लेयर्स (भीड़ गिनने वाले)

  • यह क्या है: ये लेयर्स पड़ोसियों के एक समूह को देखती हैं और एक एकल मान चुनती हैं, जैसे कि उनके बीच का "अधिकतम" (maximum) या "न्यूनतम" (minimum) मान ढूंढना।
  • समस्या: असल जिंदगी में, कुछ लोगों के हजारों दोस्त (इन्फ्लुएंसर्स) होते हैं, जबकि अधिकांश के बहुत कम। यदि आप इन्फ्लुएंसर के दोस्तों को गिनने के लिए एक कार्यकर्ता को सौंपते हैं, तो वह कार्यकर्ता काम से भर जाता है और पूरी टीम को धीमा कर देता है। इस बीच, सामान्य लोगों के दोस्तों को गिनने वाले कार्यकर्ता खाली बैठे रहते हैं।
  • नया तरीका: उन्होंने "डिग्री-अवेयर टाइलिंग" (Degree-Aware Tiling) पेश किया। एक निर्माण स्थल की कल्पना करें। पूरे काम को एक ही व्यक्ति को देने के बजाय, वे काम को विभाजित करते हैं।
    • "सामान्य" लोगों (कम डिग्री) के लिए, एक कार्यकर्ता इसे आसानी से संभाल लेता है।
    • "इन्फ्लुएंसर्स" (उच्च डिग्री) के लिए, वे दोस्तों की सूची को छोटे टुकड़ों में तोड़ देते हैं और एक साथ निपटने के लिए पूरी टीम को काम पर लगा देते हैं।
  • परिणाम: यह कार्यभार को पूरी तरह से संतुलित करता है। कुछ ग्राफ्स पर, इसने प्रक्रिया को 10 गुना तेज़ बना दिया।

3. "अटेंशन" लेयर्स (फोकस फिल्टर)

  • यह क्या है: ये फैंसी लेयर्स (जैसे ग्राफ ट्रांसफॉर्मर में) हैं जो यह तय करती हैं कि प्रत्येक पड़ोसी की कितनी बात सुननी है। वे हर कनेक्शन के लिए एक "स्कोर" की गणना करते हैं, उन्हें क्रमबद्ध करते हैं, और फिर उन्हें जोड़ देते हैं।
  • समस्या: पुराना तरीका यह था कि हर स्कोर को कागज के एक बड़े टुकड़े पर लिखना (मेमोरी में), और फिर गणित करने के लिए वापस जाकर उन्हें पढ़ना। एक विशाल नेटवर्क के लिए, यह कागज बहुत बड़ा होगा, जो कंप्यूटर की मेमोरी को भर देगा या उसे क्रैश होने या धीमा होने का कारण बनेगा।
  • नया तरीका: उन्होंने "फ्लैश-अटेंशन" (FlashAttention) से प्रेरित तकनीक का उपयोग किया। डेटा पढ़ते समय ही वे गणित को ऑन द फ्लाई (तुरंत) करते हैं। यह एक शेफ की तरह है जो सामग्री के हर स्वाद को नोटपैड पर लिखने और फिर बाद में मिलाने के बजाय, सॉस को चखता है और तुरंत उसमें मसाला एडजस्ट करता है।
  • परिणाम:
    • गति: कुछ मॉडल्स के लिए 8.5 गुना तेज़
    • मेमोरी: उन्होंने मेमोरी की आवश्यकता को 76 गुना तक कम कर दिया। इसका मतलब है कि आप बिना मेमोरी खत्म हुए उसी कंप्यूटर पर बहुत बड़े मॉडल चला सकते हैं।

"रीऑर्डरिंग" प्रयोग: क्या ताश के पत्तों को फिर से सजाने से मदद मिलती है?

लेखकों ने ग्राफ रीऑर्डरिंग (Graph Reordering) का भी परीक्षण किया। यह एक डिनर पार्टी में बैठने के चार्ट को फिर से व्यवस्थित करने जैसा है ताकि जो लोग आपस में बात करते हैं, वे पास-पास बैठ सकें। विचार यह है कि यदि पड़ोसी मेमोरी में करीब हैं, तो कंप्यूटर उनका डेटा तेज़ी से प्राप्त कर सकता है।

  • निष्कर्ष: यह काम पर निर्भर करता है।
    • यदि कंप्यूटर एक "गैदर" (gather) का काम कर रहा है (कई अलग-अलग पड़ोसियों से जानकारी लेना), तो सीटों को बदलना बहुत मदद करता है।
    • यदि कंप्यूटर एक "फीचर" (feature) का काम कर रहा है (एक व्यक्ति के गुणों को देखना), तो सीटों को बदलना ज्यादा मदद नहीं करता।
    • आश्चर्य: बहुत छोटे, स्पार्स नेटवर्क (जैसे शांत पड़ोस का सड़क मानचित्र) के लिए, रीऑर्डरिंग ने बिल्कुल भी मदद नहीं की क्योंकि "वर्किंग सेट" पहले से ही इतना छोटा था कि कंप्यूटर को कुछ भी रीऑर्डर करने की आवश्यकता नहीं थी।

निचोड़ (The Bottom Line)

यह पेपर एक नया प्रकार का AI नहीं बनाता है। इसके बजाय, यह एक मैकेनिक की तरह काम करता है जिसे एहसास होता है कि इंजन (AI मॉडल) ठीक है, लेकिन ईंधन की लाइनें (डेटा मूवमेंट) जाम हैं।

इनके द्वारा:

  1. मानचित्र को कैश करना ताकि आपको उसे बार-बार प्रिंट न करना पड़े।
  2. काम को विभाजित करना ताकि "इन्फ्लुएंसर्स" पूरी टीम को धीमा न कर दें।
  3. ऑन द फ्लाई गणना करना ताकि आप नोट्स के साथ अपनी मेमोरी न भरें।

...उन्होंने ग्राफ न्यूरल नेटवर्क को काफी तेज़ और मेमोरी के प्रति कम भूखा बना दिया। उन्होंने इन "टूल्स" को फ्री, ड्रॉप-इन रिप्लेसमेंट के रूप के रूप में जारी किया है, ताकि कोई भी अपना पूरा कोड दोबारा लिखे बिना इन स्पीडअप का उपयोग कर सके।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →