अमेज़न SageMaker मल्टी-मॉडल एंडपॉइंट (एमएमई) सेजमेकर अनुमान की पूरी तरह से प्रबंधित क्षमता है जो आपको एक ही समापन बिंदु पर हजारों मॉडल तैनात करने की अनुमति देती है। पहले, एमएमई पूर्व-निर्धारित रूप से मॉडल ट्रैफ़िक लोड की परवाह किए बिना मॉडलों को सीपीयू कंप्यूटिंग शक्ति आवंटित करता था, मल्टी मॉडल सर्वर (एमएमएस) इसके मॉडल सर्वर के रूप में। इस पोस्ट में, हम एक समाधान पर चर्चा करते हैं जिसमें एक एमएमई मॉडल के ट्रैफ़िक पैटर्न के आधार पर प्रत्येक मॉडल को सौंपी गई गणना शक्ति को गतिशील रूप से समायोजित कर सकता है। यह समाधान आपको एमएमई की अंतर्निहित गणना का अधिक कुशलता से उपयोग करने और लागत बचाने में सक्षम बनाता है।
एमएमई अंतिम बिंदु पर आने वाले ट्रैफ़िक के आधार पर मॉडल को गतिशील रूप से लोड और अनलोड करते हैं। एमएमएस को मॉडल सर्वर के रूप में उपयोग करते समय, एमएमई प्रत्येक मॉडल के लिए एक निश्चित संख्या में मॉडल कार्यकर्ता आवंटित करते हैं। अधिक जानकारी के लिए देखें अमेज़ॅन सेजमेकर में मॉडल होस्टिंग पैटर्न, भाग 3: अमेज़ॅन सेजमेकर मल्टी-मॉडल एंडपॉइंट के साथ मल्टी-मॉडल अनुमान को चलाएं और अनुकूलित करें.
हालाँकि, जब आपका ट्रैफ़िक पैटर्न परिवर्तनशील हो तो इससे कुछ समस्याएं पैदा हो सकती हैं। मान लीजिए कि आपके पास एक या कुछ मॉडल हैं जो बड़ी मात्रा में ट्रैफ़िक प्राप्त कर रहे हैं। आप इन मॉडलों के लिए अधिक संख्या में श्रमिकों को आवंटित करने के लिए एमएमएस को कॉन्फ़िगर कर सकते हैं, लेकिन यह एमएमई के पीछे के सभी मॉडलों को सौंपा जाता है क्योंकि यह एक स्थिर कॉन्फ़िगरेशन है। इससे बड़ी संख्या में कर्मचारी हार्डवेयर कंप्यूट का उपयोग कर रहे हैं - यहां तक कि निष्क्रिय मॉडल भी। यदि आप श्रमिकों की संख्या के लिए एक छोटा मान निर्धारित करते हैं तो विपरीत समस्या हो सकती है। लोकप्रिय मॉडलों में इन मॉडलों के लिए समापन बिंदु के पीछे पर्याप्त हार्डवेयर को ठीक से आवंटित करने के लिए मॉडल सर्वर स्तर पर पर्याप्त कर्मचारी नहीं होंगे। मुख्य मुद्दा यह है कि यदि आप आवश्यक मात्रा में गणना आवंटित करने के लिए मॉडल सर्वर स्तर पर अपने कर्मचारियों को गतिशील रूप से स्केल नहीं कर सकते हैं तो ट्रैफ़िक पैटर्न के बारे में अज्ञेयवादी बने रहना मुश्किल है।
इस पोस्ट में हम जिस समाधान पर चर्चा करते हैं उसका उपयोग करता है डीजेएलसर्विंग मॉडल सर्वर के रूप में, जो उन कुछ मुद्दों को कम करने में मदद कर सकता है जिन पर हमने चर्चा की और प्रति-मॉडल स्केलिंग को सक्षम किया और एमएमई को ट्रैफ़िक पैटर्न अज्ञेयवादी होने में सक्षम बनाया।
एमएमई वास्तुकला
सेजमेकर एमएमई आपको एक एकल अनुमान समापन बिंदु के पीछे कई मॉडल तैनात करने में सक्षम बनाता है जिसमें एक या अधिक उदाहरण हो सकते हैं। प्रत्येक इंस्टेंस को उसकी मेमोरी और सीपीयू/जीपीयू क्षमता तक कई मॉडलों को लोड करने और परोसने के लिए डिज़ाइन किया गया है। इस वास्तुकला के साथ, एक सेवा के रूप में एक सॉफ्टवेयर (सास) व्यवसाय कई मॉडलों की मेजबानी की रैखिक रूप से बढ़ती लागत को तोड़ सकता है और एप्लिकेशन स्टैक में अन्यत्र लागू मल्टी-टेनेंसी मॉडल के अनुरूप बुनियादी ढांचे का पुन: उपयोग प्राप्त कर सकता है। निम्नलिखित चित्र इस वास्तुकला को दर्शाता है।
सेजमेकर एमएमई गतिशील रूप से मॉडल लोड करता है अमेज़न सरल भंडारण सेवा (अमेज़ॅन एस3) जब एंडपॉइंट पहली बार बनाया जाता है, तो सभी मॉडलों को डाउनलोड करने के बजाय। परिणामस्वरूप, किसी मॉडल के प्रारंभिक आह्वान में बाद के अनुमानों की तुलना में उच्च अनुमान विलंबता देखी जा सकती है, जो कम विलंबता के साथ पूरे होते हैं। यदि प्रारंभ होने पर मॉडल पहले से ही कंटेनर पर लोड किया गया है, तो डाउनलोड चरण छोड़ दिया जाता है और मॉडल कम विलंबता के साथ अनुमान लौटाता है। उदाहरण के लिए, मान लें कि आपके पास एक मॉडल है जिसका उपयोग दिन में केवल कुछ ही बार किया जाता है। यह स्वचालित रूप से मांग पर लोड किया जाता है, जबकि बार-बार एक्सेस किए गए मॉडल को मेमोरी में बनाए रखा जाता है और लगातार कम विलंबता के साथ लागू किया जाता है।
प्रत्येक एमएमई के पीछे मॉडल होस्टिंग इंस्टेंसेस हैं, जैसा कि निम्नलिखित चित्र में दर्शाया गया है। ये इंस्टेंसेस मॉडलों के ट्रैफ़िक पैटर्न के आधार पर कई मॉडलों को मेमोरी से लोड और बेदखल करते हैं।
सेजमेकर एक मॉडल के लिए अनुमान अनुरोधों को उस उदाहरण पर रूट करना जारी रखता है जहां मॉडल पहले से ही लोड किया गया है जैसे कि अनुरोध कैश्ड मॉडल कॉपी से परोसे जाते हैं (निम्नलिखित चित्र देखें, जो पहले भविष्यवाणी अनुरोध बनाम कैश्ड भविष्यवाणी के लिए अनुरोध पथ दिखाता है) अनुरोध पथ). हालाँकि, यदि मॉडल को कई आमंत्रण अनुरोध प्राप्त होते हैं, और एमएमई के लिए अतिरिक्त उदाहरण हैं, तो सेजमेकर वृद्धि को समायोजित करने के लिए कुछ अनुरोधों को दूसरे उदाहरण में रूट करता है। सेजमेकर में स्वचालित मॉडल स्केलिंग का लाभ उठाने के लिए, सुनिश्चित करें कि आपके पास है इंस्टेंस ऑटो स्केलिंग सेट अप अतिरिक्त उदाहरण क्षमता का प्रावधान करने के लिए। एंडपॉइंट फ़्लीट में और इंस्टेंस जोड़ने के लिए कस्टम पैरामीटर या इनवोकेशन प्रति मिनट (अनुशंसित) के साथ अपनी एंडपॉइंट-स्तरीय स्केलिंग नीति सेट करें।
मॉडल सर्वर सिंहावलोकन
एक मॉडल सर्वर एक सॉफ्टवेयर घटक है जो मशीन लर्निंग (एमएल) मॉडल को तैनात करने और परोसने के लिए एक रनटाइम वातावरण प्रदान करता है। यह प्रशिक्षित मॉडलों और क्लाइंट अनुप्रयोगों के बीच एक इंटरफ़ेस के रूप में कार्य करता है जो उन मॉडलों का उपयोग करके पूर्वानुमान लगाना चाहते हैं।
एक मॉडल सर्वर का प्राथमिक उद्देश्य उत्पादन प्रणालियों में एमएल मॉडल के सहज एकीकरण और कुशल तैनाती की अनुमति देना है। मॉडल को किसी एप्लिकेशन या विशिष्ट ढांचे में सीधे एम्बेड करने के बजाय, मॉडल सर्वर एक केंद्रीकृत प्लेटफ़ॉर्म प्रदान करता है जहां कई मॉडल तैनात, प्रबंधित और परोसे जा सकते हैं।
मॉडल सर्वर आमतौर पर निम्नलिखित कार्यक्षमताएँ प्रदान करते हैं:
- मॉडल लोड हो रहा है - सर्वर प्रशिक्षित एमएल मॉडल को मेमोरी में लोड करता है, जिससे वे भविष्यवाणियां करने के लिए तैयार हो जाते हैं।
- अनुमान एपीआई - सर्वर एक एपीआई को उजागर करता है जो क्लाइंट एप्लिकेशन को इनपुट डेटा भेजने और तैनात मॉडल से पूर्वानुमान प्राप्त करने की अनुमति देता है।
- स्केलिंग - मॉडल सर्वर कई क्लाइंट से समवर्ती अनुरोधों को संभालने के लिए डिज़ाइन किए गए हैं। वे उच्च थ्रूपुट और कम विलंबता सुनिश्चित करने के लिए समानांतर प्रसंस्करण और संसाधनों को कुशलतापूर्वक प्रबंधित करने के लिए तंत्र प्रदान करते हैं।
- बैकएंड इंजन के साथ एकीकरण - मॉडल सर्वर में बड़े मॉडलों को विभाजित करने और अत्यधिक अनुकूलित अनुमान चलाने के लिए डीपस्पीड और फास्टरट्रांसफॉर्मर जैसे बैकएंड फ्रेमवर्क के साथ एकीकरण होता है।
डीजेएल वास्तुकला
डीजेएल सर्विंग एक खुला स्रोत, उच्च प्रदर्शन, सार्वभौमिक मॉडल सर्वर है। डीजेएल सर्विंग के शीर्ष पर बनाया गया है डी जीएल, जावा प्रोग्रामिंग भाषा में लिखी गई एक गहन शिक्षण लाइब्रेरी। यह एक गहन शिक्षण मॉडल, कई मॉडल या वर्कफ़्लो ले सकता है और उन्हें HTTP एंडपॉइंट के माध्यम से उपलब्ध करा सकता है। डीजेएल सर्विंग PyTorch, TensorFlow, Apache MXNet, ONNX, TensorRT, हगिंग फेस ट्रांसफॉर्मर्स, डीपस्पीड, फास्टरट्रांसफॉर्मर और अन्य जैसे कई फ्रेमवर्क से मॉडल तैनात करने का समर्थन करता है।
डीजेएल सर्विंग कई सुविधाएँ प्रदान करती है जो आपको अपने मॉडलों को उच्च प्रदर्शन के साथ तैनात करने की अनुमति देती है:
- उपयोग की आसानी - डीजेएल सर्विंग अधिकांश मॉडलों को आउट ऑफ द बॉक्स सेवा प्रदान कर सकती है। बस मॉडल कलाकृतियाँ लाएँ, और डीजेएल सर्विंग उन्हें होस्ट कर सकती है।
- एकाधिक डिवाइस और त्वरक समर्थन - डीजेएल सर्विंग सीपीयू, जीपीयू और पर मॉडल तैनात करने का समर्थन करता है एडब्ल्यूएस इन्फेंटेंटिया.
- प्रदर्शन - डीजेएल सर्विंग थ्रूपुट को बढ़ावा देने के लिए एकल जेवीएम में मल्टीथ्रेडेड इंट्रेंस चलाता है।
- गतिशील बैचिंग - डीजेएल सर्विंग थ्रूपुट बढ़ाने के लिए डायनेमिक बैचिंग का समर्थन करता है।
- ऑटो स्केलिंग - डीजेएल सर्विंग ट्रैफिक लोड के आधार पर कर्मचारियों को स्वचालित रूप से ऊपर और नीचे स्केल करेगी।
- मल्टी-इंजन समर्थन - डीजेएल सर्विंग एक साथ विभिन्न फ्रेमवर्क (जैसे कि PyTorch और TensorFlow) का उपयोग करके मॉडल होस्ट कर सकता है।
- संयोजन और वर्कफ़्लो मॉडल - डीजेएल सर्विंग कई मॉडलों से युक्त जटिल वर्कफ़्लो को तैनात करने का समर्थन करता है, और वर्कफ़्लो के कुछ हिस्सों को सीपीयू और कुछ हिस्सों को जीपीयू पर चलाता है। वर्कफ़्लो के भीतर मॉडल विभिन्न फ़्रेमवर्क का उपयोग कर सकते हैं।
विशेष रूप से, डीजेएल सर्विंग की ऑटो स्केलिंग सुविधा यह सुनिश्चित करना आसान बनाती है कि मॉडल आने वाले ट्रैफ़िक के लिए उचित रूप से स्केल किए गए हैं। डिफ़ॉल्ट रूप से, डीजेएल सर्विंग एक मॉडल के लिए श्रमिकों की अधिकतम संख्या निर्धारित करती है जिसे उपलब्ध हार्डवेयर (सीपीयू कोर, जीपीयू डिवाइस) के आधार पर समर्थित किया जा सकता है। आप यह सुनिश्चित करने के लिए प्रत्येक मॉडल के लिए निचली और ऊपरी सीमाएं निर्धारित कर सकते हैं कि न्यूनतम ट्रैफ़िक स्तर हमेशा परोसा जा सके, और एक ही मॉडल सभी उपलब्ध संसाधनों का उपभोग न करे।
डीजेएल सर्विंग का उपयोग करता है Netty बैकएंड वर्कर थ्रेड पूल के शीर्ष पर फ्रंटएंड। फ्रंटएंड एकाधिक के साथ एकल नेटी सेटअप का उपयोग करता है HttpRequestHandlers. विभिन्न अनुरोध हैंडलर इसके लिए सहायता प्रदान करेंगे अनुमान एपीआई, प्रबंधन एपीआई, या विभिन्न प्लगइन्स से उपलब्ध अन्य एपीआई।
बैकएंड के आसपास आधारित है कार्यभार प्रबंधक (डब्ल्यूएलएम) मॉड्यूल। डब्लूएलएम प्रत्येक मॉडल के लिए बैचिंग और अनुरोध रूटिंग के साथ-साथ कई वर्कर थ्रेड का ख्याल रखता है। जब कई मॉडल पेश किए जाते हैं, तो WLM पहले प्रत्येक मॉडल के अनुमान अनुरोध कतार आकार की जांच करता है। यदि कतार का आकार किसी मॉडल के बैच आकार से दो गुना से अधिक है, तो WLM उस मॉडल को सौंपे गए श्रमिकों की संख्या को बढ़ाता है।
समाधान अवलोकन
एमएमई के साथ डीजेएल का कार्यान्वयन डिफ़ॉल्ट एमएमएस सेटअप से भिन्न है। एमएमई के साथ डीजेएल सर्विंग के लिए, हम निम्नलिखित फाइलों को model.tar.gz प्रारूप में संपीड़ित करते हैं, जिसकी सेजमेकर इंट्रेंस अपेक्षा कर रहा है:
- मॉडल.जॉबलिब - इस कार्यान्वयन के लिए, हम सीधे मॉडल मेटाडेटा को टारबॉल में धकेलते हैं। इस मामले में, हम एक के साथ काम कर रहे हैं
.joblib
फ़ाइल, इसलिए हम अपनी अनुमान स्क्रिप्ट को पढ़ने के लिए उस फ़ाइल को अपने टारबॉल में प्रदान करते हैं। यदि आर्टिफैक्ट बहुत बड़ा है, तो आप इसे अमेज़ॅन एस3 पर भी धकेल सकते हैं और डीजेएल के लिए आपके द्वारा परिभाषित सर्विंग कॉन्फ़िगरेशन में उस ओर इंगित कर सकते हैं। - सर्विंग.प्रॉपर्टीज - यहां आप सर्वर से संबंधित किसी भी मॉडल को कॉन्फ़िगर कर सकते हैं पर्यावरण चर. यहां डीजेएल की ताकत यह है कि आप इसे कॉन्फ़िगर कर सकते हैं
minWorkers
औरmaxWorkers
प्रत्येक मॉडल टारबॉल के लिए. यह प्रत्येक मॉडल को मॉडल सर्वर स्तर पर ऊपर और नीचे स्केल करने की अनुमति देता है। उदाहरण के लिए, यदि एक एकल मॉडल को एमएमई के लिए अधिकांश ट्रैफ़िक प्राप्त हो रहा है, तो मॉडल सर्वर श्रमिकों को गतिशील रूप से बढ़ा देगा। इस उदाहरण में, हम इन चरों को कॉन्फ़िगर नहीं करते हैं और डीजेएल को हमारे ट्रैफ़िक पैटर्न के आधार पर श्रमिकों की आवश्यक संख्या निर्धारित करने देते हैं। - model.py - यह किसी भी कस्टम प्रीप्रोसेसिंग या पोस्टप्रोसेसिंग के लिए अनुमान स्क्रिप्ट है जिसे आप लागू करना चाहते हैं। model.py आपके तर्क को डिफ़ॉल्ट रूप से हैंडल विधि में समाहित करने की अपेक्षा करता है।
- आवश्यकताएँ.txt (वैकल्पिक) - डिफ़ॉल्ट रूप से, DJL PyTorch के साथ इंस्टॉल होता है, लेकिन आपको जिस भी अतिरिक्त निर्भरता की आवश्यकता होती है उसे यहां डाला जा सकता है।
इस उदाहरण के लिए, हम एक नमूना SKLearn मॉडल लेकर एमएमई के साथ डीजेएल की शक्ति का प्रदर्शन करते हैं। हम इस मॉडल के साथ एक प्रशिक्षण कार्य चलाते हैं और फिर अपने एमएमई का समर्थन करने के लिए इस मॉडल आर्टिफैक्ट की 1,000 प्रतियां बनाते हैं। फिर हम दिखाते हैं कि कैसे डीजेएल आपके एमएमई को प्राप्त होने वाले किसी भी प्रकार के ट्रैफ़िक पैटर्न को संभालने के लिए गतिशील रूप से स्केल कर सकता है। इसमें सभी मॉडलों पर ट्रैफ़िक का समान वितरण या यहां तक कि अधिकांश ट्रैफ़िक प्राप्त करने वाले कुछ लोकप्रिय मॉडल भी शामिल हो सकते हैं। आप निम्नलिखित में सभी कोड पा सकते हैं गीथहब रेपो.
.. पूर्वापेक्षाएँ
इस उदाहरण के लिए, हम conda_python3 कर्नेल और ml.c5.xlarge इंस्टेंस के साथ SageMaker नोटबुक इंस्टेंस का उपयोग करते हैं। लोड परीक्षण करने के लिए, आप इसका उपयोग कर सकते हैं अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़ॅन EC2) उदाहरण या एक बड़ा सेजमेकर नोटबुक उदाहरण। इस उदाहरण में, हम प्रति सेकंड एक हजार से अधिक लेनदेन (टीपीएस) का पैमाना बनाते हैं, इसलिए हम एक भारी EC2 उदाहरण जैसे कि ml.c5.18xlarge पर परीक्षण करने का सुझाव देते हैं ताकि आपके पास काम करने के लिए अधिक गणना हो।
एक मॉडल आर्टिफैक्ट बनाएं
हमें सबसे पहले अपना मॉडल आर्टिफैक्ट और डेटा बनाना होगा जिसका उपयोग हम इस उदाहरण में करते हैं। इस मामले के लिए, हम NumPy के साथ कुछ कृत्रिम डेटा उत्पन्न करते हैं और निम्नलिखित कोड स्निपेट के साथ SKLearn रैखिक प्रतिगमन मॉडल का उपयोग करके प्रशिक्षित करते हैं:
पूर्ववर्ती कोड चलाने के बाद, आपके पास एक होना चाहिए model.joblib
आपके स्थानीय परिवेश में बनाई गई फ़ाइल.
डीजेएल डॉकर छवि खींचें
डॉकर छवि djl-inference:0.23.0-cpu-full-v1.0 इस उदाहरण में उपयोग किया जाने वाला हमारा DJL सर्विंग कंटेनर है। आप अपने क्षेत्र के आधार पर निम्नलिखित URL को समायोजित कर सकते हैं:
inference_image_uri = "474422712127.dkr.ecr.us-east-1.amazonaws.com/djl-serving-cpu:latest"
वैकल्पिक रूप से, आप इस छवि को आधार छवि के रूप में भी उपयोग कर सकते हैं और अपनी स्वयं की डॉकर छवि बनाने के लिए इसका विस्तार कर सकते हैं अमेज़ॅन इलास्टिक कंटेनर रजिस्ट्री (अमेज़ॅन ईसीआर) आपके लिए आवश्यक किसी भी अन्य निर्भरता के साथ।
मॉडल फ़ाइल बनाएँ
सबसे पहले, हम एक फाइल बनाते हैं जिसका नाम है serving.properties
. यह DJLServing को Python इंजन का उपयोग करने का निर्देश देता है। हम भी परिभाषित करते हैं max_idle_time
एक कार्यकर्ता का 600 सेकंड होना। इससे यह सुनिश्चित होता है कि हमें प्रति मॉडल अपने कर्मचारियों की संख्या कम करने में अधिक समय लगेगा। हम एडजस्ट नहीं करते minWorkers
और maxWorkers
जिसे हम परिभाषित कर सकते हैं और हम डीजेएल को प्रत्येक मॉडल को प्राप्त होने वाले ट्रैफ़िक के आधार पर आवश्यक श्रमिकों की संख्या की गतिशील रूप से गणना करने देते हैं। सर्विंग.प्रॉपर्टीज़ को इस प्रकार दिखाया गया है। कॉन्फ़िगरेशन विकल्पों की पूरी सूची देखने के लिए, देखें इंजन विन्यास.
इसके बाद, हम अपनी model.py फ़ाइल बनाते हैं, जो मॉडल लोडिंग और अनुमान तर्क को परिभाषित करती है। एमएमई के लिए, प्रत्येक model.py फ़ाइल एक मॉडल के लिए विशिष्ट है। मॉडल स्टोर के अंतर्गत मॉडलों को उनके अपने पथ में संग्रहित किया जाता है (आमतौर पर)। /opt/ml/model/
). मॉडल लोड करते समय, उन्हें अपनी निर्देशिका में मॉडल स्टोर पथ के अंतर्गत लोड किया जाएगा। इस डेमो में पूरा model.py उदाहरण देखा जा सकता है गीथहब रेपो.
हम एक बनाते हैं model.tar.gz
फ़ाइल जिसमें हमारा मॉडल शामिल है (model.joblib
), model.py
, तथा serving.properties
:
प्रदर्शन उद्देश्यों के लिए, हम इसकी 1,000 प्रतियां बनाते हैं model.tar.gz
होस्ट किए जाने वाले मॉडलों की बड़ी संख्या को दर्शाने के लिए फ़ाइल। उत्पादन में, आपको एक बनाने की आवश्यकता है model.tar.gz
अपने प्रत्येक मॉडल के लिए फ़ाइल करें।
अंत में, हम इन मॉडलों को Amazon S3 पर अपलोड करते हैं।
एक सेजमेकर मॉडल बनाएं
अब हम a . बनाते हैं सेजमेकर मॉडल. हम सेजमेकर मॉडल बनाने के लिए पहले परिभाषित ईसीआर छवि और पिछले चरण से मॉडल आर्टिफैक्ट का उपयोग करते हैं। मॉडल सेटअप में, हम मोड को मल्टीमॉडल के रूप में कॉन्फ़िगर करते हैं। यह DJLServing को बताता है कि हम एक MME बना रहे हैं।
एक सेजमेकर एंडपॉइंट बनाएं
इस डेमो में, हम हजारों रेंज में टीपीएस को स्केल करने के लिए 20 ml.c5d.18xlarge इंस्टेंसेस का उपयोग करते हैं। आप जिस टीपीएस को लक्षित कर रहे हैं उसे प्राप्त करने के लिए, यदि आवश्यक हो, तो अपने इंस्टेंस प्रकार पर सीमा वृद्धि सुनिश्चित करें।
लोड परीक्षण
लेखन के समय, सेजमेकर इन-हाउस लोड परीक्षण उपकरण अमेज़ॅन सेजमेकर अनुमान अनुशंसाकर्ता एमएमई के लिए मूल रूप से परीक्षण का समर्थन नहीं करता है। इसलिए, हम ओपन सोर्स पायथन टूल का उपयोग करते हैं टिड्डी. टिड्डी को स्थापित करना आसान है और टीपीएस और एंड-टू-एंड विलंबता जैसे मेट्रिक्स को ट्रैक कर सकता है। सेजमेकर के साथ इसे कैसे सेट अप करें, इसकी पूरी समझ के लिए देखें Amazon SageMaker रीयल-टाइम इंट्रेंस एंडपॉइंट लोड परीक्षण के लिए सर्वोत्तम अभ्यास.
इस उपयोग के मामले में, हमारे पास तीन अलग-अलग ट्रैफ़िक पैटर्न हैं जिन्हें हम एमएमई के साथ अनुकरण करना चाहते हैं, इसलिए हमारे पास निम्नलिखित तीन पायथन स्क्रिप्ट हैं जो प्रत्येक पैटर्न के साथ संरेखित हैं। यहां हमारा लक्ष्य यह साबित करना है कि, चाहे हमारा ट्रैफ़िक पैटर्न कुछ भी हो, हम समान लक्ष्य टीपीएस और स्केल को उचित रूप से प्राप्त कर सकते हैं।
हम अपने मॉडलों के विभिन्न हिस्सों में ट्रैफ़िक आवंटित करने के लिए अपनी लोकस्ट स्क्रिप्ट में एक वजन निर्दिष्ट कर सकते हैं। उदाहरण के लिए, अपने एकल हॉट मॉडल के साथ, हम निम्नानुसार दो विधियाँ लागू करते हैं:
फिर हम प्रत्येक विधि को एक निश्चित भार दे सकते हैं, जो तब होता है जब एक निश्चित विधि को ट्रैफ़िक का एक विशिष्ट प्रतिशत प्राप्त होता है:
20 ml.c5d.18xlarge उदाहरणों के लिए, हम निम्नलिखित आमंत्रण मेट्रिक्स देखते हैं अमेज़ॅन क्लाउडवॉच सांत्वना देना। ये मान तीनों ट्रैफ़िक पैटर्न में काफी हद तक सुसंगत रहते हैं। सेजमेकर रीयल-टाइम अनुमान और एमएमई के लिए क्लाउडवॉच मेट्रिक्स को बेहतर ढंग से समझने के लिए, देखें सेजमेकर एंडपॉइंट इनवोकेशन मेट्रिक्स.
आप टिड्डे की बाकी स्क्रिप्ट यहां पा सकते हैं टिड्डी-उपयोग निर्देशिका GitHub रिपॉजिटरी में।
सारांश
इस पोस्ट में, हमने चर्चा की कि कैसे एक एमएमई मॉडल के ट्रैफ़िक पैटर्न के आधार पर प्रत्येक मॉडल को सौंपी गई गणना शक्ति को गतिशील रूप से समायोजित कर सकता है। यह नया लॉन्च किया गया फीचर उन सभी AWS क्षेत्रों में उपलब्ध है जहां सेजमेकर उपलब्ध है। ध्यान दें कि घोषणा के समय, केवल सीपीयू इंस्टेंसेस समर्थित हैं। अधिक जानने के लिए, देखें समर्थित एल्गोरिदम, रूपरेखा और उदाहरण.
लेखक के बारे में
राम वेगीराजु सेजमेकर सर्विस टीम के साथ एमएल आर्किटेक्ट हैं। वह Amazon SageMaker पर ग्राहकों को उनके AI/ML समाधान बनाने और उनका अनुकूलन करने में मदद करने पर ध्यान केंद्रित करता है। अपने खाली समय में, उन्हें यात्रा करना और लिखना पसंद है।
किंगवेई ली अमेज़न वेब सर्विसेज में मशीन लर्निंग स्पेशलिस्ट है। उन्होंने अपनी पीएच.डी. ऑपरेशन रिसर्च में जब उन्होंने अपने सलाहकार के अनुसंधान अनुदान खाते को तोड़ा और नोबेल पुरस्कार देने में असफल रहे, तो उन्होंने वादा किया था। वर्तमान में वह वित्तीय सेवा और बीमा उद्योग में ग्राहकों को AWS पर मशीन लर्निंग समाधान बनाने में मदद करता है। अपने खाली समय में, वह पढ़ना और पढ़ाना पसंद करते हैं।
जेम्स वू एडब्ल्यूएस में वरिष्ठ एआई/एमएल विशेषज्ञ समाधान वास्तुकार हैं। ग्राहकों को एआई/एमएल समाधान डिजाइन और निर्माण में मदद करना। जेम्स के काम में एमएल उपयोग के मामलों की एक विस्तृत श्रृंखला शामिल है, जिसमें प्राथमिक रुचि कंप्यूटर विज़न, डीप लर्निंग और पूरे उद्यम में एमएल स्केलिंग है। एडब्ल्यूएस में शामिल होने से पहले, जेम्स इंजीनियरिंग में 10 साल और मार्केटिंग और विज्ञापन उद्योगों में 6 साल सहित 4 से अधिक वर्षों के लिए एक वास्तुकार, डेवलपर और प्रौद्योगिकी नेता थे।
सौरभ त्रिकंडे Amazon SageMaker Inference के वरिष्ठ उत्पाद प्रबंधक हैं। उन्हें ग्राहकों के साथ काम करने का शौक है और वह मशीन लर्निंग को लोकतांत्रिक बनाने के लक्ष्य से प्रेरित हैं। वह जटिल एमएल अनुप्रयोगों, बहु-किरायेदार एमएल मॉडल, लागत अनुकूलन, और गहन शिक्षण मॉडल की तैनाती को और अधिक सुलभ बनाने से संबंधित मुख्य चुनौतियों पर ध्यान केंद्रित करता है। अपने खाली समय में, सौरभ को लंबी पैदल यात्रा, नवीन तकनीकों के बारे में सीखना, टेकक्रंच का अनुसरण करना और अपने परिवार के साथ समय बिताना पसंद है।
जू डेंग सेजमेकर टीम में एक सॉफ्टवेयर इंजीनियर मैनेजर हैं। वह ग्राहकों को Amazon SageMaker पर उनके AI/ML अनुमान अनुभव को बनाने और अनुकूलित करने में मदद करने पर ध्यान केंद्रित करता है। अपने खाली समय में, उन्हें यात्रा करना और स्नोबोर्डिंग करना पसंद है।
सिद्धार्थ वेंकटेशन एडब्ल्यूएस डीप लर्निंग में सॉफ्टवेयर इंजीनियर हैं। वह वर्तमान में बड़े मॉडल अनुमान के लिए समाधान बनाने पर ध्यान केंद्रित करता है। एडब्ल्यूएस से पहले उन्होंने दुनिया भर में ग्राहकों के लिए नई भुगतान सुविधाओं के निर्माण के लिए अमेज़ॅन किराना संगठन में काम किया। काम के अलावा, वह स्कीइंग, आउटडोर और खेल देखने का आनंद लेता है।
रोहित नल्लमड्डी AWS में एक सॉफ्टवेयर डेवलपमेंट इंजीनियर है। वह जीपीयू पर डीप लर्निंग वर्कलोड को ऑप्टिमाइज़ करने, हाई परफ़ॉर्मेंस एमएल इंफ़ेक्शन बनाने और सॉल्यूशन सर्व करने पर काम करता है। इससे पहले, उन्होंने Amazon F3 व्यवसाय के लिए AWS पर आधारित माइक्रोसर्विसेज के निर्माण पर काम किया। काम के बाहर उन्हें खेल खेलना और खेल देखना अच्छा लगता है।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोडेटा.नेटवर्क वर्टिकल जेनरेटिव एआई। स्वयं को शक्तिवान बनाएं। यहां पहुंचें।
- प्लेटोआईस्ट्रीम। Web3 इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- प्लेटोईएसजी. कार्बन, क्लीनटेक, ऊर्जा, पर्यावरण, सौर, कचरा प्रबंधन। यहां पहुंचें।
- प्लेटोहेल्थ। बायोटेक और क्लिनिकल परीक्षण इंटेलिजेंस। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/run-ml-inference-on-unplanned-and-spiky-traffic-using-amazon-sagemaker-multi-model-endpoints/
- :है
- :कहाँ
- $यूपी
- 000
- 1
- 10
- 100
- 116
- 118
- 12
- 16
- 17
- 20
- 23
- 31
- 600
- 7
- 9
- a
- About
- त्वरक
- पहुँचा
- सुलभ
- समायोजित
- लेखा
- पाना
- के पार
- कार्य करता है
- जोड़ना
- अतिरिक्त
- लाभ
- विज्ञापन
- बाद
- ऐ / एमएल
- एल्गोरिदम
- संरेखित करें
- सब
- आवंटित
- आवंटित
- अनुमति देना
- की अनुमति देता है
- साथ में
- पहले ही
- भी
- हमेशा
- वीरांगना
- अमेज़ॅन EC2
- अमेज़न SageMaker
- अमेज़ॅन वेब सेवा
- राशि
- an
- और
- घोषणा
- अन्य
- कोई
- अपाचे
- एपीआई
- एपीआई
- आवेदन
- अनुप्रयोगों
- लागू
- उचित रूप से
- स्थापत्य
- हैं
- चारों ओर
- कृत्रिम
- AS
- सौंपा
- मान लीजिये
- At
- स्वत:
- स्वचालित
- स्वतः
- उपलब्ध
- एडब्ल्यूएस
- वापस
- बैकएण्ड
- आधार
- आधारित
- बैचिंग
- BE
- क्योंकि
- पीछे
- बेहतर
- के बीच
- परिवर्तन
- बढ़ावा
- सीमा
- मुक्केबाज़ी
- टूटना
- लाना
- तोड़ दिया
- निर्माण
- इमारत
- बनाया गया
- व्यापार
- लेकिन
- by
- बुलाया
- कर सकते हैं
- क्षमता
- क्षमता
- कौन
- मामला
- मामलों
- सेल
- केंद्रीकृत
- कुछ
- चुनौतियों
- जाँचता
- कक्षा
- ग्राहक
- ग्राहकों
- कोड
- आता है
- पूरा
- पूरा
- जटिल
- अंग
- शामिल
- गणना करना
- कंप्यूटर
- Computer Vision
- कंप्यूटिंग
- संगणन शक्ति
- समवर्ती
- विन्यास
- संगत
- लगातार
- कंसोल
- उपभोग
- शामिल
- कंटेनर
- प्रसंग
- जारी
- मूल
- लागत
- लागत
- कवर
- बनाना
- बनाया
- बनाना
- वर्तमान में
- रिवाज
- ग्राहक
- तिथि
- दिन
- गहरा
- ध्यान लगा के पढ़ना या सीखना
- चूक
- परिभाषित
- परिभाषित
- परिभाषित करता है
- उद्धार
- मांग
- डेमो
- लोकतंत्रीकरण
- निर्भरता
- निर्भर करता है
- दर्शाया
- तैनात
- तैनात
- तैनाती
- तैनाती
- डिज़ाइन
- बनाया गया
- निर्धारित करना
- निर्धारित
- डेवलपर
- विकास
- युक्ति
- डिवाइस
- आरेख
- विभिन्न
- मुश्किल
- सीधे
- डायरेक्टरी
- चर्चा करना
- चर्चा की
- वितरण
- डाक में काम करनेवाला मज़दूर
- नहीं करता है
- dont
- नीचे
- डाउनलोड
- डाउनलोडिंग
- गतिशील
- गतिशील
- से प्रत्येक
- पूर्व
- कुशल
- कुशलता
- सरल
- भी
- अन्यत्र
- embedding
- सक्षम
- सक्षम बनाता है
- समझाया
- शुरू से अंत तक
- endpoint
- इंजन
- इंजीनियर
- अभियांत्रिकी
- पर्याप्त
- सुनिश्चित
- उद्यम
- वातावरण
- त्रुटि
- और भी
- उदाहरण
- अपवाद
- उम्मीद
- उम्मीद
- अनुभव
- विस्तार
- चेहरा
- विफल रहे
- काफी
- परिवार
- Feature
- विशेषताएं
- कुछ
- पट्टिका
- फ़ाइलें
- वित्तीय
- वित्तीय सेवा
- खोज
- प्रथम
- तय
- बेड़ा
- केंद्रित
- निम्नलिखित
- इस प्रकार है
- के लिए
- प्रारूप
- ढांचा
- चौखटे
- अक्सर
- से
- दृश्यपटल
- पूर्ण
- पूरी तरह से
- कार्यक्षमताओं
- उत्पन्न
- मिल
- हो जाता है
- GitHub
- लक्ष्य
- GPU
- GPUs
- अनुदान
- अधिक से अधिक
- संभालना
- होना
- हार्डवेयर
- है
- he
- मदद
- मदद
- मदद करता है
- यहाँ उत्पन्न करें
- हाई
- उच्चतर
- अत्यधिक
- उसके
- मेजबान
- मेजबानी
- होस्टिंग
- गरम
- कैसे
- How To
- तथापि
- एचटीएमएल
- http
- HTTPS
- निष्क्रिय
- if
- दिखाता है
- की छवि
- लागू करने के
- कार्यान्वयन
- आयात
- in
- शामिल
- शामिल
- सहित
- आवक
- बढ़ना
- बढ़ती
- उद्योगों
- उद्योग
- करें-
- इंफ्रास्ट्रक्चर
- प्रारंभिक
- अभिनव
- नवीन प्रौद्योगिकियां
- निवेश
- installed
- उदाहरण
- बजाय
- बीमा
- एकीकरण
- एकीकरण
- ब्याज
- इंटरफेस
- में
- लागू
- मुद्दा
- मुद्दों
- IT
- आईटी इस
- जेम्स
- जावा
- काम
- शामिल होने
- जेपीजी
- केवल
- भाषा
- बड़ा
- बड़ा
- विलंब
- ताज़ा
- शुभारंभ
- नेतृत्व
- नेता
- बिक्रीसूत्र
- जानें
- सीख रहा हूँ
- चलो
- स्तर
- पुस्तकालय
- पसंद
- को यह पसंद है
- सीमा
- रैखिक
- सूची
- भार
- लोड हो रहा है
- भार
- स्थानीय
- तर्क
- लंबे समय तक
- प्यार करता है
- निम्न
- कम
- मशीन
- यंत्र अधिगम
- मुख्य
- बहुमत
- बनाना
- बनाता है
- निर्माण
- कामयाब
- प्रबंधक
- प्रबंध
- बहुत
- विपणन (मार्केटिंग)
- विपणन विज्ञापन
- अधिकतम
- मई..
- तंत्र
- याद
- मेटाडाटा
- तरीका
- तरीकों
- मेट्रिक्स
- microservices
- हो सकता है
- न्यूनतम
- मिनट
- कम करना
- ML
- मोड
- आदर्श
- मॉडल
- मॉड्यूल
- अधिक
- अधिकांश
- प्रेरित
- विभिन्न
- नाम
- मूल रूप से
- आवश्यक
- आवश्यकता
- जरूरत
- नया
- नए नए
- नोबेल पुरुस्कार
- कोई नहीं
- नोट
- नोटबुक
- अभी
- संख्या
- numpy
- of
- प्रस्ताव
- ऑफर
- on
- ONE
- केवल
- खुला
- खुला स्रोत
- संचालन
- विपरीत
- अनुकूलन
- ऑप्टिमाइज़ करें
- अनुकूलित
- के अनुकूलन के
- ऑप्शंस
- or
- अन्य
- हमारी
- आउट
- सड़क पर
- उत्पादन
- बाहर
- के ऊपर
- अपना
- समानांतर
- पैरामीटर
- भाग
- विशेष
- भागों
- आवेशपूर्ण
- पथ
- पथ
- पैटर्न
- पैटर्न उपयोग करें
- भुगतान
- प्रति
- प्रतिशतता
- निष्पादन
- प्रदर्शन
- पाइप
- मंच
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- खेल
- plugins
- बिन्दु
- नीति
- ताल
- लोकप्रिय
- पद
- बिजली
- प्रथाओं
- पूर्ववर्ती
- भविष्यवाणी
- भविष्यवाणियों
- पिछला
- पहले से
- प्राथमिक
- पूर्व
- पुरस्कार
- मुसीबत
- प्रक्रिया
- प्रसंस्करण
- एस्ट्रो मॉल
- उत्पादन प्रबंधक
- उत्पादन
- प्रोग्रामिंग
- वादा किया
- अच्छी तरह
- गुण
- साबित करना
- प्रदान करना
- प्रदान करता है
- प्रावधान
- उद्देश्य
- प्रयोजनों
- धक्का
- धकेल दिया
- अजगर
- pytorch
- बिना सोचे समझे
- रेंज
- पढ़ना
- पढ़ना
- तैयार
- वास्तविक समय
- प्राप्त करना
- प्राप्त
- प्राप्त
- प्राप्त
- की सिफारिश की
- उल्लेख
- भले ही
- क्षेत्र
- क्षेत्रों
- सम्बंधित
- रहना
- की जगह
- कोष
- प्रतिनिधित्व
- का अनुरोध
- अनुरोधों
- आवश्यकताएँ
- अनुसंधान
- उपयुक्त संसाधन चुनें
- प्रतिक्रिया
- बाकी
- परिणाम
- रिटर्न
- पुनः प्रयोग
- मार्ग
- मार्गों
- मार्ग
- रन
- चलाता है
- क्रम
- सास
- sagemaker
- सेजमेकर अनुमान
- वही
- नमूना
- सहेजें
- कहना
- स्केल
- परतदार
- तराजू
- स्केलिंग
- लिपि
- लिपियों
- दूसरा
- सेकंड
- देखना
- देखा
- स्व
- भेजें
- वरिष्ठ
- सेवा
- सेवा की
- सर्वर
- सर्वर
- सेवा
- सेवाएँ
- सेवारत
- सेट
- सेट
- व्यवस्था
- कई
- चाहिए
- प्रदर्शन
- दिखाया
- दिखाता है
- सरल
- अनुकरण करना
- एक साथ
- एक
- विलक्षण
- आकार
- छोटा
- टुकड़ा
- So
- सॉफ्टवेयर
- एक सेवा के रूप में सॉफ्टवेयर
- सॉफ्टवेयर विकास
- सॉफ्टवेयर इंजीनियर
- समाधान
- समाधान ढूंढे
- कुछ
- स्रोत
- विशेषज्ञ
- विशिष्ट
- खर्च
- विभाजित
- खेल-कूद
- धुआँरा
- स्थिर
- कदम
- भंडारण
- की दुकान
- संग्रहित
- सरल
- आगामी
- ऐसा
- सुझाव
- समर्थन
- समर्थित
- समर्थन करता है
- निश्चित
- सिस्टम
- लेना
- लेता है
- ले जा
- लक्ष्य
- को लक्षित
- शिक्षण
- टीम
- TechCrunch
- टेक्नोलॉजीज
- टेक्नोलॉजी
- बताता है
- tensorflow
- परीक्षण
- परीक्षण
- से
- कि
- RSI
- लेकिन हाल ही
- उन
- फिर
- वहाँ।
- इसलिये
- इन
- वे
- इसका
- उन
- हज़ार
- हजारों
- तीन
- यहाँ
- THROUGHPUT
- पहर
- बार
- सेवा मेरे
- भी
- साधन
- ऊपर का
- की ओर
- टी पी एस
- ट्रैक
- यातायात
- रेलगाड़ी
- प्रशिक्षित
- प्रशिक्षण
- लेनदेन
- ट्रान्सफ़ॉर्मर
- यात्रा का
- कोशिश
- दो
- टाइप
- आम तौर पर
- के अंतर्गत
- आधारभूत
- समझना
- समझ
- सार्वभौम
- यूआरएल
- उपयोग
- उदाहरण
- प्रयुक्त
- का उपयोग करता है
- का उपयोग
- आमतौर पर
- उपयोग
- मूल्य
- मान
- परिवर्तनशील
- विभिन्न
- दृष्टि
- vs
- करना चाहते हैं
- था
- देख
- we
- वेब
- वेब सेवाओं
- भार
- क्या
- कब
- जहाँ तक
- कौन कौन से
- चौड़ा
- विस्तृत श्रृंखला
- मर्जी
- साथ में
- अंदर
- काम
- काम किया
- कामगार
- श्रमिकों
- वर्कफ़्लो
- workflows
- काम कर रहे
- कार्य
- होगा
- लिख रहे हैं
- लिखा हुआ
- X
- साल
- आप
- आपका
- जेफिरनेट