अमेज़ॅन सैजमेकर के साथ एंडपॉइंट्स की सेवा करने वाले रीयल-टाइम अनुमान मॉडल के लिए MLOps परिनियोजन सर्वोत्तम अभ्यास cgitaik synthetic intelligence information AI
अपने मशीन लर्निंग (एमएल) मॉडल का निर्माण, प्रशिक्षण और मूल्यांकन करने के बाद यह सुनिश्चित करने के लिए कि यह प्रस्तावित व्यावसायिक समस्या को हल कर रहा है, आप उस मॉडल को व्यवसाय संचालन में निर्णय लेने में सक्षम बनाना चाहते हैं। व्यवसाय-महत्वपूर्ण कार्यों का समर्थन करने वाले मॉडल एक उत्पादन वातावरण में तैनात किए जाते हैं जहां एक मॉडल रिलीज़ रणनीति लागू की जाती है। एमएल मॉडल की प्रकृति को देखते हुए, जहां डेटा लगातार बदल रहा है, आप यह भी सुनिश्चित करना चाहते हैं कि एक परिनियोजित मॉडल अभी भी नए डेटा के लिए प्रासंगिक है और जब ऐसा नहीं होता है तो मॉडल को अपडेट किया जाता है। इसमें एक परिनियोजन रणनीति चुनना शामिल है जो जोखिम और डाउनटाइम को कम करता है। इस इष्टतम परिनियोजन रणनीति को मॉडल की उच्च उपलब्धता बनाए रखनी चाहिए, जो पहले से ही उत्पादन में है, उसके लिए एक अवर मॉडल को तैनात करने की व्यावसायिक लागत पर विचार करें और पिछले मॉडल संस्करण में आसानी से वापस आने के लिए कार्यक्षमता शामिल करें। इनमें से कई अनुशंसित विचार और परिनियोजन पैटर्न भी इसमें शामिल हैं AWS वेल आर्किटेक्चरेड फ्रेमवर्क – मशीन लर्निंग लेंस.
सही परिनियोजन रणनीति चुनने के अलावा, उस रणनीति को एक विश्वसनीय तंत्र का उपयोग करके कार्यान्वित किया जाना चाहिए जिसमें MLOps प्रथाएं शामिल हों। MLOps में ऐसी प्रथाएँ शामिल हैं जो ML वर्कलोड को रिलीज़ प्रबंधन, CI/CD और संचालन में एकीकृत करती हैं, ML परियोजनाओं के अनूठे पहलुओं के लिए लेखांकन, जिसमें मॉडल की तैनाती और निगरानी के लिए विचार शामिल हैं। MLOps के लिए Amazon SageMaker उन्नत तैनाती पैटर्न का उपयोग करके नए मॉडल को तैनात करने और प्रबंधित करने की क्षमताओं सहित एमएल जीवनचक्र में कदमों को स्वचालित और मानकीकृत करने के लिए उद्देश्य से निर्मित उपकरण प्रदान करता है।
इस पोस्ट में, हम चर्चा करते हैं कि एमएल मॉडल को कैसे परिनियोजित किया जाए अमेज़न सैजमेकर एक दोहराने योग्य और स्वचालित तरीके से, एकीकृत करना उत्पादन वेरिएंट और तैनाती रेलिंग एमएलओपीएस समाधानों के साथ सेजमेकर की क्षमताएं। हम आपको एक परिचय देते हैं कि कैसे SageMaker के MLOps टूल को SageMaker मॉडल परिनियोजन पैटर्न के साथ एकीकृत किया जाए, जो रीयल-टाइम सिंगल-मॉडल एंडपॉइंट पर ध्यान केंद्रित करता है।
समाधान अवलोकन
हम निम्नलिखित मॉडल परीक्षण और रेलिंग पैटर्न और SageMaker MLOps टूल के साथ उनके एकीकरण का पता लगाते हैं:
- मॉडल परीक्षण – हम वर्तमान मॉडल संस्करण को बदलने से पहले उत्पादन में विभिन्न मॉडल संस्करणों की तुलना करते हैं। यह पोस्ट निम्नलिखित मॉडल परीक्षण क्षमताओं की तुलना करती है:
- ए / बी परीक्षण – ए/बी परीक्षण के साथ, आप अपने मॉडल के प्रकारों के बीच समापन बिंदु ट्रैफ़िक वितरित करके उत्पादन में अपने मॉडल के विभिन्न संस्करणों की तुलना करते हैं। ए/बी टेस्टिंग का उपयोग उन परिदृश्यों में किया जाता है जहां क्लोज्ड लूप फीडबैक सीधे मॉडल आउटपुट को डाउनस्ट्रीम बिजनेस मेट्रिक्स से जोड़ सकता है। इस प्रतिक्रिया का उपयोग तब एक मॉडल से दूसरे में बदलने के सांख्यिकीय महत्व को निर्धारित करने के लिए किया जाता है, जिससे आपको लाइव उत्पादन परीक्षण के माध्यम से सर्वश्रेष्ठ मॉडल का चयन करने में मदद मिलती है।
- छाया परीक्षण – छाया परीक्षणों के साथ, आप उत्पादन मॉडल और नए मॉडल को समानांतर में अनुरोध भेजकर उत्पादन में अपने मॉडल के एक नए संस्करण का परीक्षण करते हैं। उत्पादन मॉडल से भविष्यवाणी प्रतिक्रिया डेटा को एप्लिकेशन को परोसा जाता है, जबकि नए मॉडल संस्करण की भविष्यवाणी को परीक्षण के लिए संग्रहीत किया जाता है, लेकिन उत्पादन एप्लिकेशन को नहीं दिया जाता है। छाया परीक्षण का उपयोग उन स्थितियों में किया जाता है जहां कोई बंद लूप फीडबैक नहीं होता है जो किसी व्यवसाय मीट्रिक को मॉडल की भविष्यवाणियों पर वापस मैप करता है। इस परिदृश्य में, आप डाउनस्ट्रीम व्यापार मेट्रिक्स पर किसी भी प्रभाव के बजाय कई मॉडलों की तुलना करने के लिए मॉडल गुणवत्ता और परिचालन मेट्रिक्स का उपयोग करते हैं।
- यातायात स्थानांतरित करना – जब आप मॉडल के नए संस्करण का परीक्षण कर लेते हैं और उसके प्रदर्शन से संतुष्ट हो जाते हैं, तो अगला कदम ट्रैफिक को मौजूदा मॉडल से नए मॉडल पर स्थानांतरित करना है। नीले/हरे परिनियोजन रेलिंग SageMaker में आप नियंत्रित तरीके से उत्पादन के मौजूदा मॉडल (नीले बेड़े) से नए (हरे बेड़े) में आसानी से स्विच कर सकते हैं। ब्लू/ग्रीन परिनियोजन आपके मॉडल के अपडेट के दौरान डाउनटाइम से बचते हैं, जैसे कि आपके पास इन-प्लेस परिनियोजन परिदृश्य में क्या होगा। मॉडल की उपलब्धता को अधिकतम करने के लिए, इस लेखन के अनुसार, SageMaker में मॉडल अपडेट के लिए नीले/हरे परिनियोजन डिफ़ॉल्ट विकल्प हैं। हम इस पोस्ट में निम्नलिखित ट्रैफ़िक स्थानांतरण विधियों पर चर्चा करते हैं:
- एक दम से ट्रैफिक शिफ्ट हो रहा है – ग्रीन फ्लीट उपलब्ध होने के बाद आपके एंडपॉइंट ट्रैफ़िक का 100% आपके ब्लू फ़्लीट से आपके ग्रीन फ़्लीट में स्थानांतरित कर दिया जाता है। हम उपयोग करते हैं एलार्म में अमेज़न क्लाउडवॉच जो एक निर्धारित समय के लिए आपके हरित बेड़े की निगरानी करता है ( बेकिंग अवधि) और यदि कोई अलार्म चालू नहीं होता है, तो बेकिंग अवधि के बाद ब्लू फ्लीट को SageMaker द्वारा हटा दिया जाता है।
- कैनरी ट्रैफिक शिफ्टिंग – आपका ग्रीन फ्लीट पहले आपके ट्रैफ़िक के एक छोटे से हिस्से के संपर्क में आता है (a पीतचटकी) और बेकिंग अवधि के लिए क्लाउडवॉच अलार्म का उपयोग करने वाले किसी भी मुद्दे के लिए मान्य है, जबकि ब्लू फ्लीट अधिकांश समापन बिंदु ट्रैफ़िक प्राप्त करता रहता है। ग्रीन फ़्लीट के मान्य होने के बाद, सभी ट्रैफ़िक को नए फ़्लीट में स्थानांतरित कर दिया जाता है और फिर सेजमेकर द्वारा ब्लू फ़्लीट को हटा दिया जाता है।
- नीला/हरा रैखिक यातायात स्थानांतरण रेलिंग – आप धीरे-धीरे अपने नीले बेड़े से अपने हरे रंग के बेड़े में एक कदम दृष्टिकोण में यातायात को स्थानांतरित करते हैं। ब्लू फ्लीट को पूरी तरह से बदलने से पहले प्रत्येक चरण में बेकिंग अवधि के लिए क्लाउडवॉच अलार्म के साथ आपके मॉडल की निगरानी की जाती है।
यह पोस्ट उन आर्किटेक्चर का वर्णन करने पर केंद्रित है जो हमारे द्वारा सूचीबद्ध परिनियोजन रेलिंग और मॉडलिंग परीक्षण रणनीतियों के माध्यम से मॉडलों की नियंत्रित तैनाती करने के लिए SageMaker MLOps सुविधाओं का उपयोग करते हैं। इन पैटर्नों पर सामान्य जानकारी के लिए देखें Amazon SageMaker परिनियोजन रेलिंग का उपयोग करके उन्नत परिनियोजन रणनीतियों का लाभ उठाएं और परिनियोजन रेलिंग.
सैजमेकर के साथ एक मॉडल तैनात करें
सेजमेकर एक विस्तृत श्रृंखला प्रदान करता है परिनियोजन विकल्प जो कम विलंबता और उच्च थ्रुपुट से लेकर लंबे समय तक चलने वाले अनुमान कार्यों में भिन्न होता है। इन विकल्पों में बैच, रीयल-टाइम या के लिए विचार शामिल हैं वास्तविक समय अनुमान के पास. प्रत्येक विकल्प अलग-अलग उन्नत सुविधाएँ प्रदान करता है, जैसे कि एक समापन बिंदु पर कई मॉडल चलाने की क्षमता। हालाँकि, जैसा कि पहले उल्लेख किया गया है, इस पोस्ट के लिए, हम केवल सिंगल-मॉडल एंडपॉइंट्स का उपयोग करके MLOps परिनियोजन पैटर्न को कवर करते हैं। रीयल-टाइम अनुमान के लिए अधिक उन्नत सैजमेकर परिनियोजन सुविधाओं में गोता लगाने के लिए देखें Amazon SageMaker, भाग 2 में मॉडल होस्टिंग पैटर्न: SageMaker पर रियल टाइम मॉडल को तैनात करने के साथ शुरुआत करना.
निरंतर वितरण (सीडी) पाइपलाइनों का उपयोग करके उन्नत परिनियोजन पैटर्न के कार्यान्वयन को समझने के लिए, पहले SageMaker के भीतर एक प्रमुख अवधारणा पर चर्चा करें जिसे कहा जाता है मॉडल वेरिएंट.
सेजमेकर मॉडल वेरिएंट
मॉडल वेरिएंट आपको अपने मॉडल का परीक्षण करने के लिए एक ही समापन बिंदु पर अपने मॉडल के कई संस्करणों को तैनात करने की अनुमति देता है। मॉडल वेरिएंट को अलग-अलग इंस्टेंस के लिए डिप्लॉय किया जाता है, इसलिए किसी एक के अपडेट होने पर दूसरे वेरिएंट पर कोई असर नहीं पड़ता है. SageMaker में, मॉडल वेरिएंट को प्रोडक्शन और शैडो वेरिएंट के रूप में लागू किया जाता है।
प्रोडक्शन वेरिएंट आपको उनके प्रदर्शन की तुलना करने के लिए अपने मॉडल के कई संस्करणों का A/B परीक्षण करने की अनुमति देता है। इस परिदृश्य में, आपके मॉडल के सभी संस्करण मॉडल अनुरोधों पर प्रतिक्रियाएँ लौटाते हैं। आपका समापन बिंदु ट्रैफ़िक मौजूदा प्रकारों के बीच या तो ट्रैफ़िक वितरण द्वारा वितरित किया जाता है, जहाँ आप प्रत्येक प्रकार के लिए एक भार निर्दिष्ट करते हैं, या लक्ष्य संस्करण द्वारा, जहाँ एक निश्चित पैरामीटर (उदाहरण के लिए क्षेत्र या बाज़ार) यह तय करता है कि किस मॉडल को लागू किया जाना चाहिए।
छाया वेरिएंट आपको अपने मॉडल के नए संस्करण का छाया परीक्षण करने की अनुमति देता है। इस परिदृश्य में, आपके मॉडल का उत्पादन संस्करण और छाया संस्करण समान समापन बिंदु के समानांतर में तैनात हैं। शैडो वेरिएंट को आपके एंडपॉइंट से पूरा (या सैंपल किया हुआ) डेटा ट्रैफ़िक मिलता है। हालाँकि, केवल उत्पादन वेरिएंट की भविष्यवाणियाँ आपके एप्लिकेशन के उपयोगकर्ताओं को वापस भेजी जाती हैं, और शैडो वेरिएंट के पूर्वानुमानों को विश्लेषण के लिए लॉग किया जाता है। क्योंकि शैडो वेरिएंट प्रोडक्शन वेरिएंट से अलग-अलग उदाहरणों पर लॉन्च किए जाते हैं, इसमें आपके प्रोडक्शन वेरिएंट पर कोई प्रदर्शन प्रभाव नहीं पड़ता है…
Source link