व्यस्त जीपीयू: नमूनाकरण और पाइपलाइनिंग विधि बड़े ग्राफ प्लेटोब्लॉकचैन डेटा इंटेलिजेंस पर गहन सीखने को गति देती है। लंबवत खोज। ऐ।

व्यस्त जीपीयू: नमूनाकरण और पाइपलाइनिंग विधि बड़े ग्राफ़ पर गहन शिक्षण को गति देती है

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

अब, MIT और IBM रिसर्च के शोधकर्ताओं द्वारा विकसित SALIENT (SAmpling, sLIcing, और data movemeNT) नामक एक नई विधि, गणना में तीन प्रमुख बाधाओं को दूर करके प्रशिक्षण और अनुमान प्रदर्शन में सुधार करती है। यह बड़े डेटासेट पर जीएनएन के रनटाइम पर नाटकीय रूप से कटौती करता है, उदाहरण के लिए, 100 मिलियन नोड्स और 1 बिलियन किनारों के पैमाने पर होता है। इसके अलावा, टीम ने पाया कि जब कम्प्यूटेशनल पावर को एक से 16 ग्राफिकल प्रोसेसिंग यूनिट (जीपीयू) में जोड़ा जाता है तो तकनीक अच्छी तरह से स्केल करती है। यह काम मशीन लर्निंग एंड सिस्टम्स पर पांचवें सम्मेलन में प्रस्तुत किया गया था।

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

विशाल डेटासेट से, विशेषज्ञों का मतलब पूरे बिटकॉइन नेटवर्क जैसे पैमाने से है, जहां कुछ पैटर्न और डेटा संबंध रुझान या बेईमानी का संकेत दे सकते हैं। "ब्लॉकचैन पर लगभग एक बिलियन बिटकॉइन लेनदेन हैं, और अगर हम इस तरह के एक संयुक्त नेटवर्क के अंदर अवैध गतिविधियों की पहचान करना चाहते हैं, तो हम इस तरह के पैमाने के ग्राफ का सामना कर रहे हैं," सह-लेखक जी चेन, वरिष्ठ शोध वैज्ञानिक और प्रबंधक कहते हैं। आईबीएम रिसर्च और एमआईटी-आईबीएम वाटसन एआई लैब। "हम एक ऐसी प्रणाली का निर्माण करना चाहते हैं जो उस तरह के ग्राफ को संभालने में सक्षम हो और प्रसंस्करण को यथासंभव कुशल बनाने की अनुमति दे, क्योंकि हर दिन हम उत्पन्न होने वाले नए डेटा की गति को बनाए रखना चाहते हैं।"

कलेर और चेन के सह-लेखकों में जंप ट्रेडिंग के निकोलस स्टैथस एमईएनजी '21 शामिल हैं, जिन्होंने अपने स्नातक कार्य के हिस्से के रूप में सैलिएंट विकसित किया; पूर्व एमआईटी-आईबीएम वाटसन एआई लैब इंटर्न और एमआईटी स्नातक छात्र ऐनी ओयांग; MIT CSAIL पोस्टडॉक अलेक्जेंड्रोस-स्टावरोस इलियोपोलोस; MIT CSAIL के अनुसंधान वैज्ञानिक ताओ बी. शार्डल; और चार्ल्स ई. लीसरसन, एमआईटी में इलेक्ट्रिकल इंजीनियरिंग के एडविन सिबली वेबस्टर प्रोफेसर और एमआईटी-आईबीएम वाटसन एआई लैब के एक शोधकर्ता।     

