अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

अमेज़ॅन सैजमेकर छाया परीक्षण के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें

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

इस पोस्ट में, हम इस नई सैजमेकर क्षमता को प्रदर्शित करते हैं। इस GitHub में संबंधित नमूना नोटबुक उपलब्ध है कोष.

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

आपके मॉडल सर्विंग इंफ्रास्ट्रक्चर में मशीन लर्निंग (एमएल) मॉडल, सर्विंग कंटेनर या कंप्यूट इंस्टेंस शामिल हैं। आइए निम्नलिखित परिदृश्यों पर विचार करें:

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

निम्नलिखित चित्र हमारे समाधान वास्तुकला को दर्शाता है।

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

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

A छाया संस्करण (नया) उत्पादन संस्करण के समान घटक हैं। अनुरोधों का एक उपयोगकर्ता-निर्दिष्ट भाग, जिसे के रूप में जाना जाता है यातायात नमूना प्रतिशत, छाया संस्करण के लिए अग्रेषित किया जाता है। आप छाया संस्करण की प्रतिक्रिया को लॉग इन करना चुन सकते हैं अमेज़न सरल भंडारण सेवा (अमेज़न S3) या इसे त्याग दें।

ध्यान दें कि SageMaker प्रति समापन बिंदु अधिकतम एक छाया संस्करण का समर्थन करता है। शैडो वेरिएंट वाले एंडपॉइंट के लिए, अधिकतम एक प्रोडक्शन वेरिएंट हो सकता है।

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

आप इस क्षमता का उपयोग दो तरीकों में से एक में कर सकते हैं:

  • सैजमेकर कंसोल का उपयोग करके प्रबंधित छाया परीक्षण - छाया परीक्षण की एंड-टू-एंड यात्रा को प्रबंधित करने के लिए आप एक निर्देशित अनुभव के लिए कंसोल का लाभ उठा सकते हैं। यह आपको समय की पूर्वनिर्धारित अवधि के लिए छाया परीक्षण सेटअप करने देता है, लाइव डैशबोर्ड के माध्यम से प्रगति की निगरानी करता है, पूरा होने पर सफाई करता है और परिणामों पर कार्य करता है।
  • SageMaker Inference APIs का उपयोग करके स्वयं-सेवा छाया परीक्षण – यदि आपका परिनियोजन वर्कफ़्लो पहले से ही क्रिएट/अपडेट/डिलीट-एंडपॉइंट एपीआई का उपयोग करता है, तो आप शैडो वेरिएंट को प्रबंधित करने के लिए उनका उपयोग करना जारी रख सकते हैं।

निम्नलिखित अनुभागों में, हम इनमें से प्रत्येक परिदृश्य के माध्यम से चलते हैं।

परिदृश्य 1 - सैजमेकर कंसोल का उपयोग करके प्रबंधित छाया परीक्षण

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

पूर्व आवश्यक वस्तुएँ

SageMaker पर प्रोडक्शन और शैडो के मॉडल बनाने की जरूरत है। कृपया देखें CreateModel API यहाँ उत्पन्न करें.

चरण 1 - एक छाया परीक्षण बनाएँ

पर नेविगेट करें अनुमान सैजमेकर कंसोल के बाएं नेविगेशन पैनल का अनुभाग और फिर छाया परीक्षण चुनें। यह आपको सभी शेड्यूल किए गए, चल रहे और पूर्ण किए गए छाया परीक्षणों वाले डैशबोर्ड पर ले जाएगा। क्लिक करें 'एक छाया परीक्षण बनाएँ'. परीक्षण के लिए एक नाम दर्ज करें और अगला चुनें।

यह आपको छाया परीक्षण सेटिंग पृष्ठ पर ले जाएगा। आप एक मौजूदा IAM भूमिका चुन सकते हैं या एक बना सकते हैं जिसमें IAM भूमिका हो AmazonSageMakerFullAccess IAM नीति संलग्न है। अगला, चुनें 'एक नया समापन बिंदु बनाएं' और एक नाम दर्ज करें (xgb-prod-shadow-1)। आप 'पर क्लिक करके इस एंडपॉइंट से जुड़े एक प्रोडक्शन और एक शैडो वेरिएंट को जोड़ सकते हैं।जोड़ें' वेरिएंट सेक्शन में। आप 'में बनाए गए मॉडलों का चयन कर सकते हैं।मॉडल जोड़ें' संवाद बॉक्स। यह एक प्रोडक्शन या वैरिएंट बनाता है। वैकल्पिक रूप से, आप प्रत्येक प्रकार से संबद्ध आवृत्ति प्रकार और गणना को बदल सकते हैं।

