अमेज़ॅन सैजमेकर ऑटोपायलट संगठनों के लिए कोड की कुछ पंक्तियों के साथ एंड-टू-एंड मशीन लर्निंग (एमएल) मॉडल और अनुमान पाइपलाइन को जल्दी से बनाना और तैनात करना संभव बनाता है। बिना किसी कोड के बिलकुल भी साथ में अमेज़ॅन सैजमेकर स्टूडियो. ऑटोपायलट बुनियादी ढांचे को कॉन्फ़िगर करने के भारी भार और फीचर इंजीनियरिंग, मॉडल चयन और हाइपरपैरामीटर ट्यूनिंग सहित पूरी पाइपलाइन बनाने में लगने वाले समय को ऑफलोड करता है।
इस पोस्ट में, हम दिखाते हैं कि ऑटोपायलट के साथ कच्चे डेटा से एक मजबूत और पूरी तरह से तैनात अनुमान पाइपलाइन तक कैसे जाया जाए।
समाधान अवलोकन
हम का उपयोग करें बाइकशेयरिंग पर Lyft का सार्वजनिक डेटासेट इस सिमुलेशन से यह अनुमान लगाया जा सकता है कि कोई उपयोगकर्ता इसमें भाग लेता है या नहीं सभी के लिए बाइक शेयर कार्यक्रम. यह एक सरल द्विआधारी वर्गीकरण समस्या है।
हम यह दिखाना चाहते हैं कि बाइक शेयर फॉर ऑल कार्यक्रम में उनकी भागीदारी के आधार पर उपयोगकर्ताओं को वर्गीकृत करने के लिए एक स्वचालित और वास्तविक समय अनुमान पाइपलाइन बनाना कितना आसान है। इस प्रयोजन के लिए, हम सैन फ्रांसिस्को खाड़ी क्षेत्र में संचालित एक काल्पनिक बाइकशेयर कंपनी के लिए एंड-टू-एंड डेटा अंतर्ग्रहण और अनुमान पाइपलाइन का अनुकरण करते हैं।
आर्किटेक्चर को दो भागों में विभाजित किया गया है: अंतर्ग्रहण पाइपलाइन और अनुमान पाइपलाइन।
हम मुख्य रूप से इस पोस्ट के पहले खंड में एमएल पाइपलाइन पर ध्यान केंद्रित करते हैं, और दूसरे भाग में डेटा अंतर्ग्रहण पाइपलाइन की समीक्षा करते हैं।
.. पूर्वापेक्षाएँ
इस उदाहरण का अनुसरण करने के लिए, निम्नलिखित आवश्यक शर्तें पूरी करें:
- एक नया सेजमेकर नोटबुक इंस्टेंस बनाएं.
- एक बनाएं अमेज़न Kinesis डेटा Firehose एक के साथ डिलीवरी स्ट्रीम AWS लाम्बा परिवर्तन समारोह. निर्देशों के लिए देखें AWS लैम्ब्डा के साथ अमेज़ॅन किनेसिस फ़ायरहोज़ डेटा परिवर्तन. यह चरण वैकल्पिक है और केवल डेटा स्ट्रीमिंग का अनुकरण करने के लिए आवश्यक है।
डाटा अन्वेषण
आइए डेटासेट को डाउनलोड करें और विज़ुअलाइज़ करें, जो सार्वजनिक रूप से स्थित है अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) बकेट और स्थिर वेबसाइट:
निम्नलिखित स्क्रीनशॉट परिवर्तन से पहले डेटा का एक सबसेट दिखाता है।
डेटा के अंतिम कॉलम में वह लक्ष्य होता है जिसकी हम भविष्यवाणी करना चाहते हैं, जो एक बाइनरी वैरिएबल है जो हां या नहीं मान लेता है, यह दर्शाता है कि उपयोगकर्ता बाइक शेयर फॉर ऑल प्रोग्राम में भाग लेता है या नहीं।
आइए किसी भी डेटा असंतुलन के लिए हमारे लक्ष्य चर के वितरण पर एक नज़र डालें।
जैसा कि ऊपर दिए गए ग्राफ़ में दिखाया गया है, डेटा असंतुलित है, कार्यक्रम में कम लोग भाग ले रहे हैं।
अति-प्रतिनिधित्व पूर्वाग्रह को रोकने के लिए हमें डेटा को संतुलित करने की आवश्यकता है। यह चरण वैकल्पिक है क्योंकि ऑटोपायलट वर्ग असंतुलन को स्वचालित रूप से संभालने के लिए एक आंतरिक दृष्टिकोण भी प्रदान करता है, जो कि F1 स्कोर सत्यापन मीट्रिक के लिए डिफ़ॉल्ट है। इसके अतिरिक्त, यदि आप स्वयं डेटा को संतुलित करना चुनते हैं, तो आप वर्ग असंतुलन को संभालने के लिए अधिक उन्नत तकनीकों का उपयोग कर सकते हैं, जैसे ऐसा मारा or GAN.
इस पोस्ट के लिए, हम डेटा संतुलन तकनीक के रूप में बहुसंख्यक वर्ग (नहीं) का नमूना कम करते हैं:
निम्नलिखित कोड डेटा को समृद्ध करता है और अधिक प्रतिनिधित्व वाले वर्ग को कम नमूना देता है:
हमने जानबूझकर अपने द्विआधारी लक्ष्य मान सहित अपनी श्रेणीगत विशेषताओं को एन्कोडेड नहीं छोड़ा है। ऐसा इसलिए है क्योंकि ऑटोपायलट स्वचालित फीचर इंजीनियरिंग और पाइपलाइन परिनियोजन के हिस्से के रूप में हमारे लिए डेटा को एन्कोडिंग और डिकोड करने का ख्याल रखता है, जैसा कि हम अगले भाग में देखते हैं।
निम्नलिखित स्क्रीनशॉट हमारे डेटा का एक नमूना दिखाता है।
निम्नलिखित ग्राफ़ में डेटा अन्यथा सामान्य दिखता है, जैसा कि आप उम्मीद करेंगे, द्वि-मॉडल वितरण सुबह के घंटों और दोपहर के भीड़-भाड़ वाले घंटों के लिए दो शिखरों का प्रतिनिधित्व करता है। हम सप्ताहांत और रात में भी कम गतिविधियाँ देखते हैं।
अगले भाग में, हम ऑटोपायलट को डेटा फीड करते हैं ताकि वह हमारे लिए एक प्रयोग चला सके।
एक द्विआधारी वर्गीकरण मॉडल बनाएं
ऑटोपायलट के लिए आवश्यक है कि हम इनपुट और आउटपुट गंतव्य बकेट निर्दिष्ट करें। यह डेटा लोड करने के लिए इनपुट बकेट का उपयोग करता है और फीचर इंजीनियरिंग और जेनरेटेड ज्यूपिटर नोटबुक जैसी कलाकृतियों को सहेजने के लिए आउटपुट बकेट का उपयोग करता है। प्रशिक्षण पूरा होने के बाद मॉडल के प्रदर्शन का मूल्यांकन और सत्यापन करने के लिए हम 5% डेटासेट को बरकरार रखते हैं और 95% डेटासेट को S3 इनपुट बकेट में अपलोड करते हैं। निम्नलिखित कोड देखें:
इनपुट गंतव्य पर डेटा अपलोड करने के बाद, ऑटोपायलट शुरू करने का समय आ गया है:
प्रयोग शुरू करने के लिए हमें बस फिट() विधि को कॉल करना है। ऑटोपायलट को आवश्यक पैरामीटर के रूप में इनपुट और आउटपुट S3 स्थान और लक्ष्य विशेषता कॉलम की आवश्यकता होती है। फीचर प्रोसेसिंग के बाद, ऑटोपायलट कॉल करता है SageMaker स्वचालित मॉडल ट्यूनिंग अपने डेटासेट पर कई प्रशिक्षण कार्य चलाकर किसी मॉडल का सर्वोत्तम संस्करण ढूंढना। हमने उम्मीदवारों की संख्या को 30 तक सीमित करने के लिए वैकल्पिक max_candidates पैरामीटर जोड़ा है, जो कि प्रशिक्षण नौकरियों की संख्या है जिसे ऑटोपायलट सर्वोत्तम मॉडल खोजने के लिए एल्गोरिदम और हाइपरपैरामीटर के विभिन्न संयोजनों के साथ लॉन्च करता है। यदि आप यह पैरामीटर निर्दिष्ट नहीं करते हैं, तो यह डिफ़ॉल्ट रूप से 250 पर आ जाता है।
हम निम्नलिखित कोड के साथ ऑटोपायलट की प्रगति देख सकते हैं:
प्रशिक्षण पूरा होने में कुछ समय लगता है। जब यह चल रहा हो, आइए ऑटोपायलट वर्कफ़्लो को देखें।
सर्वोत्तम उम्मीदवार ढूंढने के लिए, निम्नलिखित कोड का उपयोग करें:
निम्न स्क्रीनशॉट हमारे आउटपुट को दर्शाता है।
हमारे मॉडल ने 96% की सत्यापन सटीकता हासिल की, इसलिए हम इसे तैनात करने जा रहे हैं। हम ऐसी शर्त जोड़ सकते हैं कि हम मॉडल का उपयोग केवल तभी करें जब सटीकता एक निश्चित स्तर से ऊपर हो।
अनुमान पाइपलाइन
इससे पहले कि हम अपना मॉडल तैनात करें, आइए अपने सर्वश्रेष्ठ उम्मीदवार की जांच करें और हमारी पाइपलाइन में क्या हो रहा है। निम्नलिखित कोड देखें:
निम्नलिखित चित्र हमारा आउटपुट दिखाता है।
ऑटोपायलट ने मॉडल बनाया है और इसे तीन अलग-अलग कंटेनरों में पैक किया है, प्रत्येक क्रमिक रूप से एक विशिष्ट कार्य चला रहा है: परिवर्तन, भविष्यवाणी और रिवर्स-ट्रांसफॉर्म। यह बहु-चरणीय अनुमान एक के साथ संभव है सेजमेकर अनुमान पाइपलाइन।
एक बहु-चरणीय अनुमान कई अनुमान मॉडलों को भी श्रृंखलाबद्ध कर सकता है। उदाहरण के लिए, एक कंटेनर कार्य कर सकता है मुख्य घटक विश्लेषण XGBoost कंटेनर में डेटा पास करने से पहले।
अनुमान पाइपलाइन को एक समापन बिंदु पर तैनात करें
परिनियोजन प्रक्रिया में कोड की बस कुछ पंक्तियाँ शामिल हैं:
आइए एक भविष्यवक्ता के साथ भविष्यवाणी के लिए हमारे समापन बिंदु को कॉन्फ़िगर करें:
अब जब हमारे पास अपना समापन बिंदु और भविष्यवक्ता तैयार है, तो हमारे द्वारा अलग रखे गए परीक्षण डेटा का उपयोग करने और हमारे मॉडल की सटीकता का परीक्षण करने का समय आ गया है। हम एक उपयोगिता फ़ंक्शन को परिभाषित करके शुरू करते हैं जो डेटा को एक समय में एक पंक्ति में हमारे अनुमान समापन बिंदु पर भेजता है और बदले में एक भविष्यवाणी प्राप्त करता है। क्योंकि हमारे पास एक एक्सजीबूस्ट मॉडल, हम CSV लाइन को अंतिम बिंदु पर भेजने से पहले लक्ष्य चर को छोड़ देते हैं। इसके अतिरिक्त, हमने फ़ाइल के माध्यम से लूपिंग करने से पहले परीक्षण सीएसवी से हेडर को हटा दिया, जो सेजमेकर पर XGBoost के लिए एक और आवश्यकता भी है। निम्नलिखित कोड देखें:
निम्न स्क्रीनशॉट हमारे आउटपुट को दर्शाता है।
आइए अब अपने मॉडल की सटीकता की गणना करें।
निम्नलिखित कोड देखें:
हमें 92% की सटीकता मिलती है। यह सत्यापन चरण के दौरान प्राप्त 96% से थोड़ा कम है, लेकिन यह अभी भी काफी अधिक है। हम सटीकता के बिल्कुल समान होने की उम्मीद नहीं करते हैं क्योंकि परीक्षण एक नए डेटासेट के साथ किया जाता है।
डेटा अंतर्ग्रहण
हमने सीधे डेटा डाउनलोड किया और इसे प्रशिक्षण के लिए कॉन्फ़िगर किया। वास्तविक जीवन में, आपको डेटा को सीधे एज डिवाइस से डेटा लेक में भेजना पड़ सकता है और सेजमेकर को इसे सीधे डेटा लेक से नोटबुक में लोड करना पड़ सकता है।
काइनेसिस डेटा फ़ायरहोज़ एक अच्छा विकल्प है और स्ट्रीमिंग डेटा को डेटा लेक, डेटा स्टोर और एनालिटिक्स टूल में विश्वसनीय रूप से लोड करने का सबसे सीधा तरीका है। यह स्ट्रीमिंग डेटा को Amazon S3 और अन्य AWS डेटा स्टोर में कैप्चर, ट्रांसफ़ॉर्म और लोड कर सकता है।
हमारे उपयोग के मामले में, हम स्ट्रीम को पार करते समय कुछ हल्के डेटा की सफाई करने के लिए लैम्ब्डा ट्रांसफ़ॉर्मेशन फ़ंक्शन के साथ एक किनेसिस डेटा फ़ायरहोज़ डिलीवरी स्ट्रीम बनाते हैं। निम्नलिखित कोड देखें:
यह लैम्ब्डा फ़ंक्शन उपकरणों से डेटा लेक पर स्ट्रीम किए गए डेटा का हल्का परिवर्तन करता है। यह एक CSV स्वरूपित डेटा फ़ाइल की अपेक्षा करता है।
अंतर्ग्रहण चरण के लिए, हम डेटा डाउनलोड करते हैं और लैम्ब्डा ट्रांसफ़ॉर्म फ़ंक्शन के साथ किनेसिस डेटा फ़ायरहोज़ और हमारे S3 डेटा लेक में एक डेटा स्ट्रीम का अनुकरण करते हैं।
आइए कुछ पंक्तियों की स्ट्रीमिंग का अनुकरण करें:
क्लीन अप
लागत को कम करने के लिए इस अभ्यास में उपयोग किए गए सभी संसाधनों को हटाना महत्वपूर्ण है। निम्नलिखित कोड हमारे द्वारा बनाए गए सेजमेकर अनुमान समापन बिंदु को हटा देता है और साथ ही हमारे द्वारा अपलोड किए गए प्रशिक्षण और परीक्षण डेटा को भी हटा देता है:
निष्कर्ष
एमएल इंजीनियर, डेटा वैज्ञानिक और सॉफ्टवेयर डेवलपर ऑटोपायलट का उपयोग बिना किसी एमएल प्रोग्रामिंग अनुभव के एक अनुमान पाइपलाइन बनाने और तैनात करने के लिए कर सकते हैं। ऑटोपायलट डेटा विज्ञान और एमएल सर्वोत्तम प्रथाओं का उपयोग करके समय और संसाधनों की बचत करता है। बड़े संगठन अब इंजीनियरिंग संसाधनों को बुनियादी ढांचे के विन्यास से हटाकर मॉडल में सुधार और व्यावसायिक उपयोग के मामलों को हल करने की दिशा में स्थानांतरित कर सकते हैं। स्टार्टअप और छोटे संगठन कम या बिना एमएल विशेषज्ञता के भी मशीन लर्निंग शुरू कर सकते हैं।
सेजमेकर ऑटोपायलट के साथ आरंभ करने के लिए, देखें उत्पाद पृष्ठ या सेजमेकर स्टूडियो के भीतर सेजमेकर ऑटोपायलट तक पहुंचें।
हम सेजमेकर द्वारा पेश की जाने वाली अन्य महत्वपूर्ण सुविधाओं के बारे में अधिक जानने की भी सलाह देते हैं, जैसे कि अमेज़न SageMaker फ़ीचर स्टोर, जो के साथ एकीकृत करता है अमेज़न SageMaker पाइपलाइन बनाने, सुविधा खोज और खोज जोड़ने और स्वचालित एमएल वर्कफ़्लो का पुन: उपयोग करने के लिए। आप अपने डेटासेट में विभिन्न फीचर या लक्ष्य वेरिएंट के साथ कई ऑटोपायलट सिमुलेशन चला सकते हैं। आप इसे एक गतिशील वाहन आवंटन समस्या के रूप में भी देख सकते हैं जिसमें आपका मॉडल समय (जैसे दिन का समय या सप्ताह का दिन) या स्थान, या दोनों के संयोजन के आधार पर वाहन की मांग की भविष्यवाणी करने का प्रयास करता है।
लेखक के बारे में
डौग म्बाया डेटा और एनालिटिक्स में फोकस के साथ एक वरिष्ठ समाधान वास्तुकार हैं। डौग AWS भागीदारों के साथ मिलकर काम करता है, जिससे उन्हें क्लाउड में डेटा और एनालिटिक्स समाधान को एकीकृत करने में मदद मिलती है। डौग के पूर्व अनुभव में राइड शेयरिंग और फूड डिलीवरी सेगमेंट में AWS ग्राहकों का समर्थन करना शामिल है।
वैलेरियो पेरोन Amazon SageMaker ऑटोमैटिक मॉडल ट्यूनिंग और ऑटोपायलट पर काम करने वाला एक एप्लाइड साइंस मैनेजर है।
- कॉइनस्मार्ट। यूरोप का सर्वश्रेष्ठ बिटकॉइन और क्रिप्टो एक्सचेंज।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। नि: शुल्क प्रवेश।
- क्रिप्टोहॉक। Altcoin रडार। मुफ्त परीक्षण।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- About
- पहुँच
- हासिल
- गतिविधियों
- उन्नत
- एल्गोरिदम
- सब
- आवंटन
- वीरांगना
- विश्लेषिकी
- अन्य
- एपीआई
- दृष्टिकोण
- स्थापत्य
- क्षेत्र
- तर्क
- स्वचालित
- एडब्ल्यूएस
- खाड़ी
- BEST
- सर्वोत्तम प्रथाओं
- निर्माण
- व्यापार
- कॉल
- पा सकते हैं
- कौन
- मामलों
- परिवर्तन
- विकल्प
- वर्गीकरण
- सफाई
- बादल
- कोड
- स्तंभ
- संयोजन
- संयोजन
- कंपनी
- अंग
- शर्त
- विन्यास
- कंटेनर
- कंटेनरों
- शामिल हैं
- सका
- ग्राहक
- तिथि
- डेटा संसाधन
- डेटा विज्ञान
- दिन
- प्रसव
- मांग
- तैनात
- तैनाती
- डेवलपर्स
- युक्ति
- डिवाइस
- विभिन्न
- खोज
- डिस्प्ले
- वितरण
- नीचे
- बूंद
- गतिशील
- Edge
- एन्क्रिप्शन
- endpoint
- अभियांत्रिकी
- इंजीनियर्स
- कार्यक्रम
- उदाहरण
- सिवाय
- व्यायाम
- उम्मीद
- अनुभव
- प्रयोग
- विशेषज्ञता
- Feature
- विशेषताएं
- प्रथम
- फोकस
- का पालन करें
- निम्नलिखित
- भोजन
- फ्रांसिस्को
- समारोह
- मिल रहा
- जा
- अच्छा
- हैंडलिंग
- यहाँ उत्पन्न करें
- हाई
- कैसे
- How To
- HTTPS
- महत्वपूर्ण
- सहित
- इंफ्रास्ट्रक्चर
- एकीकृत
- IT
- काम
- नौकरियां
- बड़ा
- शुरूआत
- सीख रहा हूँ
- स्तर
- पुस्तकालय
- प्रकाश
- हल्के
- लाइन
- लिंक्डइन
- थोड़ा
- भार
- स्थानीय स्तर पर
- स्थान
- मशीन
- यंत्र अधिगम
- बहुमत
- निर्माण
- प्रबंधक
- ML
- आदर्श
- मॉडल
- अधिकांश
- नोटबुक
- प्रस्ताव
- ऑफर
- परिचालन
- विकल्प
- आदेश
- संगठनों
- अन्य
- अन्यथा
- सहभागिता
- भागीदारों
- स्टाफ़
- प्रदर्शन
- संभव
- भविष्यवाणी
- मुसीबत
- प्रक्रिया
- कार्यक्रम
- प्रोग्रामिंग
- प्रदान करना
- सार्वजनिक
- जल्दी से
- कच्चा
- वास्तविक समय
- की सिफारिश
- रिकॉर्ड
- अभिलेख
- अपेक्षित
- उपयुक्त संसाधन चुनें
- रिटर्न
- की समीक्षा
- नियम
- रन
- दौड़ना
- भीड़
- सेन
- सैन फ्रांसिस्को
- बचत
- विज्ञान
- वैज्ञानिकों
- Search
- चयनित
- कई
- सेट
- Share
- साझा
- पाली
- सरल
- अनुकार
- आकार
- नींद
- So
- सॉफ्टवेयर
- विभाजित
- प्रारंभ
- शुरू
- स्टार्टअप
- भंडारण
- भंडार
- धारा
- स्ट्रीम किया
- स्ट्रीमिंग
- स्टूडियो
- लक्ष्य
- तकनीक
- परीक्षण
- परीक्षण
- यहाँ
- पहर
- आज
- उपकरण
- प्रशिक्षण
- बदालना
- परिवर्तन
- us
- उपयोग
- उपयोगकर्ताओं
- उपयोगिता
- मूल्य
- वाहन
- वेबसाइट
- सप्ताह
- या
- विकिपीडिया
- अंदर
- काम कर रहे
- कार्य