इस समस्या के लिए, टीम ने अपनी पद्धति विकसित करने के लिए एक सिस्टम-उन्मुख दृष्टिकोण अपनाया: सेलिएंट, कलेर कहते हैं। ऐसा करने के लिए, शोधकर्ताओं ने उन घटकों को महत्वपूर्ण, बुनियादी अनुकूलन के रूप में लागू किया जो मौजूदा मशीन-लर्निंग फ्रेमवर्क में फिट होते हैं, जैसे कि PyTorch Geometric और डीप ग्राफ लाइब्रेरी (DGL), जो मशीन-लर्निंग मॉडल के निर्माण के लिए इंटरफेस हैं। स्टैथस का कहना है कि यह प्रक्रिया तेज़ कार बनाने के लिए इंजनों की अदला-बदली करने जैसी है। उनकी पद्धति को मौजूदा जीएनएन आर्किटेक्चर में फिट करने के लिए डिज़ाइन किया गया था, ताकि डोमेन विशेषज्ञ मॉडल प्रशिक्षण में तेजी लाने के लिए इस कार्य को अपने निर्दिष्ट क्षेत्रों में आसानी से लागू कर सकें और तेजी से अनुमान के दौरान अंतर्दृष्टि को छेड़ सकें। ट्रिक, टीम ने निर्धारित किया, सभी हार्डवेयर (सीपीयू, डेटा लिंक और जीपीयू) को हर समय व्यस्त रखना था: जबकि सीपीयू ग्राफ का नमूना लेता है और डेटा के मिनी-बैच तैयार करता है जिसे डेटा लिंक के माध्यम से स्थानांतरित किया जाएगा। , मशीन-लर्निंग मॉडल को प्रशिक्षित करने या अनुमान लगाने के लिए अधिक महत्वपूर्ण GPU काम कर रहा है। 

शोधकर्ताओं ने GNNs (PyTorch Geometric) के लिए आमतौर पर उपयोग की जाने वाली मशीन-लर्निंग लाइब्रेरी के प्रदर्शन का विश्लेषण करके शुरुआत की, जिसमें उपलब्ध GPU संसाधनों का आश्चर्यजनक रूप से कम उपयोग दिखाया गया। सरल अनुकूलन लागू करते हुए, शोधकर्ताओं ने जीपीयू उपयोग में 10 से 30 प्रतिशत तक सुधार किया, जिसके परिणामस्वरूप सार्वजनिक बेंचमार्क कोड के सापेक्ष 1.4 से दो गुना प्रदर्शन सुधार हुआ। यह तेज़ बेसलाइन कोड 50.4 सेकंड में एल्गोरिथम (एक युग) के माध्यम से एक बड़े प्रशिक्षण डेटासेट पर एक पूर्ण पास निष्पादित कर सकता है।                          

आगे के प्रदर्शन में सुधार की मांग करते हुए, शोधकर्ताओं ने डेटा पाइपलाइन की शुरुआत में आने वाली बाधाओं की जांच करने के लिए तैयार किया: ग्राफ नमूनाकरण और मिनी-बैच तैयारी के लिए एल्गोरिदम। अन्य तंत्रिका नेटवर्क के विपरीत, जीएनएन एक पड़ोस एकत्रीकरण ऑपरेशन करते हैं, जो ग्राफ़ में अन्य आस-पास के नोड्स में मौजूद जानकारी का उपयोग करके नोड के बारे में जानकारी की गणना करता है - उदाहरण के लिए, सोशल नेटवर्क ग्राफ़ में, उपयोगकर्ता के दोस्तों के दोस्तों से जानकारी। जैसे-जैसे जीएनएन में परतों की संख्या बढ़ती है, जानकारी के लिए नेटवर्क तक पहुंचने वाले नोड्स की संख्या विस्फोट हो सकती है, कंप्यूटर की सीमा से अधिक हो सकती है। नेबरहुड सैंपलिंग एल्गोरिदम इकट्ठा करने के लिए नोड्स के एक छोटे यादृच्छिक सबसेट का चयन करके मदद करते हैं; हालाँकि, शोधकर्ताओं ने पाया कि इसका वर्तमान कार्यान्वयन आधुनिक जीपीयू की प्रसंस्करण गति को बनाए रखने के लिए बहुत धीमा था। जवाब में, उन्होंने डेटा संरचनाओं, एल्गोरिथम ऑप्टिमाइज़ेशन और इसके आगे के मिश्रण की पहचान की, जिससे सैंपलिंग की गति में सुधार हुआ, अंततः सैंपलिंग ऑपरेशन में लगभग तीन गुना सुधार हुआ, प्रति युग रनटाइम 50.4 से 34.6 सेकंड तक ले गया। उन्होंने यह भी पाया कि नमूनाकरण, एक उचित दर पर, अनुमान के दौरान किया जा सकता है, समग्र ऊर्जा दक्षता और प्रदर्शन में सुधार, एक बिंदु जिसे साहित्य में अनदेखा किया गया था, टीम नोट करती है।      

