अमेज़ॅन सेजमेकर डेटा रैंगलर को एमएलओपीएस वर्कफ़्लोज़ प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ एकीकृत करें। लंबवत खोज। ऐ.

MLOps वर्कफ़्लो के साथ Amazon SageMaker डेटा रैंगलर को एकीकृत करें

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

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

समाधान अवलोकन

इस पोस्ट में, हम प्रदर्शित करते हैं कि कैसे उपयोगकर्ता डेटा रैंगलर का उपयोग करके डेटा तैयारी को एकीकृत कर सकते हैं अमेज़न SageMaker पाइपलाइन, AWS स्टेप फ़ंक्शंस, तथा अपाचे एयरफ्लो साथ में Apache Airflow के लिए Amazon प्रबंधित वर्कफ़्लो (अमेज़ॅन एमडब्ल्यूएए)। पाइपलाइन एक सेजमेकर सुविधा है जो एमएल के लिए एक उद्देश्य-निर्मित और उपयोग में आसान निरंतर एकीकरण और निरंतर वितरण (सीआई/सीडी) सेवा है। Step Functions एक सर्वर रहित, कम कोड वाली विज़ुअल वर्कफ़्लो सेवा है जिसका उपयोग AWS सेवाओं को व्यवस्थित करने और व्यावसायिक प्रक्रियाओं को स्वचालित करने के लिए किया जाता है। अमेज़ॅन एमडब्ल्यूएए अपाचे एयरफ्लो के लिए एक प्रबंधित ऑर्केस्ट्रेशन सेवा है जो एंड-टू-एंड डेटा और एमएल पाइपलाइनों को संचालित करना आसान बनाता है।

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

MLOps सेजमेकर डेटा रैंगलर के साथ कार्यप्रवाह

निम्नलिखित अनुभागों में, हम आपको डेटा रैंगलर प्रवाह सेट करने और डेटा रैंगलर को पाइपलाइनों, स्टेप फ़ंक्शंस और अपाचे एयरफ़्लो के साथ एकीकृत करने के तरीके के बारे में बताते हैं।

डेटा रैंगलर प्रवाह सेट करें

हम एक डेटा रैंगलर प्रवाह बनाकर शुरू करते हैं, जिसे a . भी कहा जाता है डाटा प्रवाह, का उपयोग करते हुए डेटा प्रवाह यूआई के माध्यम से अमेज़ॅन सैजमेकर स्टूडियो आईडीई। हमारे नमूना डेटासेट में दो डेटा फ़ाइलें होती हैं: दावे.सीएसवी और Customers.csv, जो एक में संग्रहीत हैं अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) बाल्टी. डेटा रैंगलर के लागू करने के लिए हम डेटा प्रवाह UI का उपयोग करते हैं अंतर्निहित परिवर्तन इस तरह की श्रेणीबद्ध एन्कोडिंग, स्ट्रिंग स्वरूपण, और इन फ़ाइलों में से प्रत्येक में फीचर कॉलम पर आरोपण। हम भी आवेदन करते हैं कस्टम परिवर्तन कस्टम पायथन कोड की कुछ पंक्तियों का उपयोग करके कुछ फीचर कॉलम के साथ पांडा डेटाफ़्रेम. निम्न स्क्रीनशॉट डेटा प्रवाह UI में Claims.csv फ़ाइल पर लागू किए गए रूपांतरणों को दिखाता है।

Claims.csv डेटा फ़ाइल पर लागू किए गए रूपांतरण

अंत में, हम अपने मॉडल प्रशिक्षण के लिए एकल प्रशिक्षण डेटासेट बनाने के लिए दो डेटा फ़ाइलों के लागू परिवर्तनों के परिणामों में शामिल होते हैं। हम डेटा रैंगलर के बिल्ट-इन का उपयोग करते हैं डेटासेट में शामिल हों क्षमता, जो हमें सारणीबद्ध डेटा पर SQL- जैसे जुड़ने के संचालन करने देती है। निम्न स्क्रीनशॉट स्टूडियो में डेटा प्रवाह UI में डेटा प्रवाह दिखाता है। डेटा रैंगलर का उपयोग करके डेटा प्रवाह बनाने के लिए चरण-दर-चरण निर्देशों के लिए, देखें गिटहब भंडार.

सेजमेकर स्टूडियो में डेटा प्रवाह यूआई में सेजमेकर डेटा रैंगलर डेटा प्रवाह।