सारा ट्रैफिक प्रोडक्शन वेरिएंट में जाता है और यह इनवोकेशन रिक्वेस्ट का जवाब देता है। आप उन अनुरोधों के एक हिस्से को नियंत्रित कर सकते हैं जो शैडो वेरिएंट में रूट किए गए हैं Traffic Sampling Percentage.

आप परीक्षण की अवधि को एक घंटे से 30 दिनों तक नियंत्रित कर सकते हैं। यदि निर्दिष्ट नहीं है, तो यह 7 दिनों के लिए डिफ़ॉल्ट है। इस अवधि के बाद, परीक्षण को पूर्ण चिह्नित किया जाता है। यदि आप किसी मौजूदा समापन बिंदु पर एक परीक्षण चला रहे हैं, तो पूरा होने पर परीक्षण शुरू करने से पहले इसे वापस राज्य में ले जाया जाएगा।

आप वैकल्पिक रूप से शैडो वेरिएंट के अनुरोधों और प्रतिक्रियाओं को कैप्चर कर सकते हैं डेटा कैप्चर विकल्प। यदि अनिर्दिष्ट छोड़ दिया जाए, तो छाया संस्करण की प्रतिक्रियाओं को छोड़ दिया जाता है।

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

चरण 2 - छाया परीक्षण की निगरानी करें

आप नेविगेट करके छाया परीक्षणों की सूची देख सकते हैं Shadow Tests अनुमान के तहत अनुभाग। शैडो टेस्ट के विवरण देखने के लिए पिछले चरण में बनाए गए शैडो टेस्ट पर क्लिक करें और जब यह चल रहा हो या इसके पूरा होने के बाद इसकी निगरानी करें।

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

मेट्रिक्स अनुभाग प्रमुख मेट्रिक्स की तुलना प्रदान करता है और वर्णनात्मक आंकड़ों के साथ-साथ उत्पादन और छाया वेरिएंट के बीच ओवरले ग्राफ प्रदान करता है। आप इनवोकेशन मेट्रिक्स की तुलना कर सकते हैं जैसे ModelLatency और Invocation4xxErrors साथ ही इंस्टेंस मेट्रिक्स जैसे CPUUtilization और DiskUtilization.

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

चरण 3 - शैडो वेरिएंट को नए प्रोडक्शन वेरिएंट में प्रमोट करें

तुलना करने पर, आप या तो शैडो वेरिएंट को नए प्रोडक्शन वेरिएंट के रूप में प्रचारित करना चुन सकते हैं या शैडो वेरिएंट को हटा सकते हैं। इन दोनों विकल्पों के लिए 'चुनें'पूर्ण चिह्नित करें' पृष्ठ के शीर्ष पर। यह आपको शैडो वेरिएंट को बढ़ावा देने या हटाने का विकल्प देता है।

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

एक बार जब आप परिनियोजन की पुष्टि कर लेते हैं, तो SageMaker छाया संस्करण को नए उत्पादन संस्करण में बढ़ावा देने के लिए आपके एंडपॉइंट के लिए एक अपडेट शुरू करेगा। जैसा कि SageMaker सभी अपडेट के साथ होता है, अपडेट के दौरान भी आपका एंडपॉइंट चालू रहेगा।

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

परिदृश्य 2: सैजमेकर अनुमान एपीआई का उपयोग करके छाया परीक्षण

यह खंड कवर करता है कि छाया वेरिएंट को तैनात करने के लिए मौजूदा सैजमेकर क्रिएट/अपडेट/डिलीट-एंडपॉइंट एपीआई का उपयोग कैसे करें।

इस उदाहरण के लिए, हमारे पास दो XGBoost मॉडल हैं जो पूर्व-प्रशिक्षित मॉडल के दो अलग-अलग संस्करणों का प्रतिनिधित्व करते हैं। model.tar.gz वर्तमान में उत्पादन में तैनात मॉडल है। model2 नया मॉडल है, और हम उत्पादन में इसका उपयोग करने का निर्णय लेने से पहले विलंबता जैसे परिचालन मेट्रिक्स के संदर्भ में इसके प्रदर्शन का परीक्षण करना चाहते हैं। हम तैनात करते हैं model2 के छाया रूप के रूप में model.tar.gz. दोनों पूर्व-प्रशिक्षित मॉडल सार्वजनिक S3 बकेट में संग्रहीत हैं s3://sagemaker-sample-files. हम पहले मॉडल को हमारे स्थानीय कंप्यूट इंस्टेंस को डाउनलोड करते हैं और फिर S3 पर अपलोड करते हैं।