पिछली प्रणालियों में, यह नमूनाकरण चरण एक बहु-प्रक्रिया दृष्टिकोण था, जो प्रक्रियाओं के बीच अतिरिक्त डेटा और अनावश्यक डेटा संचलन बनाता था। शोधकर्ताओं ने हल्के धागों के साथ एकल प्रक्रिया बनाकर अपनी प्रमुख पद्धति को और अधिक फुर्तीला बना दिया, जो सीपीयू पर डेटा को साझा मेमोरी में रखता था। इसके अलावा, SALIENT आधुनिक प्रोसेसर के कैश का लाभ उठाता है, स्टैथस कहते हैं, फ़ीचर स्लाइसिंग को समानांतर करता है, जो CPU कोर कैश की साझा मेमोरी के भीतर रुचि के नोड्स और उनके आसपास के पड़ोसियों और किनारों से प्रासंगिक जानकारी निकालता है। इसने फिर से समग्र प्रति-युग क्रम को 34.6 से घटाकर 27.8 सेकंड कर दिया।

शोधकर्ताओं द्वारा संबोधित अंतिम अड़चन एक प्रीफेचिंग चरण का उपयोग करके सीपीयू और जीपीयू के बीच मिनी-बैच डेटा ट्रांसफर को पाइपलाइन करना था, जो डेटा को जरूरत से ठीक पहले तैयार करेगा। टीम ने गणना की कि यह डेटा लिंक में बैंडविड्थ उपयोग को अधिकतम करेगा और विधि को पूर्ण उपयोग तक लाएगा; हालाँकि, उन्होंने केवल लगभग 90 प्रतिशत देखा। उन्होंने एक लोकप्रिय PyTorch लाइब्रेरी में एक प्रदर्शन बग की पहचान की और उसे ठीक किया जो CPU और GPU के बीच अनावश्यक राउंड-ट्रिप संचार का कारण बना। इस बग को ठीक करने के साथ, टीम ने SALIENT के साथ 16.5 सेकंड प्रति युग रनटाइम हासिल किया।

"हमारे काम ने दिखाया, मुझे लगता है कि शैतान विवरण में है," कलेर कहते हैं। "जब आप ग्राफ़ न्यूरल नेटवर्क को प्रशिक्षित करते समय प्रदर्शन को प्रभावित करने वाले विवरणों पर पूरा ध्यान देते हैं, तो आप बड़ी संख्या में प्रदर्शन समस्याओं को हल कर सकते हैं। हमारे समाधानों के साथ, हम GPU संगणना द्वारा पूरी तरह से अड़चन बन गए, जो इस तरह की प्रणाली का आदर्श लक्ष्य है।

SALIENT की गति का मूल्यांकन तीन मानक डेटासेट ogbn-arxiv, ogbn-products, और ogbn-papers100M के साथ-साथ मल्टी-मशीन सेटिंग्स में फैनआउट के विभिन्न स्तरों (डेटा की मात्रा जो CPU GPU के लिए तैयार करेगा) के साथ किया गया था, और सबसे हालिया अत्याधुनिक, ग्राफसेज-आरआई सहित कई आर्किटेक्चर में। प्रत्येक सेटिंग में, SALIENT ने PyTorch Geometric से बेहतर प्रदर्शन किया, विशेष रूप से बड़े ogbn-papers100M डेटासेट पर, जिसमें 100 मिलियन नोड और एक बिलियन से अधिक किनारे थे। इस काम; 16 GPU के साथ, SALIENT आठ गुना अधिक तेज था। 