अब आप हमारी अपरिष्कृत डेटा फ़ाइलों पर डेटा परिवर्तन करने के लिए डेटा प्रवाह (.flow) फ़ाइल का उपयोग कर सकते हैं। डेटा प्रवाह यूआई स्वचालित रूप से हमारे लिए उपयोग करने और सेजमेकर एसडीके का उपयोग करके सीधे पाइपलाइनों के साथ एकीकृत करने के लिए पायथन नोटबुक उत्पन्न कर सकता है। चरण कार्यों के लिए, हम उपयोग करते हैं एडब्ल्यूएस चरण कार्य डेटा विज्ञान पायथन एसडीके हमारे डेटा रैंगलर प्रोसेसिंग को स्टेप फंक्शंस पाइपलाइन के साथ एकीकृत करने के लिए। Amazon MWAA के लिए, हम उपयोग करते हैं a कस्टम एयरफ्लो ऑपरेटर और एयरफ्लो सेजमेकर ऑपरेटर. हम इनमें से प्रत्येक दृष्टिकोण पर निम्नलिखित अनुभागों में विस्तार से चर्चा करते हैं।

पाइपलाइनों के साथ डेटा रैंगलर को एकीकृत करें

सेजमेकर पाइपलाइन एमएल पाइपलाइनों के निर्माण के लिए एक देशी वर्कफ़्लो ऑर्केस्ट्रेशन टूल है जो सीधे सेजमेकर एकीकरण का लाभ उठाता है। इसके साथ SageMaker मॉडल रजिस्ट्री, पाइपलाइन आपके एमएल वर्कफ़्लोज़ की परिचालन लचीलापन और प्रतिलिपि प्रस्तुत करने योग्यता में सुधार करती है। ये वर्कफ़्लो ऑटोमेशन घटक आपको उत्पादन में सैकड़ों मॉडल बनाने, प्रशिक्षित करने, परीक्षण करने और तैनात करने की अपनी क्षमता को आसानी से मापने में सक्षम बनाते हैं; तेजी से पुनरावृति; मैनुअल ऑर्केस्ट्रेशन के कारण त्रुटियों को कम करना; और दोहराने योग्य तंत्र का निर्माण करें। पाइपलाइन में प्रत्येक चरण वंश का ट्रैक रख सकता है, और पाइपलाइन को जल्दी से पुन: चलाने के लिए मध्यवर्ती चरणों को कैश किया जा सकता है। तुम कर सकते हो सेजमेकर पायथन एसडीके का उपयोग करके पाइपलाइन बनाएं.

सेजमेकर पाइपलाइनों के साथ निर्मित वर्कफ़्लो में डायरेक्टेड एसाइक्लिक ग्राफ (डीएजी) बनाने वाले चरणों का एक क्रम होता है। इस उदाहरण में, हम a . से शुरू करते हैं प्रसंस्करण चरण, जो चलता है a SageMaker प्रसंस्करण नौकरी प्रशिक्षण डेटासेट बनाने के लिए डेटा रैंगलर की प्रवाह फ़ाइल के आधार पर। हम तब a . के साथ जारी रखते हैं प्रशिक्षण चरण, जहां हम SageMaker के बिल्ट-इन XGBoost एल्गोरिथम और पिछले चरण में बनाए गए प्रशिक्षण डेटासेट का उपयोग करके XGBoost मॉडल को प्रशिक्षित करते हैं। एक मॉडल को प्रशिक्षित करने के बाद, हम इस वर्कफ़्लो को समाप्त करते हैं a रजिस्टरमॉडल चरण प्रशिक्षित मॉडल को सेजमेकर मॉडल रजिस्ट्री के साथ पंजीकृत करने के लिए।

MLOps वर्कफ़्लो को सेजमेकर पाइपलाइनों के साथ बनाया गया है

स्थापना और पूर्वाभ्यास

