मशीन लर्निंग (एमएल) में हाल के विकास ने तेजी से बड़े मॉडलों को जन्म दिया है, जिनमें से कुछ के लिए सैकड़ों अरबों मापदंडों की आवश्यकता होती है। यद्यपि वे अधिक शक्तिशाली हैं, उन मॉडलों पर प्रशिक्षण और अनुमान के लिए महत्वपूर्ण कम्प्यूटेशनल संसाधनों की आवश्यकता होती है। उन्नत वितरित प्रशिक्षण पुस्तकालयों की उपलब्धता के बावजूद, प्रशिक्षण और अनुमान कार्यों के लिए सैकड़ों त्वरक (जीपीयू या उद्देश्य-निर्मित एमएल चिप्स जैसे) की आवश्यकता होना आम बात है। एडब्ल्यूएस ट्रेनियम और एडब्ल्यूएस इन्फेंटेंटिया), और इसलिए दसियों या सैकड़ों उदाहरण।
ऐसे वितरित वातावरण में, उदाहरणों और एमएल चिप्स दोनों की अवलोकन क्षमता मॉडल प्रदर्शन को ठीक करने और लागत अनुकूलन के लिए महत्वपूर्ण बन जाती है। मेट्रिक्स टीमों को कार्यभार व्यवहार को समझने और संसाधन आवंटन और उपयोग को अनुकूलित करने, विसंगतियों का निदान करने और समग्र बुनियादी ढांचे की दक्षता बढ़ाने की अनुमति देते हैं। डेटा वैज्ञानिकों के लिए, क्षमता नियोजन के लिए एमएल चिप्स का उपयोग और संतृप्ति भी प्रासंगिक है।
यह पोस्ट आपको इसके बारे में बताती है AWS इन्फेरेंटिया के लिए ओपन सोर्स ऑब्जर्वेबिलिटी पैटर्न, जो आपको दिखाता है कि उपयोग किए गए एमएल चिप्स के प्रदर्शन की निगरानी कैसे करें अमेज़ॅन इलास्टिक कुबेरनेट्स सेवा (अमेज़ॅन ईकेएस) क्लस्टर, डेटा प्लेन नोड्स पर आधारित है अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़ॅन EC2) प्रकार के उदाहरण सूचना1 और सूचना2.
पैटर्न का हिस्सा है एडब्ल्यूएस सीडीके ऑब्जर्वेबिलिटी एक्सेलेरेटर, अमेज़ॅन ईकेएस क्लस्टर के लिए अवलोकन क्षमता निर्धारित करने में मदद करने के लिए रायशुदा मॉड्यूल का एक सेट। एडब्ल्यूएस सीडीके ऑब्जर्वेबिलिटी एक्सेलेरेटर को पैटर्न के आसपास व्यवस्थित किया गया है, जो कई संसाधनों को तैनात करने के लिए पुन: प्रयोज्य इकाइयां हैं। पैटर्न उपकरणों का खुला स्रोत अवलोकन सेट अवलोकन के साथ अमेज़न प्रबंधित ग्राफाना डैशबोर्ड, ए ओपनटेलीमेट्री के लिए एडब्ल्यूएस डिस्ट्रो मेट्रिक्स एकत्र करने के लिए कलेक्टर, और प्रोमेथियस के लिए अमेज़न प्रबंधित सेवा उन्हें स्टोर करने के लिए।
समाधान अवलोकन
निम्नलिखित चित्र समाधान वास्तुकला को दर्शाता है।
यह समाधान एक अमेज़ॅन ईकेएस क्लस्टर को एक नोड समूह के साथ तैनात करता है जिसमें Inf1 उदाहरण शामिल हैं।
नोड समूह का AMI प्रकार है AL2_x86_64_GPU
, जो उपयोग करता है अमेज़ॅन ईकेएस ने त्वरित अमेज़ॅन लिनक्स एएमआई को अनुकूलित किया. मानक अमेज़ॅन ईकेएस-अनुकूलित एएमआई कॉन्फ़िगरेशन के अलावा, त्वरित एएमआई में शामिल हैं न्यूरॉनएक्स रनटाइम.
कुबेरनेट्स से एमएल चिप्स तक पहुंचने के लिए, पैटर्न तैनात करता है AWS न्यूरॉन डिवाइस प्लगइन.
प्रोमेथियस के लिए मेट्रिक्स अमेज़ॅन प्रबंधित सेवा के संपर्क में हैं neuron-monitor
DaemonSet, जो एक न्यूनतम कंटेनर को तैनात करता है न्यूरॉन उपकरण स्थापित. विशेष रूप से, neuron-monitor
डेमनसेट चलाता है neuron-monitor
कमांड को पाइप में डाल दिया गया neuron-monitor-prometheus.py
सहयोगी स्क्रिप्ट (दोनों कमांड कंटेनर का हिस्सा हैं):
कमांड निम्नलिखित घटकों का उपयोग करता है:
neuron-monitor
सिस्टम पर चल रहे न्यूरॉन अनुप्रयोगों से मेट्रिक्स और आँकड़े एकत्र करता है और एकत्रित डेटा को स्टडआउट में स्ट्रीम करता है JSON प्रारूपneuron-monitor-prometheus.py
JSON प्रारूप से टेलीमेट्री डेटा को प्रोमेथियस-संगत प्रारूप में मैप और प्रदर्शित करता है
अमेज़ॅन प्रबंधित ग्राफ़ाना में संबंधित डैशबोर्ड द्वारा डेटा की कल्पना की जाती है।
प्रोमेथियस और अमेज़ॅन प्रबंधित ग्राफाना के लिए अमेज़ॅन प्रबंधित सेवा के साथ मेट्रिक्स को इकट्ठा करने और विज़ुअलाइज़ करने के लिए बाकी सेटअप अन्य ओपन सोर्स आधारित पैटर्न में उपयोग किए जाने वाले समान है, जो इसमें शामिल हैं AWS Observability Accelerator for CDK
गिटहब भंडार।
.. पूर्वापेक्षाएँ
इस पोस्ट में दिए गए चरणों को पूरा करने के लिए आपको निम्नलिखित की आवश्यकता है:
पर्यावरण स्थापित करें
अपना परिवेश स्थापित करने के लिए निम्नलिखित चरणों को पूरा करें:
- एक टर्मिनल विंडो खोलें और निम्नलिखित कमांड चलाएँ:
- किसी भी मौजूदा अमेज़ॅन प्रबंधित ग्राफ़ाना कार्यक्षेत्र की कार्यस्थान आईडी पुनर्प्राप्त करें:
निम्नलिखित हमारा नमूना आउटपुट है:
- के मान निर्दिष्ट करें
id
औरendpoint
निम्नलिखित पर्यावरण चर के लिए:
COA_AMG_ENDPOINT_URL
शामिल करने की आवश्यकता है https://
.
- अमेज़ॅन प्रबंधित ग्राफ़ाना कार्यक्षेत्र से एक ग्राफ़ाना एपीआई कुंजी बनाएं:
- में एक रहस्य स्थापित करें एडब्ल्यूएस सिस्टम मैनेजर:
इस रहस्य को एक्सटर्नल सीक्रेट्स ऐड-ऑन द्वारा एक्सेस किया जाएगा और ईकेएस क्लस्टर में मूल कुबेरनेट्स रहस्य के रूप में उपलब्ध कराया जाएगा।
AWS CDK वातावरण को बूटस्ट्रैप करें
किसी भी AWS CDK परिनियोजन के लिए पहला चरण पर्यावरण को बूटस्ट्रैप करना है। आप इसका उपयोग करें cdk bootstrap
उस वातावरण में तैनाती करने के लिए AWS CDK द्वारा आवश्यक संसाधनों के साथ पर्यावरण (AWS खाते और AWS क्षेत्र का एक संयोजन) तैयार करने के लिए AWS CDK CLI में कमांड। प्रत्येक खाते और क्षेत्र संयोजन के लिए AWS CDK बूटस्ट्रैपिंग की आवश्यकता होती है, इसलिए यदि आपने पहले से ही किसी क्षेत्र में AWS CDK को बूटस्ट्रैप किया है, तो आपको बूटस्ट्रैपिंग प्रक्रिया को दोहराने की आवश्यकता नहीं है।
समाधान तैनात करें
समाधान तैनात करने के लिए निम्नलिखित चरणों को पूरा करें:
- क्लोन किया गया सीडीके-एडब्ल्यूएस-अवलोकन-त्वरक रिपॉजिटरी और निर्भरता पैकेज स्थापित करें। इस रिपॉजिटरी में टाइपस्क्रिप्ट में लिखा गया AWS CDK v2 कोड है।
ग्राफाना डैशबोर्ड JSON फ़ाइलों के लिए वास्तविक सेटिंग्स AWS CDK संदर्भ में निर्दिष्ट होने की उम्मीद है। आपको अपडेट करना होगा context
में cdk.json
फ़ाइल, वर्तमान निर्देशिका में स्थित है। डैशबोर्ड का स्थान इसके द्वारा निर्दिष्ट किया गया है fluxRepository.values.GRAFANA_NEURON_DASH_URL
पैरामीटर, और neuronNodeGroup
इंस्टेंस प्रकार, संख्या और सेट करने के लिए उपयोग किया जाता है अमेज़न इलास्टिक ब्लॉक स्टोर (अमेज़ॅन ईबीएस) आकार का उपयोग नोड्स के लिए किया जाता है।
- इसमें निम्नलिखित स्निपेट दर्ज करें
cdk.json
, बदल रहा हैcontext
:
आप Inf1 इंस्टेंस प्रकार को Inf2 से बदल सकते हैं और आवश्यकतानुसार आकार बदल सकते हैं। अपने चयनित क्षेत्र में उपलब्धता की जाँच करने के लिए, निम्न आदेश चलाएँ (संशोधन करें)। Values
जैसे आप स्वस्थ दिख रहे हैं):
- प्रोजेक्ट निर्भरताएँ स्थापित करें:
- ओपन सोर्स ऑब्जर्वेबिलिटी पैटर्न को तैनात करने के लिए निम्नलिखित कमांड चलाएँ:
समाधान को मान्य करें
समाधान को मान्य करने के लिए निम्नलिखित चरणों को पूरा करें:
- चलाएं
update-kubeconfig
आज्ञा। आपको पिछले कमांड के आउटपुट संदेश से कमांड प्राप्त करने में सक्षम होना चाहिए:
- आपके द्वारा बनाए गए संसाधनों को सत्यापित करें:
निम्नलिखित स्क्रीनशॉट हमारा नमूना आउटपुट दिखाता है।
- सुनिश्चित करें
neuron-device-plugin-daemonset
डेमनसेट चल रहा है:
निम्नलिखित हमारा अपेक्षित आउटपुट है:
- पुष्टि करें कि
neuron-monitor
डेमनसेट चल रहा है:
निम्नलिखित हमारा अपेक्षित आउटपुट है:
- यह सत्यापित करने के लिए कि न्यूरॉन डिवाइस और कोर दृश्यमान हैं, चलाएँ
neuron-ls
औरneuron-top
उदाहरण के लिए, आपके न्यूरॉन-मॉनिटर पॉड से कमांड (आप पॉड का नाम इसके आउटपुट से प्राप्त कर सकते हैं)kubectl get pods -A
):
निम्नलिखित स्क्रीनशॉट हमारा अपेक्षित आउटपुट दिखाता है।
निम्नलिखित स्क्रीनशॉट हमारा अपेक्षित आउटपुट दिखाता है।
ग्राफाना न्यूरॉन डैशबोर्ड का उपयोग करके डेटा विज़ुअलाइज़ करें
अपने अमेज़ॅन प्रबंधित ग्राफ़ाना कार्यक्षेत्र में लॉग इन करें और नेविगेट करें डैशबोर्ड पैनल. आपको नाम का एक डैशबोर्ड देखना चाहिए न्यूरॉन/मॉनिटर.
ग्राफाना डैशबोर्ड पर कुछ दिलचस्प मेट्रिक्स देखने के लिए, हम निम्नलिखित मैनिफ़ेस्ट लागू करते हैं:
यह एक नमूना कार्यभार है जो संकलित करता है टॉर्चविज़न ResNet50 मॉडल और टेलीमेट्री डेटा उत्पन्न करने के लिए एक लूप में दोहरावदार अनुमान चलाता है।
यह सत्यापित करने के लिए कि पॉड सफलतापूर्वक तैनात किया गया था, निम्नलिखित कोड चलाएँ:
आपको नाम का एक पॉड देखना चाहिए pytorch-inference-resnet50
.
कुछ मिनटों के बाद, अंदर देखते हुए न्यूरॉन/मॉनिटर डैशबोर्ड, आपको निम्नलिखित स्क्रीनशॉट के समान एकत्रित मेट्रिक्स देखना चाहिए।
ग्राफाना ऑपरेटर और फ्लक्स आपके डैशबोर्ड को Git के साथ सिंक्रोनाइज़ करने के लिए हमेशा एक साथ काम करते हैं। यदि आप गलती से अपने डैशबोर्ड हटा देते हैं, तो उन्हें स्वचालित रूप से पुन: प्रावधानित कर दिया जाएगा।
क्लीन अप
आप निम्न आदेश से संपूर्ण AWS CDK स्टैक को हटा सकते हैं:
निष्कर्ष
इस पोस्ट में, हमने आपको दिखाया कि EC2 Inf1 इंस्टेंसेस चलाने वाले डेटा प्लेन की विशेषता वाले EKS क्लस्टर में ओपन सोर्स टूलींग के साथ अवलोकनशीलता कैसे पेश की जाए। हमने डेटा प्लेन नोड्स के लिए अमेज़ॅन ईकेएस-अनुकूलित त्वरित एएमआई का चयन करके शुरुआत की, जिसमें न्यूरॉन कंटेनर रनटाइम शामिल है, जो एडब्ल्यूएस इनफेरेंटिया और ट्रेनियम न्यूरॉन उपकरणों तक पहुंच प्रदान करता है। फिर, न्यूरॉन कोर और उपकरणों को कुबेरनेट्स के सामने लाने के लिए, हमने न्यूरॉन डिवाइस प्लगइन तैनात किया। प्रोमेथियस-संगत प्रारूप में टेलीमेट्री डेटा का वास्तविक संग्रह और मानचित्रण किसके माध्यम से हासिल किया गया था neuron-monitor
और neuron-monitor-prometheus.py
. मेट्रिक्स प्रोमेथियस के लिए अमेज़ॅन प्रबंधित सेवा से प्राप्त किए गए थे और अमेज़ॅन प्रबंधित ग्राफाना के न्यूरॉन डैशबोर्ड पर प्रदर्शित किए गए थे।
हम अनुशंसा करते हैं कि आप इसमें अतिरिक्त अवलोकन पैटर्न का पता लगाएं सीडीके के लिए एडब्ल्यूएस ऑब्जर्वेबिलिटी एक्सेलेरेटर गिटहब रेपो। न्यूरॉन के बारे में अधिक जानने के लिए, देखें एडब्ल्यूएस न्यूरॉन दस्तावेज़ीकरण.
लेखक के बारे में
रिकार्डो फ्रेस्ची AWS में एक सीनियर सॉल्यूशंस आर्किटेक्ट हैं, जो एप्लिकेशन आधुनिकीकरण पर ध्यान केंद्रित करते हैं। वह साझेदारों और ग्राहकों के साथ मिलकर काम करता है ताकि उन्हें मौजूदा अनुप्रयोगों को फिर से तैयार करके और नए निर्माण करके एडब्ल्यूएस क्लाउड की यात्रा में उनके आईटी परिदृश्य को बदलने में मदद मिल सके।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोडेटा.नेटवर्क वर्टिकल जेनरेटिव एआई। स्वयं को शक्तिवान बनाएं। यहां पहुंचें।
- प्लेटोआईस्ट्रीम। Web3 इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- प्लेटोईएसजी. कार्बन, क्लीनटेक, ऊर्जा, पर्यावरण, सौर, कचरा प्रबंधन। यहां पहुंचें।
- प्लेटोहेल्थ। बायोटेक और क्लिनिकल परीक्षण इंटेलिजेंस। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/open-source-observability-for-aws-inferentia-nodes-within-amazon-eks-clusters/