सेजमेकर में मॉडल होस्टिंग पैटर्न: सेजमेकर प्लेटोब्लॉकचेन डेटा इंटेलिजेंस पर मॉडल के परीक्षण और अद्यतन करने में सर्वोत्तम अभ्यास। लंबवत खोज। ऐ।

SageMaker में मॉडल होस्टिंग पैटर्न: SageMaker पर मॉडलों के परीक्षण और अद्यतन करने में सर्वोत्तम अभ्यास

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

  • तुल्यकालिक भविष्यवाणियों के लिए जिन्हें मिलीसेकंड के क्रम में प्रस्तुत करने की आवश्यकता है, सेजमेकर का उपयोग करें वास्तविक समय अनुमान
  • ऐसे कार्यभार के लिए जिनमें ट्रैफ़िक की तेजी के बीच निष्क्रिय अवधि होती है और जो ठंडी शुरुआत को सहन कर सकते हैं, इसका उपयोग करें सर्वर रहित अनुमान
  • 1 जीबी तक बड़े पेलोड आकार, लंबे प्रसंस्करण समय (15 मिनट तक) और लगभग वास्तविक समय विलंबता आवश्यकताओं (सेकंड से मिनट) वाले अनुरोधों के लिए, सेजमेकर का उपयोग करें अतुल्यकालिक अनुमान
  • संपूर्ण डेटासेट के लिए पूर्वानुमान प्राप्त करने के लिए, सेजमेकर का उपयोग करें बैच परिवर्तन

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

ऐसे कुछ उपयोग के मामले हैं जहां आप उनके प्रदर्शन को मापने, सुधार मापने या ए/बी परीक्षण चलाने के लिए एक ही मॉडल के कई वेरिएंट को उत्पादन में तैनात करना चाहते हैं। ऐसे मामलों में, सेजमेकर मल्टी-वेरिएंट एंडपॉइंट उपयोगी होते हैं क्योंकि वे आपको एक मॉडल के कई प्रोडक्शन वेरिएंट को एक ही सेजमेकर एंडपॉइंट पर तैनात करने की अनुमति देते हैं।

इस पोस्ट में, हम सेजमेकर मल्टी-वेरिएंट एंडपॉइंट्स और अनुकूलन के लिए सर्वोत्तम प्रथाओं पर चर्चा करते हैं।

सेजमेकर वास्तविक समय अनुमान विकल्पों की तुलना करना

निम्नलिखित चित्र सेजमेकर के साथ वास्तविक समय अनुमान विकल्पों का त्वरित अवलोकन देता है।

एक एकल-मॉडल समापन बिंदु आपको कम विलंबता और उच्च थ्रूपुट के लिए समर्पित उदाहरणों या सर्वर रहित पर होस्ट किए गए कंटेनर पर एक मॉडल को तैनात करने की अनुमति देता है। आप एक मॉडल बना सकते हैं और पुनः प्राप्त a सेजमेकर समर्थित छवि TensorFlow, PyTorch, Scikit-learn, आदि जैसे लोकप्रिय फ़्रेमवर्क के लिए। यदि आप अपने मॉडल के लिए कस्टम फ्रेमवर्क के साथ काम कर रहे हैं, तो आप भी कर सकते हैं अपना खुद का कंटेनर लाओ जो आपकी निर्भरता स्थापित करता है।

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

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

  • विभिन्न ढांचे (जैसे TensorFlow, PyTorch, और Scikit-learn) में होस्टिंग मॉडल जिनके पास एक उदाहरण की पूरी क्षमता को संतृप्त करने के लिए पर्याप्त ट्रैफ़िक नहीं है
  • विभिन्न एमएल एल्गोरिदम (जैसे सिफारिशें, पूर्वानुमान, या वर्गीकरण) और हैंडलर फ़ंक्शन के साथ एक ही ढांचे से होस्टिंग मॉडल
  • A/B परीक्षण जैसे परिदृश्यों के लिए विभिन्न फ्रेमवर्क संस्करणों (जैसे TensorFlow 1.x बनाम TensorFlow 2.x) पर चलने वाले समान आर्किटेक्चर की तुलना

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

सेजमेकर मल्टी-वेरिएंट एंडपॉइंट्स का अवलोकन

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

आप प्रति सेकंड अनुरोध जैसे मीट्रिक के आधार पर अपने वेरिएंट को स्वचालित रूप से अंदर या बाहर स्केल करने के लिए ऑटो स्केलिंग नीति को भी कॉन्फ़िगर कर सकते हैं।

निम्नलिखित आरेख दिखाता है कि एमवीई कैसे अधिक विस्तार से काम करता है।

सेजमेकर मल्टी-वेरिएंट एंडपॉइंट

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

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

sm_session.create_model(
	name=model_name,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url}
	)

sm_session.create_model(
	name=model_name2,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url2 }
	)

variant1 = production_variant(
	model_name=model_name,
	instance_type="ml.c5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant1",
	initial_weight=1
	)

variant2 = production_variant(
	model_name=model_name2,
	instance_type="ml.m5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant2",
	initial_weight=1
	)