इस नमूने को चलाने के लिए, हम एक स्टूडियो वातावरण में डेटा साइंस कर्नेल छवि पर Python3 चलाने वाली Jupyter नोटबुक का उपयोग करते हैं। सेजमेकर निष्पादन भूमिका ग्रहण करने के लिए क्रेडेंशियल्स सेट करके आप इसे स्थानीय रूप से अपनी मशीन पर ज्यूपिटर नोटबुक इंस्टेंस पर भी चला सकते हैं। नोटबुक हल्का है और इसे ml.t3.medium उदाहरण पर चलाया जा सकता है। विस्तृत चरण-दर-चरण निर्देश में पाया जा सकता है गिटहब भंडार.

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

  1. डेटा रैंगलर से फ़्लो फ़ाइल जेनरेट करें या पूर्व-कॉन्फ़िगर किए गए टेम्प्लेट से फ़्लो फ़ाइल जेनरेट करने के लिए सेटअप स्क्रिप्ट का उपयोग करें।
  2. एक बनाएं अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) बकेट और अपनी फ़्लो फ़ाइल और इनपुट फ़ाइलों को बकेट में अपलोड करें। हमारे नमूना नोटबुक में, हम SageMaker डिफ़ॉल्ट S3 बकेट का उपयोग करते हैं।
  3. डेटा रैंगलर प्रवाह फ़ाइल के आधार पर प्रोसेसर ऑब्जेक्ट बनाने के लिए नोटबुक में दिए गए निर्देशों का पालन करें, और प्रशिक्षण कार्य के मापदंडों के साथ एक अनुमानक ऑब्जेक्ट।
    1. हमारे उदाहरण में, क्योंकि हम केवल SageMaker सुविधाओं और डिफ़ॉल्ट S3 बकेट का उपयोग करते हैं, हम स्टूडियो की डिफ़ॉल्ट निष्पादन भूमिका का उपयोग कर सकते हैं। यह वही AWS पहचान और अभिगम प्रबंधन (IAM) की भूमिका पाइपलाइन चलाने, प्रसंस्करण कार्य और प्रशिक्षण कार्य द्वारा ग्रहण की जाती है। आप न्यूनतम विशेषाधिकार के अनुसार निष्पादन भूमिका को और अधिक अनुकूलित कर सकते हैं।
  4. प्रोसेसर और एस्टिमेटर ऑब्जेक्ट्स को संदर्भित करने वाले चरणों के साथ एक पाइपलाइन बनाने के निर्देशों के साथ जारी रखें, और फिर पाइपलाइन चलाएँ। प्रसंस्करण और प्रशिक्षण कार्य सेजमेकर प्रबंधित वातावरण पर चलते हैं और इसे पूरा होने में कुछ मिनट लगते हैं।
  5. स्टूडियो में, आप देख सकते हैं कि पाइपलाइन विवरण पाइपलाइन चलाने की निगरानी करता है। आप सेजमेकर कंसोल या से अंतर्निहित प्रसंस्करण और प्रशिक्षण नौकरियों की निगरानी भी कर सकते हैं अमेज़ॅन क्लाउडवॉच.

चरण कार्यों के साथ डेटा रैंगलर को एकीकृत करें

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

इस उपयोग के मामले के लिए, हमने इस पोस्ट में उपयोग किए जाने वाले सामान्य पैटर्न के आधार पर एक चरण कार्य वर्कफ़्लो बनाया है जिसमें एक प्रसंस्करण चरण, प्रशिक्षण चरण, और RegisterModel कदम। इस मामले में, हम इन चरणों को Step Functions Data Science Python SDK से आयात करते हैं। स्टेप फंक्शन वर्कफ़्लो बनाने के लिए हम इन चरणों को उसी क्रम में श्रृंखलाबद्ध करते हैं। कार्यप्रवाह डेटा रैंगलर से उत्पन्न प्रवाह फ़ाइल का उपयोग करता है, लेकिन आप अपनी स्वयं की डेटा रैंगलर प्रवाह फ़ाइल का भी उपयोग कर सकते हैं। हम डेटा रैंगलर से कुछ कोड का पुन: उपयोग करते हैं निर्यात सुविधा सरलता के लिए। हम प्रशिक्षण डेटासेट बनाने के लिए डेटा रैंगलर प्रवाह फ़ाइल द्वारा उत्पन्न डेटा प्रीप्रोसेसिंग तर्क चलाते हैं, XGBoost एल्गोरिदम का उपयोग करके एक मॉडल को प्रशिक्षित करते हैं, और प्रशिक्षित मॉडल आर्टिफैक्ट को सेजमेकर मॉडल के रूप में सहेजते हैं। इसके अतिरिक्त, GitHub रेपो में, हम यह भी दिखाते हैं कि कैसे Step Functions हमें त्रुटियों को पकड़ने और पकड़ने की अनुमति देता है, और विफलताओं को संभालता है और इसके साथ पुनः प्रयास करता है FailStateStep और CatchStateStep.

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

