एक श्रृंखला उतनी ही मजबूत होती है जितनी उसकी सबसे कमजोर कड़ी - और आपका एआई/एमएल बुनियादी ढांचा आपके सबसे धीमे घटक जितना ही तेज़ होता है। यदि आप मशीन लर्निंग मॉडल को जीपीयू के साथ प्रशिक्षित करते हैं, तो आपका कमजोर लिंक आपका स्टोरेज समाधान हो सकता है। परिणाम को मैं "भूख से मरना जीपीयू समस्या" कहता हूं। भूखे रहने वाली जीपीयू समस्या तब होती है जब आपका नेटवर्क या आपका स्टोरेज समाधान आपके जीपीयू का पूरी तरह से उपयोग करने के लिए आपके प्रशिक्षण तर्क को प्रशिक्षण डेटा इतनी तेजी से प्रदान नहीं कर पाता है। लक्षण बिल्कुल स्पष्ट हैं. यदि आप अपने जीपीयू की निगरानी कर रहे हैं, तो आप देखेंगे कि वे कभी भी पूरी तरह से उपयोग किए जाने के करीब नहीं पहुंचते हैं। यदि आपने अपना प्रशिक्षण कोड लिख लिया है, तो आप देखेंगे कि कुल प्रशिक्षण समय में आईओ का प्रभुत्व है।
दुर्भाग्य से, जो लोग इस समस्या से जूझ रहे हैं उनके लिए बुरी खबर है। आइए यह समझने के लिए जीपीयू के साथ की जा रही कुछ प्रगति पर नजर डालें कि आने वाले वर्षों में यह समस्या कैसे बदतर होती जा रही है।
जीपीयू तेज़ होते जा रहे हैं. न केवल कच्चा प्रदर्शन बेहतर हो रहा है, बल्कि मेमोरी और बैंडविड्थ भी बढ़ रही है। आइए एनवीडिया के नवीनतम जीपीयू की इन तीन विशेषताओं पर एक नज़र डालें
जीपीयू | प्रदर्शन | याद | मेमोरी बैंडविड्थ |
---|---|---|---|
ए100 | 624 टीएफएलओपीएस | 40 जीबी | 1,555GB/s |
एच100 | 1,979 टीएफएलओपीएस | 80 जीबी | 3.35TB/s |
एच200 | 1,979 टीएफएलओपीएस | 141जीबी | 4.8TB/s |
उपरोक्त तालिका उन आँकड़ों का उपयोग करती है जो A100 के लिए PCIe (पेरिफेरल कंपोनेंट इंटरकनेक्ट एक्सप्रेस) सॉकेट समाधान और H100 और H200 के लिए SXM (सर्वर PCI एक्सप्रेस मॉड्यूल) सॉकेट समाधान के साथ संरेखित होते हैं। A100 के लिए SXM आँकड़े मौजूद नहीं हैं। प्रदर्शन के संबंध में, तुलना के लिए फ़्लोटिंग पॉइंट 16 टेन्सर कोर सांख्यिकी का उपयोग किया जाता है।
उपरोक्त आँकड़ों पर कुछ टिप्पणियाँ ध्यान देने योग्य हैं। सबसे पहले, H100 और H200 का प्रदर्शन समान है (1,979 TFLOPS), जो A100 से 3.17 गुना अधिक है। H100 में A100 की तुलना में दोगुनी मेमोरी है और मेमोरी बैंडविड्थ में भी उतनी ही मात्रा में वृद्धि हुई है - जो समझ में आता है अन्यथा, GPU स्वयं भूखा रह जाएगा। H200 एक विशाल 141GB मेमोरी को संभाल सकता है और इसकी मेमोरी बैंडविड्थ भी अन्य GPU के संबंध में आनुपातिक रूप से बढ़ी है।
आइए इनमें से प्रत्येक आँकड़े को अधिक विस्तार से देखें और चर्चा करें कि मशीन लर्निंग का क्या अर्थ है।
प्रदर्शन - एक टेराफ्लॉप (टीएफएलओपी) प्रति सेकंड एक ट्रिलियन (10^12) फ्लोटिंग-पॉइंट ऑपरेशन है। वह 1 है जिसके बाद 12 शून्य हैं (1,000,000,000,000)। टीएफएलओपी को गीगाबाइट में आईओ मांग के बराबर करना कठिन है क्योंकि मॉडल प्रशिक्षण के दौरान होने वाले फ्लोटिंग पॉइंट ऑपरेशंस में सरल टेंसर गणित के साथ-साथ हानि फ़ंक्शन (उर्फ ग्रेडिएंट्स) के खिलाफ पहले व्युत्पन्न शामिल होते हैं। हालाँकि, सापेक्ष तुलनाएँ संभव हैं। उपरोक्त आँकड़ों को देखते हुए, हम देखते हैं कि H100 और H200, जो दोनों 1,979 TFLOPS पर प्रदर्शन करते हैं, 3 गुना तेज हैं - यदि बाकी सब कुछ जारी रह सके तो संभावित रूप से डेटा की खपत 3 गुना तेज हो सकती है।
जीपीयू मेमोरी - इसे वीडियो रैम या ग्राफ़िक्स रैम के रूप में भी जाना जाता है। जीपीयू मेमोरी सिस्टम की मुख्य मेमोरी (रैम) से अलग है और विशेष रूप से ग्राफिक्स कार्ड द्वारा निष्पादित गहन ग्राफिकल प्रोसेसिंग कार्यों को संभालने के लिए डिज़ाइन की गई है। मॉडलों को प्रशिक्षित करते समय GPU मेमोरी बैच आकार निर्धारित करती है। अतीत में प्रशिक्षण तर्क को सीपीयू से जीपीयू में ले जाने पर बैच का आकार कम हो जाता था। हालाँकि, जैसे-जैसे GPU मेमोरी क्षमता के मामले में CPU मेमोरी के बराबर आती जाएगी, GPU प्रशिक्षण के लिए उपयोग किए जाने वाले बैच का आकार बढ़ जाएगा। जब प्रदर्शन और मेमोरी क्षमता एक ही समय में बढ़ती है, तो परिणाम बड़े अनुरोध होते हैं जहां प्रत्येक गीगाबाइट प्रशिक्षण डेटा तेजी से संसाधित हो रहा है।
मेमोरी बैंडविड्थ - जीपीयू मेमोरी बैंडविड्थ को "हाईवे" के रूप में सोचें जो मेमोरी और कंप्यूटेशन कोर को जोड़ता है। यह निर्धारित करता है कि प्रति यूनिट समय में कितना डेटा स्थानांतरित किया जा सकता है। जिस तरह एक चौड़ा राजमार्ग एक निश्चित समय में अधिक कारों को गुजरने की अनुमति देता है, उसी तरह एक उच्च मेमोरी बैंडविड्थ मेमोरी और जीपीयू के बीच अधिक डेटा ले जाने की अनुमति देता है। जैसा कि आप देख सकते हैं, इन जीपीयू के डिजाइनरों ने प्रत्येक नए संस्करण के लिए मेमोरी के अनुपात में मेमोरी बैंडविड्थ बढ़ा दी; इसलिए, चिप की आंतरिक डेटा बस बाधा नहीं होगी।
अगस्त 2023 में, एनवीडिया
जबकि ग्रेस हॉपर सुपरचिप की सभी विशिष्टताएँ पिछले चिप्स की तुलना में सुधार का प्रतिनिधित्व करती हैं, एआई/एमएल इंजीनियरों के लिए सबसे महत्वपूर्ण नवाचार इसकी एकीकृत मेमोरी है। ग्रेस हॉपर GPU को CPU की मेमोरी तक पूर्ण पहुंच प्रदान करता है। यह महत्वपूर्ण है क्योंकि, अतीत में, प्रशिक्षण के लिए जीपीयू का उपयोग करने के इच्छुक इंजीनियरों को पहले डेटा को सिस्टम मेमोरी में खींचना पड़ता था और फिर वहां से डेटा को जीपीयू मेमोरी में ले जाना पड़ता था। ग्रेस हॉपर जीपीयू में डेटा प्राप्त करने के लिए बाउंस बफर के रूप में सीपीयू की मेमोरी का उपयोग करने की आवश्यकता को समाप्त करता है।
कुछ प्रमुख जीपीयू आँकड़ों के साथ-साथ ग्रेस हॉपर की क्षमताओं की सरल तुलना, जीपीयू को अपग्रेड करने और यह सुनिश्चित करने के लिए जिम्मेदार किसी भी व्यक्ति के लिए थोड़ा डरावना हो गया है कि बाकी सब कुछ जारी रह सकता है। इन GPU सुधारों को बनाए रखने के लिए एक भंडारण समाधान को तीव्र गति से डेटा प्रदान करने की आवश्यकता होगी। आइए भूखे GPU समस्या का एक सामान्य समाधान देखें।
इस समस्या का एक सामान्य और स्पष्ट समाधान है जिसके लिए संगठनों को अपने मौजूदा भंडारण समाधान को बदलने या अपग्रेड करने की आवश्यकता नहीं है। आप अपने मौजूदा भंडारण समाधान को बरकरार रख सकते हैं ताकि आप अपने संगठन के लिए आवश्यक सभी उद्यम सुविधाओं का लाभ उठा सकें। यह भंडारण समाधान संभवतः एक डेटा लेक है जो आपके संगठन के सभी असंरचित डेटा को रखता है - इसलिए, यह काफी बड़ा हो सकता है, और स्वामित्व की कुल लागत एक विचारणीय है। इसमें अतिरेक, विश्वसनीयता और सुरक्षा के लिए बहुत सारी सुविधाएँ सक्षम हैं, जो सभी प्रदर्शन पर प्रभाव डालती हैं।
हालाँकि, जो किया जा सकता है, वह एक भंडारण समाधान स्थापित करना है जो आपके कंप्यूट इंफ्रास्ट्रक्चर के समान डेटा सेंटर में हो - आदर्श रूप से, यह आपके कंप्यूट के समान क्लस्टर में होगा। सुनिश्चित करें कि आपके पास उपलब्ध सर्वोत्तम स्टोरेज डिवाइस के साथ हाई-स्पीड नेटवर्क है। वहां से, केवल एमएल प्रशिक्षण के लिए आवश्यक डेटा कॉपी करें।
Amazon ने हाल ही में घोषणा की है
ऊपर उल्लिखित सामान्य समाधान के लिए AWS को बढ़ी हुई लागत पर विशेष बकेट की पेशकश करके अपने S3 भंडारण समाधान को अनुकूलित करने की आवश्यकता थी। इसके अतिरिक्त, कुछ संगठन (जो मिनिओ ग्राहक नहीं हैं) विशेष भंडारण समाधान खरीद रहे हैं जो ऊपर वर्णित सरल चीजें करते हैं। दुर्भाग्य से, यह मौजूदा बुनियादी ढांचे में जटिलता जोड़ता है क्योंकि अपेक्षाकृत सरल समस्या को हल करने के लिए एक नए उत्पाद की आवश्यकता होती है।
इस सब में विडंबना यह है कि मिनियो ग्राहकों के पास हमेशा यह विकल्प होता है। आप एनवीएमई ड्राइव के साथ हाई-स्पीड नेटवर्क पर मिनियो की नई स्थापना के साथ वही कर सकते हैं जो मैंने ऊपर वर्णित किया है। मिनिओ एक सॉफ्टवेयर-परिभाषित भंडारण समाधान है - एक ही उत्पाद विभिन्न भंडारण उपकरणों का उपयोग करके नंगे धातु या आपकी पसंद के क्लस्टर पर चलता है। यदि आपका कॉर्पोरेट डेटा लेक एचडीडी के साथ नंगे धातु पर मिनियो का उपयोग करता है और यह आपके सभी गैर-एमएल डेटा के लिए ठीक काम कर रहा है - तो इसे बदलने का कोई कारण नहीं है। हालाँकि, यदि एमएल के लिए उपयोग किए जाने वाले डेटासेट को तेज़ IO की आवश्यकता होती है क्योंकि आप GPU का उपयोग कर रहे हैं, तो इस पोस्ट में मेरे द्वारा बताए गए दृष्टिकोण पर विचार करें। मिनिओ के अपने हाई-स्पीड इंस्टेंस में उपयोग के लिए अपने एमएल डेटा की एक प्रति बनाना सुनिश्चित करें - मिनिओ की कठोर स्थापना में एक सोने की प्रतिलिपि हमेशा मौजूद होनी चाहिए। यह आपको मिनिआईओ के अपने हाई-स्पीड इंस्टेंस में प्रतिकृति और एन्क्रिप्शन जैसी सुविधाओं को बंद करने की अनुमति देगा, जिससे प्रदर्शन में और वृद्धि होगी। मिनियो का उपयोग करके डेटा कॉपी करना आसान है
मिनिआईओ आपके भूखे जीपीयू को खिलाने के लिए आवश्यक प्रदर्शन करने में सक्षम है - ए
डाउनलोड करना
यहाँ भी दिखाई देता है.