इस उदाहरण के मॉडल का उपयोग किसी मोबाइल ग्राहक द्वारा अपने वर्तमान मोबाइल ऑपरेटर को छोड़ने की संभावना का अनुमान लगाने के लिए किया जाता है। हमारे द्वारा उपयोग किया जाने वाला डेटासेट सार्वजनिक रूप से उपलब्ध है और पुस्तक में इसका उल्लेख किया गया है डेटा में ज्ञान की खोज डेनियल टी. लैरोज़ द्वारा। इन मॉडलों का उपयोग करके प्रशिक्षित किया गया था XGB मंथन भविष्यवाणी नोटबुक सेजमेकर में। आप अपने स्वयं के पूर्व-प्रशिक्षित मॉडल का भी उपयोग कर सकते हैं, जिस स्थिति में आप डाउनलोड करना छोड़ सकते हैं s3://sagemaker-sample-files और अपने मॉडल को सीधे मॉडल/फ़ोल्डर में कॉपी करें।

!aws s3 cp s3://sagemaker-sample-files/models/xgb-churn/xgb-churn-prediction-model.tar.gz model/
!aws s3 cp s3://sagemaker-sample-files/models/xgb-churn/xgb-churn-prediction-model2.tar.gz model/

चरण 1 - मॉडल बनाएं

हम मॉडल फ़ाइलों को अपने स्वयं के S3 बकेट में अपलोड करते हैं और दो SageMaker मॉडल बनाते हैं। निम्न कोड देखें:

model_url = S3Uploader.upload(
    local_path="model/xgb-churn-prediction-model.tar.gz",
    desired_s3_uri=f"s3://{bucket}/{prefix}",
)
model_url2 = S3Uploader.upload(
    local_path="model/xgb-churn-prediction-model2.tar.gz",
    desired_s3_uri=f"s3://{bucket}/{prefix}",
from sagemaker import image_uris
image_uri = image_uris.retrieve("xgboost", boto3.Session().region_name, "0.90-1")
image_uri2 = image_uris.retrieve("xgboost", boto3.Session().region_name, "0.90-2")

model_name = f"DEMO-xgb-churn-pred-{datetime.now():%Y-%m-%d-%H-%M-%S}"
model_name2 = f"DEMO-xgb-churn-pred2-{datetime.now():%Y-%m-%d-%H-%M-%S}"

resp = sm.create_model(
    ModelName=model_name,
    ExecutionRoleArn=role,
    Containers=[{"Image": image_uri, "ModelDataUrl": model_url}],
)

resp = sm.create_model(
    ModelName=model_name2,
    ExecutionRoleArn=role,
    Containers=[{"Image": image_uri2, "ModelDataUrl": model_url2}],
)

चरण 2 - दो मॉडलों को उत्पादन और छाया वेरिएंट के रूप में एक वास्तविक समय अनुमान समापन बिंदु पर तैनात करें

हम प्रोडक्शन और शैडो वेरिएंट के साथ एक एंडपॉइंट कॉन्फिगरेशन बनाते हैं। ProductionVariants और ShadowProductionVariants विशेष रुचि के हैं। इन दोनों रूपों में 5 वीसीपीयू और 4 जीआईबी मेमोरी के साथ एमएल.एम16.एक्सलार्ज उदाहरण हैं, और प्रारंभिक उदाहरण गिनती 1 पर सेट है। निम्न कोड देखें:

ep_config_name = f"Shadow-EpConfig-{datetime.now():%Y-%m-%d-%H-%M-%S}"
production_variant_name = "production"
shadow_variant_name = "shadow"
create_endpoint_config_response = sm.create_endpoint_config(
    EndpointConfigName=ep_config_name,
    ProductionVariants=[
    # Type: Array of ProductionVariant (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html) objects
      { 
         "VariantName": shadow_variant_name,
        {
            "VariantName": production_variant_name,
            "ModelName": model_name,
            "InstanceType": "ml.m5.xlarge",
            "InitialInstanceCount": 2,
            "InitialVariantWeight": 1,
        }
    ],
     # Type: Array of ShadowProductionVariants 
    ShadowProductionVariants = [
         "ModelName": model_name2,
         "InitialInstanceCount": 1,
         "InitialVariantWeight": 0.5,
         "InstanceType": "ml.m5.xlarge" 
      }
   ]
)

अंत में, हम प्रोडक्शन और शैडो वेरिएंट बनाते हैं:

endpoint_name = f"xgb-prod-shadow-{datetime.now():%Y-%m-%d-%H-%M-%S}"
create_endpoint_api_response = sm.create_endpoint(
                                    EndpointName=endpoint_name,
                                    EndpointConfigName=ep_config_name,
                                )

चरण 3 - परीक्षण के लिए समापन बिंदु को आमंत्रित करें

समापन बिंदु सफलतापूर्वक बन जाने के बाद, आप इसे लागू करना शुरू कर सकते हैं। हम क्रमबद्ध तरीके से लगभग 3,000 अनुरोध भेजते हैं:

def invoke_endpoint(endpoint_name, wait_interval_sec=0.01, should_raise_exp=False):
    with open("test_data/test-dataset-input-cols.csv", "r") as f:
        for row in f:
            payload = row.rstrip("n")
            try:
                for i in range(10): #send the same payload 10 times for testing purpose
                    response = sm_runtime.invoke_endpoint(
                        EndpointName=endpoint_name, ContentType="text/csv", Body=payload
                    )
            except Exception as e:
                print("E", end="", flush=True)
                if should_raise_exp:
                    raise e

invoke_endpoint(endpoint_name)

चरण 4 - मेट्रिक्स की तुलना करें

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

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

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

अगला, आइए मॉडल विलंबता की तुलना करें (ModelLatency मीट्रिक) उत्पादन और छाया रूपों के बीच। मॉडल विलंबता एक मॉडल द्वारा प्रतिक्रिया देने में लगने वाला समय है जैसा कि SageMaker से देखा गया है। हम देख सकते हैं कि शैडो वेरिएंट के मॉडल लेटेंसी की तुलना एंड-यूजर्स को शैडो वेरिएंट के सामने लाए बिना प्रोडक्शन वेरिएंट से कैसे की जाती है।

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

हम ओवरहेड विलंबता की अपेक्षा करते हैं (OverheadLatency मेट्रिक) उत्पादन और छाया रूपों में तुलनीय होने के लिए। ओवरहेड विलंबता उस समय से मापा गया अंतराल है जब सेजमेकर को अनुरोध प्राप्त होता है जब तक कि वह ग्राहक को प्रतिक्रिया नहीं देता है, मॉडल विलंबता को घटा देता है।

अमेज़ॅन सेजमेकर छाया परीक्षण प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ एमएल मॉडल अपडेट के उत्पादन प्रभाव को कम करें। लंबवत खोज. ऐ.

स्टेप 5- अपने शैडो वेरिएंट का प्रचार करें

छाया मॉडल को उत्पादन में बढ़ावा देने के लिए, वर्तमान के साथ एक नया समापन बिंदु विन्यास बनाएँ ShadowProductionVariant नए के रूप में ProductionVariant और हटा दें ShadowProductionVariant. इससे करंट हट जाएगा ProductionVariant और नए प्रोडक्शन वेरिएंट बनने के लिए शैडो वेरिएंट को बढ़ावा दें। हमेशा की तरह, सभी SageMaker अपडेट हुड के नीचे नीले/हरे परिनियोजन के रूप में ऑर्केस्ट्रेटेड होते हैं, और अपडेट करते समय उपलब्धता का कोई नुकसान नहीं होता है।

वैकल्पिक रूप से, आप लाभ उठा सकते हैं परिनियोजन रेलिंग यदि आप अपने अपडेट के दौरान एक साथ ट्रैफिक स्थानांतरण और ऑटो रोलबैक का उपयोग करना चाहते हैं।

promote_ep_config_name = f"PromoteShadow-EpConfig-{datetime.now():%Y-%m-%d-%H-%M-%S}"

create_endpoint_config_response = sm.create_endpoint_config(
    EndpointConfigName=promote_ep_config_name,
    ProductionVariants=[
        {
            "VariantName": shadow_variant_name,
            "ModelName": model_name2,
            "InstanceType": "ml.m5.xlarge",
            "InitialInstanceCount": 2,
            "InitialVariantWeight": 1.0,
        }
    ],
)
print(f"Created EndpointConfig: {create_endpoint_config_response['EndpointConfigArn']}")

update_endpoint_api_response = sm.update_endpoint(
    EndpointName=endpoint_name,
    EndpointConfigName=promote_ep_config_name,
)

wait_for_endpoint_in_service(endpoint_name)

sm.describe_endpoint(EndpointName=endpoint_name)

चरण 6 - साफ करें

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

dsm.delete_endpoint(EndpointName=endpoint_name)
sm.delete_endpoint_config(EndpointConfigName=ep_config_name)
sm.delete_endpoint_config(EndpointConfigName=promote_ep_config_name)
sm.delete_model(ModelName=model_name)
sm.delete_model(ModelName=model_name2)

निष्कर्ष

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


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

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

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

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

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

समय टिकट:

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

3xLOGIC मॉनिटरिंग एजेंटों को लाइव वीडियो स्ट्रीम पर बुद्धिमान वीडियो एनालिटिक्स प्रदान करने के लिए Amazon Rekognition Streaming Video Events का उपयोग करता है

स्रोत नोड: 1284772
समय टिकट: अप्रैल 28, 2022