MLOps वर्कफ़्लो स्टेप फ़ंक्शंस के साथ बनाया गया

स्थापना और पूर्वाभ्यास

इस नमूने को चलाने के लिए, हम एक स्टूडियो वातावरण में डेटा साइंस कर्नेल के साथ चलने वाली पायथन नोटबुक का उपयोग करते हैं। सेजमेकर निष्पादन भूमिका ग्रहण करने के लिए क्रेडेंशियल्स सेट करके आप इसे स्थानीय रूप से अपनी मशीन पर पायथन नोटबुक इंस्टेंस पर भी चला सकते हैं। नोटबुक हल्का है और उदाहरण के लिए इसे t3 माध्यम उदाहरण पर चलाया जा सकता है। विस्तृत चरण-दर-चरण निर्देश में पाया जा सकता है गिटहब भंडार.

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

  1. डेटा रैंगलर से फ़्लो फ़ाइल जेनरेट करें या पूर्व-कॉन्फ़िगर किए गए टेम्प्लेट से फ़्लो फ़ाइल जेनरेट करने के लिए सेटअप स्क्रिप्ट का उपयोग करें।
  2. एक S3 बकेट बनाएं और अपनी फ्लो फाइल और इनपुट फाइल को बकेट में अपलोड करें।
  3. अपनी सेजमेकर निष्पादन भूमिका को आवश्यक अनुमतियों के साथ कॉन्फ़िगर करें जैसा कि पहले उल्लेख किया गया है। विस्तृत निर्देशों के लिए GitHub रिपॉजिटरी देखें।
  4. कार्यप्रवाह प्रारंभ करने के लिए नोटबुक को रिपॉजिटरी में चलाने के लिए निर्देशों का पालन करें। प्रसंस्करण कार्य सेजमेकर-प्रबंधित स्पार्क वातावरण पर चलता है और इसे पूरा होने में कुछ मिनट लग सकते हैं।
  5. स्टेप फंक्शंस कंसोल पर जाएं और वर्कफ़्लो को नेत्रहीन रूप से ट्रैक करें। आप त्रुटियों को डीबग करने के लिए लिंक किए गए CloudWatch लॉग पर भी नेविगेट कर सकते हैं।

आइए यहां कोड के कुछ महत्वपूर्ण अनुभागों की समीक्षा करें। वर्कफ़्लो को परिभाषित करने के लिए, हम पहले स्टेप फंक्शन स्टेट मशीन के लिए वर्कफ़्लो में चरणों को परिभाषित करते हैं। पहला कदम है data_wrangler_step डेटा प्रोसेसिंग के लिए, जो डेटा रैंगलर फ्लो फ़ाइल को कच्चे डेटा फ़ाइलों को बदलने के लिए इनपुट के रूप में उपयोग करता है। हम एक मॉडल प्रशिक्षण चरण और एक मॉडल निर्माण चरण को भी परिभाषित करते हैं जिसका नाम है training_step और model_step, क्रमश। अंत में, हम अपने द्वारा बनाए गए सभी चरणों का पालन करके एक वर्कफ़्लो बनाते हैं, जैसा कि निम्नलिखित कोड में दिखाया गया है:

from stepfunctions.steps import Chain 
from stepfunctions.workflow import Workflow 
import uuid 

workflow_graph = Chain([data_wrangler_step, training_step,model_step ]) 
branching_workflow = Workflow( name = "Wrangler-SF-Run-{}".format(uuid.uuid1().hex),definition = workflow_graph, role = iam_role ) 
branching_workflow.create()

हमारे उदाहरण में, हमने कार्य के नाम को पैरामीटर के रूप में लेने के लिए वर्कफ़्लो बनाया क्योंकि वे अद्वितीय हैं और प्रत्येक पाइपलाइन रन के दौरान बेतरतीब ढंग से उत्पन्न होने की आवश्यकता होती है। जब कार्यप्रवाह चलता है तो हम इन नामों को पास करते हैं। आप CloudWatch का उपयोग करके चलाने के लिए Step Functions वर्कफ़्लो को शेड्यूल भी कर सकते हैं (देखें AWS स्टेप फ़ंक्शंस और Amazon CloudWatch के साथ सर्वर रहित वर्कफ़्लो शेड्यूल करें), का उपयोग करके बुलाया गया अमेज़न S3 इवेंट्स, या से आह्वान किया गया अमेज़न EventBridge (देखें एक EventBridge नियम बनाएँ जो एक Step Functions वर्कफ़्लो को ट्रिगर करता है) प्रदर्शन उद्देश्यों के लिए, हम स्टेप फ़ंक्शंस कंसोल UI से स्टेप फ़ंक्शंस वर्कफ़्लो को लागू कर सकते हैं या नोटबुक से निम्नलिखित कोड का उपयोग कर सकते हैं।