sm_session.endpoint_from_production_variants(
	name=endpoint_name,
	production_variants=[variant1,  variant2]
	)

पिछले उदाहरण में, हमने दो वेरिएंट बनाए, जिनमें से प्रत्येक का अपना अलग मॉडल था (इनमें अलग-अलग इंस्टेंस प्रकार और गिनती भी हो सकती हैं)। हमने एक सेट किया initial_weight दोनों प्रकारों के लिए 1 का: इसका मतलब है कि हमारे अनुरोधों का 50% जाता है Variant1, और शेष 50% को Variant2. दोनों वेरिएंट में वज़न का योग 2 है और प्रत्येक वेरिएंट का वज़न असाइनमेंट 1 है। इसका मतलब है कि प्रत्येक वेरिएंट को कुल ट्रैफ़िक का 50% प्राप्त होता है।

समापन बिंदु का आह्वान करना सामान्य सेजमेकर निर्माण के समान है invoke_endpoint; आप पेलोड के रूप में डेटा के साथ सीधे समापन बिंदु को कॉल कर सकते हैं:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload
	)

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

मॉडल के एक विशिष्ट संस्करण को लागू करने के लिए, एक प्रकार को निर्दिष्ट करें TargetVariant को कॉल में invoke_endpoint:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload,
	TargetVariant="Variant1"
	)

आप प्रत्येक प्रकार के लिए सटीकता, परिशुद्धता, रिकॉल, एफ1 स्कोर और रिसीवर ऑपरेटिंग विशेषता/वक्र के नीचे क्षेत्र जैसे मेट्रिक्स की समीक्षा करके प्रत्येक उत्पादन संस्करण के प्रदर्शन का मूल्यांकन कर सकते हैं। अमेज़ॅन सैजमेकर मॉडल मॉनिटर. फिर आप कॉल करके प्रत्येक वैरिएंट को दिए गए भार को अपडेट करके सर्वोत्तम मॉडल पर ट्रैफ़िक बढ़ाने का निर्णय ले सकते हैं अपडेटएंडपॉइंटवेट्सएंडकैपेसिटीज. यह आपके एंडपॉइंट पर अपडेट की आवश्यकता के बिना आपके उत्पादन वेरिएंट में ट्रैफ़िक वितरण को बदल देता है। इसलिए प्रारंभिक सेटअप से 50% ट्रैफ़िक के बजाय, हम 75% ट्रैफ़िक को स्थानांतरित कर देते हैं Variant2 प्रत्येक संस्करण का उपयोग करके नए भार निर्दिष्ट करके UpdateEndpointWeightsAndCapacities। निम्नलिखित कोड देखें:

sm.update_endpoint_weights_and_capacities(
	EndpointName=endpoint_name,
	DesiredWeightsAndCapacities=[
	{
		"DesiredWeight": 25,
		"VariantName": variant1["VariantName"]
	},
	{
		"DesiredWeight": 75,
		"VariantName": variant2["VariantName"]
	}
] )

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

मल्टी-वेरिएंट एंडपॉइंट के लाभ

सेजमेकर एमवीई आपको निम्नलिखित कार्य करने की अनुमति देता है:

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

मल्टी-वेरिएंट एंडपॉइंट का उपयोग करते समय चुनौतियाँ

सेजमेकर एमवीई निम्नलिखित चुनौतियों के साथ आते हैं:

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

मल्टी-वेरिएंट एंडपॉइंट के लिए सर्वोत्तम अभ्यास