जबकि अन्य प्रणालियों में थोड़ा अलग हार्डवेयर और प्रायोगिक सेटअप थे, इसलिए यह हमेशा एक सीधी तुलना नहीं थी, फिर भी SALIENT ने उनसे बेहतर प्रदर्शन किया। समान सटीकता हासिल करने वाली प्रणालियों में, प्रतिनिधि प्रदर्शन संख्या में एक GPU और 99 CPU का उपयोग करके 32 सेकंड और 13 CPU का उपयोग करके 1,536 सेकंड शामिल हैं। इसके विपरीत, एक GPU और 20 CPU का उपयोग करने वाले SALIENT का रनटाइम 16.5 सेकंड था और 16 GPU और 320 CPU के साथ केवल दो सेकंड था। कलेर कहते हैं, "यदि आप निचले-पंक्ति संख्याओं को देखते हैं जो पूर्व कार्य रिपोर्ट करते हैं, तो हमारा 16 जीपीयू रनटाइम (दो सेकंड) अन्य संख्याओं की तुलना में तीव्रता का एक क्रम है जो इस डेटासेट पर पहले रिपोर्ट किया गया है।" शोधकर्ताओं ने वितरित सेटिंग में जाने से पहले एक मशीन के लिए अपने कोड को अनुकूलित करने के अपने दृष्टिकोण के लिए, उनके प्रदर्शन में सुधार को जिम्मेदार ठहराया। स्टैथस का कहना है कि यहां सबक यह है कि आपके पैसे के लिए, "इससे पहले कि आप कई कंप्यूटरों को स्केल करना शुरू करें, आपके पास मौजूद हार्डवेयर का कुशलतापूर्वक और इसके चरम पर उपयोग करने के लिए यह अधिक समझ में आता है," जो लागत और कार्बन उत्सर्जन पर महत्वपूर्ण बचत प्रदान कर सकता है। जो मॉडल प्रशिक्षण के साथ आ सकता है।

यह नई क्षमता अब शोधकर्ताओं को बड़े और बड़े ग्राफों से निपटने और गहराई से खुदाई करने की अनुमति देगी। उदाहरण के लिए, पहले बताए गए बिटकॉइन नेटवर्क में 100,000 नोड थे; SALIENT सिस्टम 1,000 गुना (या परिमाण के तीन आदेश) बड़े ग्राफ को सक्षम रूप से संभाल सकता है।

"भविष्य में, हम न केवल मौजूदा एल्गोरिदम पर इस ग्राफ तंत्रिका नेटवर्क प्रशिक्षण प्रणाली को चलाने पर विचार करेंगे, जिसे हमने प्रत्येक नोड के गुणों को वर्गीकृत या भविष्यवाणी करने के लिए लागू किया है, लेकिन हम और अधिक गहन कार्य भी करना चाहते हैं, जैसे कि एक ग्राफ (सबग्राफ पैटर्न) में सामान्य पैटर्न की पहचान करना, [जो] वित्तीय अपराधों को इंगित करने के लिए वास्तव में दिलचस्प हो सकता है," चेन कहते हैं। "हम एक ग्राफ़ में नोड्स की पहचान करना चाहते हैं जो इस अर्थ में समान हैं कि वे संभवतः वित्तीय अपराध में एक ही बुरे अभिनेता के अनुरूप होंगे। इन कार्यों के लिए अतिरिक्त एल्गोरिदम विकसित करने की आवश्यकता होगी, और संभवतः न्यूरल नेटवर्क आर्किटेक्चर भी।"

इस शोध को एमआईटी-आईबीएम वाटसन एआई लैब और आंशिक रूप से यूएस एयर फोर्स रिसर्च लेबोरेटरी और यूएस एयर फोर्स आर्टिफिशियल इंटेलिजेंस एक्सेलेरेटर द्वारा समर्थित किया गया था।

समय टिकट:

से अधिक ब्लॉकचेन कंसल्टेंट्स