# Execute workflow 
execution = branching_workflow.execute( 
			inputs=  { “ProcessingJobName”: processing_job_name, # Unique processing job name, 
				   “TrainingJobName”: training_job_name, # Unique training job name, 
				   “ModelName” : model_name # Unique model name 
				 } 
	) 
execution_output = execution.get_output(wait=True)

अपाचे एयरफ्लो के साथ डेटा रैंगलर को एकीकृत करें

ML वर्कफ़्लो बनाने का एक अन्य लोकप्रिय तरीका Apache Airflow का उपयोग करना है। अपाचे एयरफ्लो एक ओपन-सोर्स प्लेटफॉर्म है जो आपको प्रोग्रामेटिक रूप से लेखक, शेड्यूल और वर्कफ़्लो की निगरानी करने की अनुमति देता है। अमेज़ॅन एमडब्ल्यूएए बड़े पैमाने पर क्लाउड में अपाचे एयरफ्लो के साथ एंड-टू-एंड एमएल पाइपलाइनों को स्थापित करना और संचालित करना आसान बनाता है। एक एयरफ्लो पाइपलाइन में कार्यों का एक क्रम होता है, जिसे a . भी कहा जाता है वर्कफ़्लो. वर्कफ़्लो को एक डीएजी के रूप में परिभाषित किया जाता है जो कार्यों और उनके बीच निर्भरता को परिभाषित करता है, यह परिभाषित करता है कि उन्हें वर्कफ़्लो के भीतर कैसे चलना चाहिए।

हमने अपने MLOps वर्कफ़्लो को लागू करने के लिए Amazon MWAA वातावरण में एक Airflow DAG बनाया है। वर्कफ़्लो में प्रत्येक कार्य एक निष्पादन योग्य इकाई है, जिसे पायथन प्रोग्रामिंग भाषा में लिखा गया है, जो कुछ क्रिया करता है। एक कार्य या तो एक हो सकता है ऑपरेटर या एक सेंसर। हमारे मामले में, हम उपयोग करते हैं a एयरफ्लो पायथन ऑपरेटर के साथ सेजमेकर पायथन एसडीके डेटा रैंगलर पायथन स्क्रिप्ट को चलाने के लिए, और एयरफ्लो के मूल रूप से समर्थित का उपयोग करें सेजमेकर ऑपरेटर SageMaker बिल्ट-इन XGBoost एल्गोरिथम को प्रशिक्षित करने और परिणामी कलाकृतियों से मॉडल बनाने के लिए। हमने एक सहायक कस्टम डेटा रैंगलर ऑपरेटर भी बनाया (SageMakerDataWranglerOperator) Apache Airflow के लिए, जिसका उपयोग आप बिना किसी अतिरिक्त कोड की आवश्यकता के डेटा प्रोसेसिंग के लिए डेटा रैंगलर प्रवाह फ़ाइलों को संसाधित करने के लिए कर सकते हैं।

निम्न स्क्रीनशॉट हमारे एमएलओपीएस वर्कफ़्लो को लागू करने के लिए पांच चरणों के साथ एयरफ्लो डीएजी दिखाता है।

अमेज़ॅन सेजमेकर डेटा रैंगलर को एमएलओपीएस वर्कफ़्लोज़ प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के साथ एकीकृत करें। लंबवत खोज। ऐ.

