संगठन विभिन्न प्रकार के उपयोग के मामलों और समस्याओं के लिए मशीन लर्निंग (एमएल)-संचालित समाधानों का निर्माण और उपयोग कर रहे हैं, जिसमें मशीन के पुर्जों का भविष्य कहनेवाला रखरखाव, ग्राहक की प्राथमिकताओं के आधार पर उत्पाद की सिफारिशें, क्रेडिट प्रोफाइलिंग, सामग्री मॉडरेशन, धोखाधड़ी का पता लगाना, और बहुत कुछ शामिल हैं। इनमें से कई परिदृश्यों में, इन एमएल-संचालित समाधानों से प्राप्त प्रभावशीलता और लाभों को और बढ़ाया जा सकता है जब वे निकट-वास्तविक समय में डेटा घटनाओं से अंतर्दृष्टि प्राप्त कर सकते हैं और प्राप्त कर सकते हैं।
यद्यपि व्यावसायिक मूल्य और निकट-वास्तविक समय एमएल-संचालित समाधानों के लाभ अच्छी तरह से स्थापित हैं, इन समाधानों को इष्टतम विश्वसनीयता और प्रदर्शन के साथ बड़े पैमाने पर लागू करने के लिए आवश्यक वास्तुकला जटिल है। यह पोस्ट बताती है कि आप कैसे गठबंधन कर सकते हैं अमेज़ॅन किनिस, एडब्ल्यूएस गोंद, तथा अमेज़न SageMaker भविष्य कहनेवाला रखरखाव के लिए एक निकट-वास्तविक समय सुविधा इंजीनियरिंग और अनुमान समाधान का निर्माण करने के लिए।
केस अवलोकन का उपयोग करें
हम भविष्य कहनेवाला रखरखाव उपयोग के मामले पर ध्यान केंद्रित करते हैं जहां क्षेत्र में तैनात सेंसर (जैसे औद्योगिक उपकरण या नेटवर्क उपकरण) को दोषपूर्ण होने और डाउनटाइम का कारण बनने से पहले उन्हें बदलने या सुधारने की आवश्यकता होती है। डाउनटाइम व्यवसायों के लिए महंगा हो सकता है और खराब ग्राहक अनुभव का कारण बन सकता है। एक एमएल मॉडल द्वारा संचालित भविष्य कहनेवाला रखरखाव भी नियमित शेड्यूल-आधारित रखरखाव चक्रों को बढ़ाने में मदद कर सकता है, जब यह सूचित किया जाता है कि मशीन के हिस्से को अच्छी स्थिति में नहीं बदला जाना चाहिए, इसलिए अनावश्यक लागत से बचना चाहिए।
इस पोस्ट में, हम हवा के तापमान, प्रक्रिया तापमान, रोटेशन की गति, टॉर्क और टूल वियर जैसी सुविधाओं के कारण मशीन की विफलता वाले सिंथेटिक डेटासेट में मशीन लर्निंग को लागू करने पर ध्यान केंद्रित करते हैं। उपयोग किया गया डेटासेट से प्राप्त किया गया है यूसीआई डेटा रिपोजिटरी.
मशीन की विफलता में पांच स्वतंत्र विफलता मोड होते हैं:
- टूल वियर फेल्योर (TWF)
- गर्मी अपव्यय विफलता (एचडीएफ)
- बिजली की विफलता (पीडब्ल्यूएफ)
- ओवर-स्ट्रेन विफलता (ओएसएफ)
- यादृच्छिक विफलता (आरएनएफ)
मशीन विफलता लेबल इंगित करता है कि क्या मशीन किसी विशेष डेटा बिंदु के लिए विफल हो गई है यदि पूर्ववर्ती विफलता मोड में से कोई भी सत्य है। यदि विफलता मोड में से कम से कम एक सही है, तो प्रक्रिया विफल हो जाती है और मशीन विफलता लेबल 1 पर सेट हो जाता है। एमएल मॉडल का उद्देश्य मशीन की विफलताओं को सही ढंग से पहचानना है, इसलिए डाउनस्ट्रीम भविष्य कहनेवाला रखरखाव कार्रवाई शुरू की जा सकती है।
समाधान अवलोकन
हमारे भविष्य कहनेवाला रखरखाव उपयोग मामले के लिए, हम मानते हैं कि डिवाइस सेंसर मशीन भागों के बारे में विभिन्न मापों और रीडिंग को स्ट्रीम करते हैं। हमारा समाधान तब हर बार (माइक्रो-बैच) स्ट्रीमिंग डेटा का एक टुकड़ा लेता है, और सुविधाओं को बनाने के लिए प्रसंस्करण और फीचर इंजीनियरिंग करता है। तब बनाई गई सुविधाओं का उपयोग प्रशिक्षित और तैनात एमएल मॉडल से निकट-वास्तविक समय में अनुमान उत्पन्न करने के लिए किया जाता है। उचित कार्रवाई करने और रखरखाव गतिविधि शुरू करने के लिए उत्पन्न अनुमानों को डाउनस्ट्रीम अनुप्रयोगों द्वारा आगे संसाधित और उपभोग किया जा सकता है।
निम्नलिखित आरेख हमारे समग्र समाधान की वास्तुकला को दर्शाता है।
समाधान में मोटे तौर पर निम्नलिखित खंड होते हैं, जिन्हें इस पोस्ट में बाद में विस्तार से समझाया गया है:
- स्ट्रीमिंग डेटा स्रोत और अंतर्ग्रहण - हम प्रयोग करते हैं अमेज़न Kinesis डेटा स्ट्रीम बड़े पैमाने पर फील्ड सेंसर से स्ट्रीमिंग डेटा एकत्र करना और इसे आगे की प्रक्रिया के लिए उपलब्ध कराना।
- नियर-रीयल-टाइम फीचर इंजीनियरिंग - हम किनेसिस डेटा स्ट्रीम से डेटा पढ़ने और डेटा प्रोसेसिंग और फीचर इंजीनियरिंग करने के लिए एडब्ल्यूएस ग्लू स्ट्रीमिंग जॉब का उपयोग करते हैं, व्युत्पन्न सुविधाओं को संग्रहीत करने से पहले अमेज़न सरल भंडारण सेवा (अमेज़ॅन एस 3)। Amazon S3 बड़ी मात्रा में डेटा स्टोर करने के लिए एक विश्वसनीय और लागत प्रभावी विकल्प प्रदान करता है।
- मॉडल प्रशिक्षण और परिनियोजन - हम SageMaker का उपयोग करके XGBoost एल्गोरिथम के आधार पर एक ML मॉडल को प्रशिक्षित करने के लिए UCI डेटा रिपॉजिटरी से AI4I प्रेडिक्टिव मेंटेनेंस डेटासेट का उपयोग करते हैं। फिर हम प्रशिक्षित मॉडल को सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट पर तैनात करते हैं।
- निकट-वास्तविक समय एमएल अनुमान - अमेज़ॅन एस 3 में सुविधाएं उपलब्ध होने के बाद, हमें वास्तविक समय में तैनात मॉडल से अनुमान उत्पन्न करने की आवश्यकता है। सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट इस आवश्यकता के लिए अच्छी तरह से अनुकूल हैं क्योंकि वे बड़े पेलोड आकार (1 जीबी तक) का समर्थन करते हैं और मिनटों के भीतर (अधिकतम 15 मिनट तक) अनुमान उत्पन्न कर सकते हैं। हम एक चलाने के लिए S3 घटना सूचनाओं का उपयोग करते हैं AWS लाम्बा एक सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट को लागू करने के लिए कार्य करता है। सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट्स इनपुट के रूप में S3 स्थानों को स्वीकार करते हैं, तैनात मॉडल से इंफरेंस उत्पन्न करते हैं, और इन इनफरेंस को लगभग वास्तविक समय में Amazon S3 पर वापस लिख देते हैं।
इस समाधान के लिए स्रोत कोड पर स्थित है GitHub. समाधान का परीक्षण किया गया है और इसे us-east-1 में चलाया जाना चाहिए।
हम एक का उपयोग करें एडब्ल्यूएस CloudFormation टेम्पलेट, का उपयोग कर तैनात किया गया AWS सर्वर रहित अनुप्रयोग मॉडल (एडब्ल्यूएस एसएएम), और सेजमेकर नोटबुक समाधान को परिनियोजित करने के लिए।
.. पूर्वापेक्षाएँ
आरंभ करने के लिए, एक पूर्वापेक्षा के रूप में, आपके पास होना चाहिए सैम क्लि, अजगर 3, तथा रंज स्थापित। आपके पास भी होना चाहिए AWS कमांड लाइन इंटरफ़ेस (एडब्ल्यूएस सीएलआई) ठीक से कॉन्फ़िगर किया गया।
समाधान तैनात करें
आप का उपयोग कर सकते हैं एडब्ल्यूएस क्लाउडशेल इन चरणों को चलाने के लिए। CloudShell एक ब्राउज़र-आधारित शेल है जो आपके कंसोल क्रेडेंशियल के साथ पूर्व-प्रमाणित है और इसमें पूर्व-स्थापित सामान्य विकास और संचालन उपकरण (जैसे AWS SAM, AWS CLI, और Python) शामिल हैं। इसलिए, कोई स्थानीय स्थापना या कॉन्फ़िगरेशन की आवश्यकता नहीं है।
- हम एक S3 बकेट बनाकर शुरू करते हैं जहां हम अपने AWS ग्लू स्ट्रीमिंग जॉब के लिए स्क्रिप्ट स्टोर करते हैं। एक नया बकेट बनाने के लिए अपने टर्मिनल में निम्न कमांड चलाएँ:
- बनाई गई बाल्टी का नाम नोट कर लें।
- इसके बाद, हम स्थानीय रूप से कोड रिपॉजिटरी को क्लोन करते हैं, जिसमें स्टैक को तैनात करने के लिए CloudFormation टेम्प्लेट होता है। अपने टर्मिनल में निम्न आदेश चलाएँ:
- सैम-टेम्पलेट निर्देशिका पर नेविगेट करें:
- आपके द्वारा बनाए गए S3 बकेट में AWS ग्लू जॉब स्क्रिप्ट (glu_streaming/app.py से) को कॉपी करने के लिए निम्न कमांड चलाएँ:
- अब आप AWS SAM के माध्यम से CloudFormation टेम्पलेट के माध्यम से समाधान के निर्माण और परिनियोजन के साथ आगे बढ़ सकते हैं। निम्न आदेश चलाएँ:
- परिनियोजन के लिए तर्क प्रदान करें जैसे कि स्टैक का नाम, पसंदीदा AWS क्षेत्र (
us-east-1
), औरGlueScriptsBucket
.
सुनिश्चित करें कि आप वही S3 बकेट प्रदान करते हैं जो आपने पहले AWS ग्लू स्क्रिप्ट S3 बकेट (पैरामीटर .) के लिए बनाया था GlueScriptsBucket
निम्नलिखित स्क्रीनशॉट में)।
आपके द्वारा आवश्यक तर्क प्रदान करने के बाद, AWS SAM स्टैक परिनियोजन प्रारंभ करता है। निम्न स्क्रीनशॉट बनाए गए संसाधनों को दिखाता है।
स्टैक सफलतापूर्वक तैनात होने के बाद, आपको निम्न संदेश देखना चाहिए।
- AWS CloudFormation कंसोल पर, स्टैक खोलें (इस पोस्ट के लिए,
nrt-streaming-inference
) जो CloudFormation टेम्पलेट को परिनियोजित करते समय प्रदान किया गया था। - पर उपयुक्त संसाधन चुनें टैब, सेजमेकर नोटबुक इंस्टेंस आईडी नोट करें।
- सेजमेकर कंसोल पर, इस इंस्टेंस को खोलें।
सेजमेकर नोटबुक इंस्टेंस में पहले से ही आवश्यक नोटबुक्स पहले से लोड हैं।
नोटबुक्स फ़ोल्डर में नेविगेट करें और नोटबुक्स के भीतर निर्देशों को खोलें और उनका पालन करें (Data_Pre-Processing.ipynb
और ModelTraining-Evaluation-and-Deployment.ipynb
) डेटासेट का पता लगाने, प्रीप्रोसेसिंग और फीचर इंजीनियरिंग करने के लिए, और मॉडल को सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट पर प्रशिक्षित और तैनात करने के लिए।
स्ट्रीमिंग डेटा स्रोत और अंतर्ग्रहण
Kinesis डेटा स्ट्रीम एक सर्वर रहित, स्केलेबल और टिकाऊ रीयल-टाइम डेटा स्ट्रीमिंग सेवा है जिसका उपयोग आप वास्तविक समय में डेटा रिकॉर्ड की बड़ी स्ट्रीम को एकत्रित और संसाधित करने के लिए कर सकते हैं। Kinesis डेटा स्ट्रीम विभिन्न स्रोतों से डेटा स्ट्रीम को कैप्चर करने, संसाधित करने और संग्रहीत करने में सक्षम बनाता है, जैसे कि IT इन्फ्रास्ट्रक्चर लॉग डेटा, एप्लिकेशन लॉग, सोशल मीडिया, मार्केट डेटा फीड, वेब क्लिकस्ट्रीम डेटा, IoT डिवाइस और सेंसर, और बहुत कुछ। आप थ्रूपुट और स्केलिंग आवश्यकताओं के आधार पर ऑन-डिमांड मोड या प्रोविज़न मोड में एक किनेसिस डेटा स्ट्रीम का प्रावधान कर सकते हैं। अधिक जानकारी के लिए देखें डेटा स्ट्रीम क्षमता मोड चुनना.
हमारे उपयोग के मामले के लिए, हम मानते हैं कि विभिन्न सेंसर डेटा स्ट्रीम में तापमान, रोटेशन की गति, टोक़ और टूल वियर जैसे माप भेज रहे हैं। Kinesis डेटा स्ट्रीम डेटा स्ट्रीम एकत्र करने और निगलने के लिए फ़नल के रूप में कार्य करता है।
हम उपयोग अमेज़ॅन किनेसिस डेटा जेनरेटर (केडीजी) बाद में इस पोस्ट में सेंसर द्वारा उत्पन्न किए जा रहे डेटा का अनुकरण करते हुए, काइनिस डेटा स्ट्रीम में डेटा उत्पन्न करने और भेजने के लिए। डेटा स्ट्रीम सेंसर-डेटा-स्ट्रीम के डेटा को AWS ग्लू स्ट्रीमिंग जॉब का उपयोग करके अंतर्ग्रहण और संसाधित किया जाता है, जिसकी चर्चा हम आगे करते हैं।
नियर-रीयल-टाइम फ़ीचर इंजीनियरिंग
एडब्ल्यूएस गोंद स्ट्रीमिंग नौकरियां कंप्यूटिंग वातावरण को प्रबंधित करने की आवश्यकता के बिना, बड़े पैमाने पर स्ट्रीमिंग डेटा को संसाधित करने का एक सुविधाजनक तरीका प्रदान करें। AWS Glue आपको लगातार चलने वाली नौकरियों का उपयोग करके स्ट्रीमिंग डेटा पर एक्सट्रेक्ट, ट्रांसफ़ॉर्म और लोड (ETL) संचालन करने की अनुमति देता है। एडब्ल्यूएस ग्लू स्ट्रीमिंग ईटीएल अपाचे स्पार्क स्ट्रक्चर्ड स्ट्रीमिंग इंजन पर बनाया गया है, और किनेसिस, अपाचे काफ्का, और Apache Kafka के लिए Amazon प्रबंधित स्ट्रीमिंग (अमेज़ॅन एमएसके)।
स्ट्रीमिंग ईटीएल जॉब एडब्ल्यूएस ग्लू बिल्ट-इन ट्रांसफॉर्म और ट्रांसफॉर्म दोनों का उपयोग कर सकता है जो अपाचे स्पार्क स्ट्रक्चर्ड स्ट्रीमिंग के मूल हैं। आप स्पार्क एमएल का भी उपयोग कर सकते हैं और एमएलएलआईबी आसानी से उपलब्ध सहायक पुस्तकालयों का उपयोग करके आसान सुविधा प्रसंस्करण के लिए एडब्ल्यूएस गोंद नौकरियों में पुस्तकालय।
यदि स्ट्रीमिंग डेटा स्रोत का स्कीमा पूर्व-निर्धारित है, तो आप इसे AWS डेटा कैटलॉग तालिका में निर्दिष्ट कर सकते हैं। यदि स्कीमा परिभाषा पहले से निर्धारित नहीं की जा सकती है, तो आप स्ट्रीमिंग ईटीएल जॉब में स्कीमा डिटेक्शन को सक्षम कर सकते हैं। नौकरी तब आने वाले डेटा से स्कीमा को स्वचालित रूप से निर्धारित करती है। इसके अतिरिक्त, आप का उपयोग कर सकते हैं एडब्ल्यूएस गोंद स्कीमा रजिस्ट्री डेटा स्ट्रीम स्कीमा की केंद्रीय खोज, नियंत्रण और विकास की अनुमति देने के लिए। डेटा कैटलॉग में AWS ग्लू टेबल या विभाजन बनाते या अपडेट करते समय आप स्कीमा रजिस्ट्री को डेटा कैटलॉग के साथ वैकल्पिक रूप से स्कीमा रजिस्ट्री में संग्रहीत स्कीमा का उपयोग करने के लिए एकीकृत कर सकते हैं।
इस पोस्ट के लिए, हम एक AWS ग्लू डेटा कैटलॉग टेबल बनाते हैं (sensor-stream
) स्रोत के रूप में हमारे Kinesis डेटा स्ट्रीम के साथ और हमारे सेंसर डेटा के लिए स्कीमा को परिभाषित करें।
हम Kinesis से स्ट्रीमिंग डेटा को पढ़ने के लिए डेटा कैटलॉग तालिका से AWS Glue डायनामिक डेटाफ़्रेम बनाते हैं। हम निम्नलिखित विकल्प भी निर्दिष्ट करते हैं:
- 60 सेकंड का एक विंडो आकार, ताकि AWS ग्लू जॉब 60-सेकंड की विंडो में डेटा को पढ़ और संसाधित कर सके
- प्रारंभिक स्थिति
TRIM_HORIZON
, Kinesis डेटा स्ट्रीम में सबसे पुराने रिकॉर्ड से पढ़ने की अनुमति देने के लिए
हम स्पार्क एमएललिब का भी उपयोग करते हैं स्ट्रिंग इंडेक्सर स्ट्रिंग कॉलम प्रकार को लेबल इंडेक्स में एन्कोड करने के लिए फीचर ट्रांसफॉर्मर। यह परिवर्तन स्पार्क एमएल पाइपलाइनों का उपयोग करके कार्यान्वित किया जाता है। स्पार्क एमएल पाइपलाइन एमएल एल्गोरिदम के लिए उच्च-स्तरीय एपीआई का एक समान सेट प्रदान करें ताकि एकाधिक एल्गोरिदम को एक पाइपलाइन या वर्कफ़्लो में जोड़ना आसान हो सके।
हम प्रोसेसबैच नामक फ़ंक्शन को लागू करने के लिए foreachBatch API का उपयोग करते हैं, जो बदले में इस डेटाफ़्रेम द्वारा संदर्भित डेटा को संसाधित करता है। निम्नलिखित कोड देखें:
फ़ंक्शन प्रोसेसबैच वर्ष, महीने, दिन और बैच आईडी के आधार पर अमेज़ॅन एस 3 में निर्दिष्ट परिवर्तन और डेटा को विभाजित करता है।
Amazon S3 में बहुत अधिक छोटी फ़ाइलें होने से बचने के लिए, हम AWS ग्लू विभाजन को एक एकल विभाजन में पुनः विभाजित करते हैं। कई छोटी फाइलें पढ़ने के प्रदर्शन को बाधित कर सकती हैं, क्योंकि यह प्रत्येक फाइल को खोजने, खोलने और पढ़ने से संबंधित ओवरहेड को बढ़ाती है। हम अंत में S3 बकेट के भीतर एक उपसर्ग (सुविधाओं) में अनुमान उत्पन्न करने के लिए सुविधाएँ लिखते हैं। निम्नलिखित कोड देखें:
मॉडल प्रशिक्षण और तैनाती
सेजमेकर पूरी तरह से प्रबंधित और एकीकृत एमएल सेवा है जो डेटा वैज्ञानिकों और एमएल इंजीनियरों को एमएल मॉडल बनाने, प्रशिक्षित करने और तैनात करने में सक्षम बनाता है।
Data_Pre-Processing.ipynb नोटबुक के भीतर, हम पहले यूसीआई डेटा रिपोजिटरी से एआई4आई प्रेडिक्टिव मेंटेनेंस डेटासेट आयात करते हैं और खोजपूर्ण डेटा विश्लेषण (ईडीए) करते हैं। हम मॉडल के प्रशिक्षण के लिए अपनी सुविधाओं को और अधिक उपयोगी बनाने के लिए फीचर इंजीनियरिंग भी करते हैं।
उदाहरण के लिए, डेटासेट के भीतर, हमारे पास टाइप नाम की एक विशेषता है, जो उत्पाद के गुणवत्ता प्रकार को एल (निम्न), एम (मध्यम), या एच (उच्च) के रूप में दर्शाती है। चूंकि यह एक स्पष्ट विशेषता है, इसलिए हमें अपने मॉडल को प्रशिक्षित करने से पहले इसे एन्कोड करना होगा। हम इसे प्राप्त करने के लिए स्किकिट-लर्न के लेबलएनकोडर का उपयोग करते हैं:
सुविधाओं के संसाधित होने और क्यूरेटेड ट्रेन और परीक्षण डेटासेट उत्पन्न होने के बाद, हम यह अनुमान लगाने के लिए एक एमएल मॉडल को प्रशिक्षित करने के लिए तैयार हैं कि मशीन विफल हुई या नहीं, सिस्टम रीडिंग के आधार पर। हम SageMaker बिल्ट-इन एल्गोरिथम का उपयोग करके XGBoost मॉडल को प्रशिक्षित करते हैं। एक्सजीबूस्ट प्रशिक्षण नमूने सीमित होने पर भी वर्गीकरण सहित कई प्रकार की एमएल समस्याओं के लिए अच्छे परिणाम प्रदान कर सकते हैं।
सेजमेकर प्रशिक्षण नौकरियां सेजमेकर पर एमएल मॉडल को प्रशिक्षित करने के लिए एक शक्तिशाली और लचीला तरीका प्रदान करें। सेजमेकर अंतर्निहित कंप्यूट इंफ्रास्ट्रक्चर का प्रबंधन करता है और प्रदान करता है कई विकल्प उपयोग के मामले के आधार पर विविध मॉडल प्रशिक्षण आवश्यकताओं के लिए चुनने के लिए।
जब मॉडल प्रशिक्षण पूरा हो जाता है और व्यावसायिक आवश्यकताओं के आधार पर मॉडल मूल्यांकन संतोषजनक होता है, तो हम मॉडल परिनियोजन शुरू कर सकते हैं। हम पहले AsyncInferenceConfig ऑब्जेक्ट विकल्प के साथ एक एंडपॉइंट कॉन्फ़िगरेशन बनाते हैं और पहले प्रशिक्षित मॉडल का उपयोग करते हैं:
फिर हम अपने द्वारा बनाए गए एंडपॉइंट कॉन्फ़िगरेशन का उपयोग करके एक सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट बनाते हैं। इसके प्रावधान के बाद, हम अतुल्यकालिक रूप से निष्कर्ष उत्पन्न करने के लिए समापन बिंदु को लागू करना शुरू कर सकते हैं।
निकट-वास्तविक समय अनुमान
SageMaker अतुल्यकालिक अनुमान समापन बिंदु आने वाले अनुमान अनुरोधों को कतारबद्ध करने और उन्हें निकट-वास्तविक समय में अतुल्यकालिक रूप से संसाधित करने की क्षमता प्रदान करते हैं। यह उन अनुप्रयोगों के लिए आदर्श है जिनके पास बड़े पेलोड आकार (1 जीबी तक) के साथ अनुमान अनुरोध हैं, जिन्हें लंबे समय तक प्रसंस्करण समय (15 मिनट तक) की आवश्यकता हो सकती है, और निकट-वास्तविक समय विलंबता आवश्यकताएं हैं। एसिंक्रोनस इंफ़ेक्शन आपको प्रक्रिया के लिए कोई अनुरोध नहीं होने पर इंस्टेंस काउंट को शून्य पर ऑटो स्केल करके लागतों को बचाने में सक्षम बनाता है, इसलिए आप केवल तभी भुगतान करते हैं जब आपका एंडपॉइंट अनुरोधों को संसाधित कर रहा हो।
आप एक सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट बना सकते हैं, जैसा कि आप रियल-टाइम इंट्रेंस एंडपॉइंट कैसे बनाते हैं और इसके अतिरिक्त निर्दिष्ट करते हैं AsyncInferenceConfig
ऑब्जेक्ट, CreateEndpointConfig API में EndpointConfig फ़ील्ड के साथ अपना एंडपॉइंट कॉन्फ़िगरेशन बनाते समय। निम्न आरेख अनुमान वर्कफ़्लो दिखाता है और कैसे एक अतुल्यकालिक निष्कर्ष समापन बिंदु एक अनुमान उत्पन्न करता है।
अतुल्यकालिक निष्कर्ष समापन बिंदु को लागू करने के लिए, अनुरोध पेलोड को Amazon S3 में संग्रहीत किया जाना चाहिए और इस पेलोड के संदर्भ को InvokeEndpointAsync अनुरोध के हिस्से के रूप में प्रदान करने की आवश्यकता है। आह्वान पर, सेजमेकर प्रसंस्करण के लिए अनुरोध को कतारबद्ध करता है और प्रतिक्रिया के रूप में एक पहचानकर्ता और आउटपुट स्थान देता है। प्रसंस्करण पर, सेजमेकर परिणाम को अमेज़ॅन एस 3 स्थान पर रखता है। आप वैकल्पिक रूप से सफलता या त्रुटि सूचनाएं प्राप्त करना चुन सकते हैं अमेज़न सरल अधिसूचना सेवा (अमेज़ॅन एसएनएस)।
एंड-टू-एंड समाधान का परीक्षण करें
समाधान का परीक्षण करने के लिए, निम्न चरणों को पूरा करें:
- AWS CloudFormation कंसोल पर, आपके द्वारा पहले बनाए गए स्टैक को खोलें (
nrt-streaming-inference
). - पर आउटपुट टैब, S3 बकेट का नाम कॉपी करें (
EventsBucket
).
यह S3 बकेट है जिसमें हमारा AWS ग्लू स्ट्रीमिंग जॉब किनेसिस डेटा स्ट्रीम से पढ़ने और संसाधित करने के बाद सुविधाएँ लिखता है।
इसके बाद, हम इस S3 बकेट के लिए ईवेंट नोटिफिकेशन सेट करते हैं।
- Amazon S3 कंसोल पर, बकेट पर नेविगेट करें
EventsBucket
. - पर गुण टैब में घटना सूचनाएं अनुभाग चुनते हैं, घटना सूचना बनाएँ.
- के लिए कार्यक्रम नाम, दर्ज
invoke-endpoint-lambda
. - के लिए उपसर्ग, दर्ज
features/
. - के लिए प्रत्यय, दर्ज
.csv
. - के लिए घटना प्रकार, चुनते हैं सभी ऑब्जेक्ट ईवेंट बनाते हैं.
- के लिए गंतव्य, चुनते हैं लैम्ब्डा फ़ंक्शन.
- के लिए लैम्ब्डा फ़ंक्शन, और फ़ंक्शन चुनें
invoke-endpoint-asynch
. - चुनें परिवर्तन सहेजें.
- एडब्ल्यूएस गोंद कंसोल पर, कार्य खोलें
GlueStreaming-Kinesis-S3
. - चुनें नौकरी चलाते हैं.
इसके बाद हम अपने किनेसिस डेटा स्ट्रीम में डेटा भेजने वाले सेंसर का अनुकरण करने के लिए किनेसिस डेटा जेनरेटर (केडीजी) का उपयोग करते हैं। यदि आप पहली बार केडीजी का उपयोग कर रहे हैं, तो देखें अवलोकन प्रारंभिक सेटअप के लिए। KDG उपयोगकर्ता बनाने के लिए CloudFormation टेम्पलेट प्रदान करता है और Kinesis को ईवेंट भेजने के लिए KDG का उपयोग करने के लिए पर्याप्त अनुमतियाँ प्रदान करता है। चलाएँ CloudFormation टेम्पलेट AWS खाते के भीतर जिसका उपयोग आप इस पोस्ट में समाधान बनाने के लिए कर रहे हैं। केडीजी की स्थापना के बाद, लॉग इन करें और केडीजी तक पहुंचें और परीक्षण घटनाओं को हमारे किनेसिस डेटा स्ट्रीम में भेजें।
- उस क्षेत्र का उपयोग करें जिसमें आपने किनेसिस डेटा स्ट्रीम (us-east-1) बनाया है।
- ड्रॉप-डाउन मेनू पर, डेटा स्ट्रीम चुनें
sensor-data-stream
. - में रिकॉर्ड प्रति सेकंड अनुभाग चुनें स्थिर और 100 दर्ज करें।
- सभी का चयन रद्द रिकॉर्ड्स को संपीड़ित करें.
- के लिए रिकॉर्ड टेम्पलेट, निम्न टेम्पलेट का उपयोग करें:
- क्लिक करें डेटा भेजें Kinesis डेटा स्ट्रीम में डेटा भेजना शुरू करने के लिए।
AWS ग्लू स्ट्रीमिंग जॉब प्रदान किए गए विंडो आकार के आधार पर Kinesis डेटा स्ट्रीम से डेटा का एक माइक्रो-बैच (सेंसर रीडिंग का प्रतिनिधित्व करता है) पढ़ता है और निकालता है। स्ट्रीमिंग कार्य तब विभाजन से पहले इस माइक्रो-बैच पर फीचर इंजीनियरिंग को संसाधित और निष्पादित करता है और इसे S3 बाल्टी के भीतर उपसर्ग सुविधाओं में लिखता है।
चूंकि AWS ग्लू स्ट्रीमिंग जॉब द्वारा बनाई गई नई सुविधाएँ S3 बकेट में लिखी जाती हैं, एक लैम्ब्डा फ़ंक्शन (invoke-endpoint-asynch
) ट्रिगर किया गया है, जो हमारे तैनात एमएल मॉडल से निष्कर्ष प्राप्त करने के लिए एक आमंत्रण अनुरोध भेजकर एक सेजमेकर एसिंक्रोनस इंट्रेंस एंडपॉइंट को आमंत्रित करता है। एसिंक्रोनस इनवेंशन एंडपॉइंट एसिंक्रोनस इनवोकेशन के लिए अनुरोध करता है। जब प्रसंस्करण पूरा हो जाता है, तो सेजमेकर अमेज़ॅन एस 3 स्थान में अनुमान परिणामों को संग्रहीत करता है (S3OutputPath
) जो एसिंक्रोनस इंट्रेंस एंडपॉइंट कॉन्फ़िगरेशन के दौरान निर्दिष्ट किया गया था।
हमारे उपयोग के मामले के लिए, सेंसर रीडिंग के आधार पर, अनुमान के परिणाम इंगित करते हैं कि मशीन का हिस्सा विफल होने की संभावना है या नहीं।
सेजमेकर अमेज़न एसएनएस के साथ सफलता या त्रुटि सूचना भी भेजता है। उदाहरण के लिए, यदि आप एक सेट अप करते हैं ईमेल सदस्यता सफलता और त्रुटि एसएनएस विषयों के लिए (एसिंक्रोनस सेजमेकर इंट्रेंस एंडपॉइंट कॉन्फ़िगरेशन के भीतर निर्दिष्ट), हर बार एक इंट्रेंस अनुरोध संसाधित होने पर एक ईमेल भेजा जा सकता है। निम्न स्क्रीनशॉट SNS सफलता विषय से एक नमूना ईमेल दिखाता है।
वास्तविक दुनिया के अनुप्रयोगों के लिए, आप एसएनएस सूचनाओं को अन्य सेवाओं जैसे कि . के साथ एकीकृत कर सकते हैं अमेज़ॅन सरल कतार सेवा (अमेज़ॅन एसक्यूएस) और लैम्ब्डा आपकी आवश्यकताओं के आधार पर उत्पन्न अनुमानों के अतिरिक्त पोस्टप्रोसेसिंग या अन्य डाउनस्ट्रीम अनुप्रयोगों के साथ एकीकरण के लिए। उदाहरण के लिए, हमारे भविष्य कहनेवाला रखरखाव उपयोग के मामले के लिए, आप अमेज़ॅन एस 3 से उत्पन्न अनुमान को पढ़ने के लिए एक एसएनएस अधिसूचना के आधार पर एक लैम्ब्डा फ़ंक्शन का आह्वान कर सकते हैं, इसे आगे की प्रक्रिया (जैसे एकत्रीकरण या फ़िल्टरिंग) कर सकते हैं, और कार्य आदेश भेजने जैसे वर्कफ़्लो शुरू कर सकते हैं। तकनीशियनों को उपकरण की मरम्मत।
क्लीन अप
जब आप स्टैक का परीक्षण कर लें, तो अनपेक्षित शुल्कों से बचने के लिए संसाधनों (विशेषकर किनेसिस डेटा स्ट्रीम, ग्लू स्ट्रीमिंग जॉब और एसएनएस विषय) को हटा दें।
अपना स्टैक हटाने के लिए निम्न कोड चलाएँ:
मॉडलट्रेनिंग-मूल्यांकन-और-परिनियोजन नोटबुक में सफाई अनुभाग का पालन करके सेजमेकर एंडपॉइंट जैसे संसाधनों को भी हटा दें।
निष्कर्ष
इस पोस्ट में, हमने निकट-वास्तविक समय अनुमान पाइपलाइन बनाने के लिए विभिन्न सेवाओं जैसे कि किनेसिस, एडब्ल्यूएस ग्लू और सेजमेकर का उपयोग करने के तरीके को प्रदर्शित करने के लिए एक भविष्य कहनेवाला रखरखाव उपयोग मामले का उपयोग किया। हम आपको इस समाधान को आजमाने के लिए प्रोत्साहित करते हैं और हमें बताएं कि आप क्या सोचते हैं।
यदि आपके कोई प्रश्न हैं, तो उन्हें टिप्पणियों में साझा करें।
लेखक के बारे में
राहुल शर्मा एडब्ल्यूएस डाटा लैब में एक समाधान वास्तुकार है, जो एडब्ल्यूएस ग्राहकों को एआई/एमएल समाधान डिजाइन और निर्माण करने में मदद करता है। AWS में शामिल होने से पहले, राहुल ने वित्त और बीमा क्षेत्र में कई साल बिताए हैं, जिससे ग्राहकों को डेटा और विश्लेषणात्मक प्लेटफॉर्म बनाने में मदद मिली है।
पैट रेली एडब्ल्यूएस डेटा लैब में एक आर्किटेक्ट है, जहां वह ग्राहकों को उनके व्यवसाय का समर्थन करने के लिए डेटा वर्कलोड डिजाइन और निर्माण करने में मदद करता है। AWS से पहले, Pat ने AWS पार्टनर से परामर्श किया, विभिन्न उद्योगों में AWS डेटा वर्कलोड का निर्माण किया।
- AI
- ai कला
- ऐ कला जनरेटर
- ऐ रोबोट
- अमेज़न SageMaker
- अमेज़ॅन सरल अधिसूचना सेवा (एसएनएस)
- कृत्रिम बुद्धिमत्ता
- कृत्रिम बुद्धिमत्ता प्रमाणन
- बैंकिंग में आर्टिफिशियल इंटेलिजेंस
- आर्टिफिशियल इंटेलिजेंस रोबोट
- आर्टिफिशियल इंटेलिजेंस रोबोट
- कृत्रिम बुद्धि सॉफ्टवेयर
- एडब्ल्यूएस गोंद
- AWS लाम्बा
- AWS मशीन लर्निंग
- blockchain
- ब्लॉकचेन सम्मेलन एआई
- कॉइनजीनियस
- संवादी कृत्रिम बुद्धिमत्ता
- क्रिप्टो सम्मेलन एआई
- दल-ए
- ध्यान लगा के पढ़ना या सीखना
- इसे गूगल करें
- किनेसिस डेटा स्ट्रीम
- यंत्र अधिगम
- प्लेटो
- प्लेटो एआई
- प्लेटो डेटा इंटेलिजेंस
- प्लेटो गेम
- प्लेटोडाटा
- प्लेटोगेमिंग
- स्केल एआई
- वाक्यविन्यास
- जेफिरनेट