सेजमेकर एमवीई का उपयोग करके मॉडल होस्ट करते समय, निम्नलिखित पर विचार करें:

  • सेजमेकर नए मॉडलों के परीक्षण के लिए बहुत अच्छा है क्योंकि आप उन्हें आसानी से ए/बी परीक्षण वातावरण में तैनात कर सकते हैं और आप केवल उसी के लिए भुगतान करते हैं जो आप उपयोग करते हैं। जब समापन बिंदु चल रहा हो तो आपसे प्रत्येक इंस्टेंस के लिए उपभोग किए गए प्रति इंस्टेंस-घंटे के हिसाब से शुल्क लिया जाता है। जब आपका परीक्षण पूरा हो जाए और आप एंडपॉइंट या वेरिएंट का बड़े पैमाने पर उपयोग नहीं कर रहे हों, तो आपको लागत बचाने के लिए इसे हटा देना चाहिए। जब आपको दोबारा इसकी आवश्यकता हो तो आप इसे हमेशा दोबारा बना सकते हैं क्योंकि मॉडल संग्रहीत है अमेज़न सरल भंडारण सेवा (अमेज़न S3)।
  • आपको मॉडलों को तैनात करने के लिए सबसे इष्टतम इंस्टेंस प्रकार और आकार का उपयोग करना चाहिए। सेजमेकर वर्तमान में ऑफर करता है एमएल गणना उदाहरण विभिन्न उदाहरण परिवारों पर. एक समापन बिंदु इंस्टेंस हर समय चल रहा है (जबकि इंस्टेंस सेवा में है)। इसलिए, सही प्रकार के उदाहरण का चयन करने से एमएल मॉडल की कुल लागत और प्रदर्शन पर महत्वपूर्ण प्रभाव पड़ सकता है। लोड परीक्षण आपके लाइव एंडपॉइंट के लिए ऑटो स्केलिंग के साथ या उसके बिना, उचित इंस्टेंस प्रकार और बेड़े के आकार को निर्धारित करने का सबसे अच्छा अभ्यास है, ताकि आपको अनावश्यक क्षमता के लिए अधिक प्रावधान और अतिरिक्त भुगतान से बचा जा सके।
  • आप क्लाउडवॉच में मॉडल के प्रदर्शन और संसाधन उपयोग की निगरानी कर सकते हैं। आप एक कॉन्फ़िगर कर सकते हैं ProductionVariant उपयोग करने के लिए आवेदन ऑटो स्केलिंग. स्केलिंग नीति के लिए मेट्रिक्स और लक्ष्य मान निर्दिष्ट करने के लिए, आप एक लक्ष्य-ट्रैकिंग स्केलिंग नीति कॉन्फ़िगर करते हैं। आप या तो पूर्वनिर्धारित मीट्रिक या कस्टम मीट्रिक का उपयोग कर सकते हैं। नीति कॉन्फ़िगरेशन सिंटैक्स के बारे में अधिक जानकारी के लिए देखें TargetTrackingScalingPolicyConfiguration. स्वचालित स्केलिंग कॉन्फ़िगर करने के बारे में जानकारी के लिए देखें अमेज़ॅन सेजमेकर मॉडल को स्वचालित रूप से स्केल करें. किसी वैरिएंट के लिए लक्ष्य-ट्रैकिंग स्केलिंग नीति को शीघ्रता से परिभाषित करने के लिए, आप एक विशिष्ट क्लाउडवॉच मीट्रिक चुन सकते हैं और थ्रेशोल्ड मान सेट कर सकते हैं। उदाहरण के लिए, मीट्रिक का उपयोग करें SageMakerVariantInvocationsPerInstance किसी वैरिएंट के लिए प्रत्येक उदाहरण को प्रति मिनट औसतन कितनी बार लागू किया जाता है, इसकी निगरानी करना, या मीट्रिक का उपयोग करना CPUUtilization सीपीयू द्वारा संभाले गए कार्य के योग की निगरानी करना। निम्नलिखित उदाहरण का उपयोग करता है SageMakerVariantInvocationsPerInstance विभिन्न इंस्टेंस की संख्या को समायोजित करने के लिए पूर्वनिर्धारित मीट्रिक ताकि प्रत्येक इंस्टेंस में एक InvocationsPerInstance 70 का मीट्रिक:
{
	"TargetValue": 70.0,
	"PredefinedMetricSpecification":
	{
		"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
	}
}

  • किसी मॉडल को तैनात करने के बाद मॉडल कलाकृतियों को बदलना या हटाना या अनुमान कोड बदलना अप्रत्याशित परिणाम उत्पन्न करता है। मॉडलों को उत्पादन में तैनात करने से पहले, यह जांचना एक अच्छा अभ्यास है कि अनुमान कोड स्निपेट्स (जैसे) को पर्याप्त रूप से डीबग करने के बाद स्थानीय मोड में मॉडल होस्टिंग सफल है या नहीं model_fn, input_fn, predict_fn, तथा output_fn) स्थानीय विकास परिवेश में जैसे सेजमेकर नोटबुक इंस्टेंस या स्थानीय सर्वर में। यदि आपको मॉडल कलाकृतियों को बदलने या हटाने या अनुमान कोड को बदलने की आवश्यकता है, तो एक नया एंडपॉइंट कॉन्फ़िगरेशन प्रदान करके एंडपॉइंट को संशोधित करें। नया एंडपॉइंट कॉन्फ़िगरेशन प्रदान करने के बाद, आप पुराने एंडपॉइंट कॉन्फ़िगरेशन के अनुरूप मॉडल कलाकृतियों को बदल या हटा सकते हैं।
  • आप सेजमेकर का उपयोग कर सकते हैं बैच परिवर्तन उत्पादन वेरिएंट का परीक्षण करने के लिए। बड़े डेटासेट से अनुमान प्राप्त करने के लिए बैच ट्रांसफ़ॉर्म आदर्श है। आप प्रत्येक नए मॉडल संस्करण के लिए एक अलग ट्रांसफ़ॉर्म जॉब बना सकते हैं और परीक्षण के लिए एक सत्यापन डेटासेट का उपयोग कर सकते हैं। प्रत्येक ट्रांसफ़ॉर्म कार्य के लिए, आउटपुट फ़ाइल के लिए Amazon S3 में एक अद्वितीय मॉडल नाम और स्थान निर्दिष्ट करें। परिणामों का विश्लेषण करने के लिए, उपयोग करें अनुमान पाइपलाइन लॉग और मेट्रिक्स.

निष्कर्ष

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

संदर्भ


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

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

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

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

समय टिकट:

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