वर्कफ़्लो में शेष चरणों के लिए कॉन्फ़िगरेशन प्रारंभ करने के लिए प्रारंभ चरण पायथन ऑपरेटर का उपयोग करता है। SageMaker_DataWrangler_Step का उपयोग करता है SageMakerDataWranglerOperator और डेटा प्रवाह फ़ाइल जिसे हमने पहले बनाया था। SageMaker_training_step और SageMaker_create_model_step मॉडल प्रशिक्षण और मॉडल निर्माण के लिए क्रमशः अंतर्निहित सेजमेकर ऑपरेटरों का उपयोग करें। हमारा Amazon MWAA वातावरण सबसे छोटे इंस्टेंस प्रकार (mw1.small) का उपयोग करता है, क्योंकि प्रोसेसिंग का बड़ा हिस्सा प्रोसेसिंग जॉब के माध्यम से किया जाता है, जो अपने स्वयं के इंस्टेंस प्रकार का उपयोग करता है जिसे वर्कफ़्लो के भीतर कॉन्फ़िगरेशन पैरामीटर के रूप में परिभाषित किया जा सकता है।

स्थापना और पूर्वाभ्यास

इस समाधान को परिनियोजित करने के लिए विस्तृत चरण-दर-चरण स्थापना निर्देश हमारे में पाए जा सकते हैं गिटहब भंडार. हमने Airflow DAG को सेट करने के लिए Python कोड सेल के साथ Jupyter नोटबुक का उपयोग किया। यह मानते हुए कि आपने पहले ही डेटा प्रवाह फ़ाइल तैयार कर ली है, स्थापना चरणों का एक उच्च-स्तरीय अवलोकन निम्नलिखित है:

  1. एक S3 बाल्टी बनाएँ और Amazon MWAA द्वारा आवश्यक बाद के फ़ोल्डर।
  2. Amazon MWAA वातावरण बनाएं. ध्यान दें कि हमने इस समाधान के लिए एयरफ्लो संस्करण 2.0.2 का उपयोग किया है।
  3. बनाएं और अपलोड करें requirements.txt एयरफ्लो कार्यों के लिए आवश्यक सभी पायथन निर्भरता के साथ फाइल करें और इसे अपलोड करें /requirements Amazon MWAA प्राथमिक S3 बकेट के भीतर निर्देशिका। इसका उपयोग प्रबंधित एयरफ्लो वातावरण द्वारा पायथन निर्भरता को स्थापित करने के लिए किया जाता है।
  4. अपलोड करें SMDataWranglerOperator.py के लिए फ़ाइल /dags निर्देशिका। इस पायथन लिपि में डेटा रैंगलर के लिए कस्टम एयरफ्लो ऑपरेटर के लिए कोड है। इस ऑपरेटर का उपयोग कार्यों के लिए किसी भी .flow फ़ाइल को संसाधित करने के लिए किया जा सकता है।
  5. बनाएं और अपलोड करें config.py को स्क्रिप्ट /dags निर्देशिका। इस पायथन स्क्रिप्ट का उपयोग हमारे डीएजी के पहले चरण के लिए वर्कफ़्लो के शेष चरणों के लिए आवश्यक कॉन्फ़िगरेशन ऑब्जेक्ट बनाने के लिए किया जाता है।
  6. अंत में, बनाएं और अपलोड करें ml_pipelines.py के लिए फ़ाइल /dags निर्देशिका। इस स्क्रिप्ट में Airflow वर्कफ़्लो के लिए DAG परिभाषा है। यह वह जगह है जहां हम प्रत्येक कार्य को परिभाषित करते हैं, और उनके बीच निर्भरता स्थापित करते हैं। Amazon MWAA समय-समय पर मतदान करता है /dags डीएजी बनाने के लिए इस स्क्रिप्ट को चलाने के लिए निर्देशिका या किसी भी नवीनतम परिवर्तन के साथ मौजूदा को अपडेट करें।

निम्नलिखित के लिए कोड है: SageMaker_DataWrangler_step, जो रिवाज का उपयोग करता है SageMakerDataWranglerOperator. अपनी डीएजी परिभाषा पायथन लिपि में कोड की कुछ पंक्तियों के साथ, आप इसे इंगित कर सकते हैं SageMakerDataWranglerOperator डेटा रैंगलर प्रवाह फ़ाइल स्थान (जो एक S3 स्थान है) के लिए। पर्दे के पीछे, यह ऑपरेटर उपयोग करता है सेजमेकर प्रोसेसिंग जॉब अपनी कच्ची डेटा फ़ाइलों में परिभाषित ट्रांसफ़ॉर्म लागू करने के लिए .flow फ़ाइल को संसाधित करने के लिए। आप यह भी निर्दिष्ट कर सकते हैं उदाहरण का प्रकार और डेटा रैंगलर प्रसंस्करण कार्य के लिए आवश्यक उदाहरणों की संख्या।

# Airflow Data Wrangler operator 
from SMDataWranglerOperator import SageMakerDataWranglerOperator 
preprocess_task = SageMakerDataWranglerOperator( task_id='DataWrangler_Processing_Step', 
                                                 dag=dag, 
                                                 flow_file_s3uri = flow_uri, 
                                                 processing_instance_count=2, 
                                                 instance_type='ml.m5.4xlarge', 
                                                 aws_conn_id="aws_default", 
                                                 config=config)

RSI config पैरामीटर प्रसंस्करण कार्य के लिए आवश्यक अतिरिक्त कॉन्फ़िगरेशन के एक शब्दकोश (कुंजी-मूल्य जोड़े) को स्वीकार करता है, जैसे कि अंतिम आउटपुट फ़ाइल का आउटपुट उपसर्ग, आउटपुट फ़ाइल का प्रकार (CSV या Parquet), और अंतर्निहित डेटा रैंगलर कंटेनर के लिए URI छवि। निम्नलिखित कोड क्या है config के लिए शब्दकोश SageMakerDataWranglerOperator की तरह लगता है। सेजमेकर प्रोसेसिंग के लिए ये कॉन्फ़िगरेशन आवश्यक हैं प्रक्रमक. इनमें से प्रत्येक कॉन्फ़िगरेशन पैरामीटर के विवरण के लिए, देखें सेजमेकर.प्रोसेसिंग.प्रोसेसर ().

{
	"sagemaker_role": #required SageMaker IAM Role name or ARN,
	"s3_data_type": #optional;defaults to "S3Prefix"
	"s3_input_mode": #optional;defaults to "File",
	"s3_data_distribution_type": #optional;defaults to "FullyReplicated",
	"kms_key": #optional;defaults to None,
	"volume_size_in_gb": #optional;defaults to 30,
	"enable_network_isolation": #optional;defaults to False,
	"wait_for_processing": #optional;defaults to True,
	"container_uri": #optional;defaults to built - in container URI,
	"container_uri_pinned": #optional;defaults to built - in container URI,
	"outputConfig": {
		"s3_output_upload_mode": #optional;defaults to EndOfJob
		"output_content_type": #optional;defaults to CSV
		"output_bucket": #optional;defaults to SageMaker Default bucket
		"output_prefix": #optional;defaults to None.Prefix within bucket where output will be written
	}
}

क्लीन अप

भविष्य के शुल्कों से बचने के लिए, आपके द्वारा कार्यान्वित समाधानों के लिए बनाए गए संसाधनों को हटा दें।

  1. इन का पालन करें निर्देश सेजमेकर पाइपलाइन समाधान द्वारा बनाए गए संसाधनों को साफ करने के लिए गिटहब भंडार में प्रदान किया गया।
  2. इन का पालन करें निर्देश चरण कार्य समाधान द्वारा बनाए गए संसाधनों को साफ करने के लिए गिटहब भंडार में प्रदान किया गया।
  3. इन का पालन करें निर्देश अमेज़ॅन एमडब्ल्यूएए समाधान द्वारा बनाए गए संसाधनों को साफ करने के लिए गिटहब भंडार में प्रदान किया गया।

निष्कर्ष

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

अगले चरण के रूप में, आप हमारे में कोड नमूने और नोटबुक ढूंढ़ सकते हैं और आज़मा सकते हैं गिटहब भंडार इस पोस्ट में चर्चा किए गए प्रत्येक समाधान के लिए विस्तृत निर्देशों का उपयोग करना। डेटा रैंगलर आपके एमएल वर्कलोड में कैसे मदद कर सकता है, इस बारे में अधिक जानने के लिए, डेटा रैंगलर पर जाएँ उत्पाद पृष्ठ और अमेज़ॅन सेजमेकर डेटा रैंगलर के साथ एमएल डेटा तैयार करें.


लेखक के बारे में

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

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

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

समय टिकट:

से अधिक AWS मशीन लर्निंग

अमेज़ॅन सैजमेकर जम्पस्टार्ट के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें

स्रोत नोड: 1759655
समय टिकट: नवम्बर 21, 2022

स्लीपमे कैसे वास्तविक समय में नींद की गुणवत्ता को अधिकतम करने के लिए स्वचालित तापमान नियंत्रण के लिए अमेज़ॅन सैजमेकर का उपयोग करता है

स्रोत नोड: 1834364
समय टिकट: 10 मई 2023