अमेज़ॅन सेजमेकर मल्टी-मॉडल एंडपॉइंट्स प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ जीपीयू पर कई गहन शिक्षण मॉडल चलाएं। लंबवत खोज. ऐ.

Amazon SageMaker मल्टी-मॉडल एंडपॉइंट के साथ GPU पर कई डीप लर्निंग मॉडल चलाएं

जैसा कि पूरे उद्योग में एआई अपनाने में तेजी आ रही है, ग्राहक परिष्कृत मॉडल बना रहे हैं जो गहन सीखने में नई वैज्ञानिक सफलताओं का लाभ उठाते हैं। ये अगली पीढ़ी के मॉडल आपको प्राकृतिक भाषा प्रसंस्करण (एनएलपी), कंप्यूटर दृष्टि, भाषण मान्यता, चिकित्सा अनुसंधान, साइबर सुरक्षा, प्रोटीन संरचना भविष्यवाणी, और कई अन्य क्षेत्रों में अत्याधुनिक, मानव-समान प्रदर्शन प्राप्त करने की अनुमति देते हैं। . उदाहरण के लिए, GPT-3, OPT, और BLOOM जैसे बड़े भाषा मॉडल मानव-जैसी बारीकियों के साथ पाठ का अनुवाद, सारांश और लेखन कर सकते हैं। कंप्यूटर विज़न स्पेस में, टेक्स्ट-टू-इमेज डिफ्यूजन मॉडल जैसे DALL-E और इमेजन हमारे आसपास की दुनिया से उच्च स्तर की दृश्य और भाषा समझ के साथ प्राकृतिक भाषा से फोटोरिअलिस्टिक इमेज बना सकते हैं। ये मल्टी-मोडल मॉडल विभिन्न डाउनस्ट्रीम कार्यों के लिए समृद्ध सुविधाएँ प्रदान करते हैं और विशिष्ट डोमेन के लिए उन्हें ठीक करने की क्षमता प्रदान करते हैं, और वे हमारे ग्राहकों के लिए शक्तिशाली व्यावसायिक अवसर लाते हैं।

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

अमेज़न SageMaker बहु-मॉडल समापन बिंदु (एमएमई) बड़ी संख्या में गहन शिक्षण मॉडल को परिनियोजित करने के लिए एक स्केलेबल और लागत प्रभावी तरीका प्रदान करते हैं। MME, Zendesk, Veeva, और AT&T जैसे ग्राहकों के बीच सैकड़ों CPU-आधारित मॉडलों को होस्ट करने के लिए एक लोकप्रिय होस्टिंग विकल्प हैं। पहले, आपके पास सैकड़ों गहन शिक्षण मॉडल को परिनियोजित करने के लिए सीमित विकल्प थे जिन्हें GPU के साथ त्वरित गणना की आवश्यकता थी। आज, हम GPU के लिए MME समर्थन की घोषणा करते हैं। अब आप एक सेजमेकर एंडपॉइंट के पीछे हजारों डीप लर्निंग मॉडल तैनात कर सकते हैं। एमएमई अब एक जीपीयू कोर पर कई मॉडल चला सकते हैं, कई मॉडलों में एक एंडपॉइंट के पीछे जीपीयू इंस्टेंस साझा कर सकते हैं, और आने वाले ट्रैफिक के आधार पर गतिशील रूप से लोड और अनलोड मॉडल कर सकते हैं। इसके साथ, आप महत्वपूर्ण रूप से लागत बचा सकते हैं और सर्वोत्तम मूल्य प्रदर्शन प्राप्त कर सकते हैं।

इस पोस्ट में, हम दिखाते हैं कि सेजमेकर एमएमई के साथ जीपीयू पर कई डीप लर्निंग मॉडल कैसे चलाएं।

सेजमेकर एमएमई

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

निम्नलिखित आरेख एक सेजमेकर एमएमई की वास्तुकला को दर्शाता है।

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

सेजमेकर MMEs GPU सपोर्ट के साथ

जीपीयू के साथ सेजमेकर एमएमई काम करते हैं NVIDIA ट्राइटन अनुमान सर्वर. NVIDIA ट्राइटन इंफरेंस सर्वर एक ओपन-सोर्स इंट्रेंस सर्विंग सॉफ्टवेयर है जो इंट्रेंस सर्विंग प्रक्रिया को सरल करता है और उच्च इंट्रेंस परफॉर्मेंस प्रदान करता है। ट्राइटन सभी प्रमुख प्रशिक्षण और अनुमान ढांचे का समर्थन करता है, जैसे कि TensorFlow, NVIDIA® TensorRT™, PyTorch, MXNet, Python, ONNX, XGBoost, Scikit-learn, RandomForest, OpenVINO, Custom C++, और बहुत कुछ। यह उच्च प्रदर्शन अनुमान प्राप्त करने के लिए गतिशील बैचिंग, समवर्ती रन, पोस्ट-ट्रेनिंग क्वांटिज़ेशन, और इष्टतम मॉडल कॉन्फ़िगरेशन प्रदान करता है। इसके अतिरिक्त, NVIDIA ट्राइटन इंट्रेंस सर्वर को लागू करने के लिए बढ़ा दिया गया है एमएमई एपीआई अनुबंध, एमएमई के साथ एकीकृत करने के लिए।

निम्न आरेख एक MME कार्यप्रवाह दिखाता है।

अमेज़ॅन सेजमेकर मल्टी-मॉडल एंडपॉइंट्स प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ जीपीयू पर कई गहन शिक्षण मॉडल चलाएं। लंबवत खोज. ऐ.

वर्कफ़्लो चरण इस प्रकार हैं:

  1. सेजमेकर एमएमई को एक विशेष मॉडल के लिए HTTP आमंत्रण अनुरोध प्राप्त होता है TargetModel पेलोड के साथ अनुरोध में।
  2. SageMaker ट्रैफ़िक को उस अंतिम बिंदु के पीछे सही उदाहरण पर ले जाता है जहाँ लक्ष्य मॉडल लोड होता है। सेजमेकर एमएमई के पीछे के सभी मॉडलों के ट्रैफिक पैटर्न को समझता है और अनुरोधों को स्मार्ट तरीके से रूट करता है।
  3. सेजमेकर एंडपॉइंट के पीछे मॉडल प्रबंधन का ख्याल रखता है, मॉडल को कंटेनर की मेमोरी में गतिशील रूप से लोड करता है, और सर्वोत्तम मूल्य प्रदर्शन देने के लिए GPU इंस्टेंस के साझा बेड़े के आधार पर मॉडल को अनलोड करता है।
  4. सेजमेकर गतिशील रूप से अमेज़ॅन एस 3 से इंस्टेंस के स्टोरेज वॉल्यूम में मॉडल डाउनलोड करता है। यदि इनवोक किया गया मॉडल इंस्टेंस स्टोरेज वॉल्यूम पर उपलब्ध नहीं है, तो मॉडल को इंस्टेंस स्टोरेज वॉल्यूम पर डाउनलोड किया जाता है। यदि इंस्टेंस स्टोरेज वॉल्यूम क्षमता तक पहुंच जाता है, तो सेजमेकर स्टोरेज वॉल्यूम से किसी भी अप्रयुक्त मॉडल को हटा देता है।
  5. SageMaker एक GPU त्वरित उदाहरण पर मॉडल को NVIDIA ट्राइटन कंटेनर की मेमोरी में लोड करता है और अनुमान अनुरोध को पूरा करता है। GPU कोर एक उदाहरण में सभी मॉडलों द्वारा साझा किया जाता है। यदि मॉडल पहले से ही कंटेनर मेमोरी में लोड है, तो बाद के अनुरोधों को तेजी से परोसा जाता है क्योंकि सेजमेकर को इसे फिर से डाउनलोड करने और लोड करने की आवश्यकता नहीं होती है।
  6. सेजमेकर एमएमई एंडपॉइंट तक यातायात को आकार देने का ख्याल रखता है और सर्वोत्तम मूल्य प्रदर्शन के लिए जीपीयू इंस्टेंस पर इष्टतम मॉडल प्रतियां रखता है। यह ट्रैफ़िक को उस उदाहरण तक रूट करना जारी रखता है जहां मॉडल लोड किया गया है। यदि उच्च उपयोग के कारण इंस्टेंस संसाधन क्षमता तक पहुँच जाते हैं, तो सेजमेकर अधिक बार उपयोग किए जाने वाले मॉडल को लोड करने के लिए संसाधनों को मुक्त करने के लिए कंटेनर से कम से कम उपयोग किए गए मॉडल को उतार देता है।

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

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

इस पोस्ट में, हम आपको दिखाते हैं कि कंप्यूटर विज़न यूज़ केस के साथ सेजमेकर एमएमई की नई सुविधाओं का उपयोग कैसे करें। प्रदर्शन उद्देश्यों के लिए, हम एक ResNet-50 दृढ़ तंत्रिका नेटवर्क पूर्व-प्रशिक्षित मॉडल का उपयोग करते हैं जो छवियों को 1,000 श्रेणियों में वर्गीकृत कर सकता है। हम चर्चा करते हैं कि निम्नलिखित कैसे करें:

  • सेजमेकर एमएमई पर एक एनवीआईडीआईए ट्राइटन इंट्रेंस कंटेनर का उपयोग करें, विभिन्न ट्राइटन मॉडल फ्रेमवर्क बैकएंड और पाइटोरच और टेन्सरआरटी ​​का उपयोग करके
  • ResNet-50 मॉडल को अनुकूलित TensorRT इंजन प्रारूप में बदलें और इसे SageMaker MME के ​​साथ परिनियोजित करें
  • MME के ​​​​लिए ऑटो स्केलिंग नीतियां सेट करें
  • इंस्टेंस और इनवोकेशन मेट्रिक्स का उपयोग करके अंतर्दृष्टि प्राप्त करें अमेज़ॅन क्लाउडवॉच

मॉडल कलाकृतियां बनाएं

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

इस पोस्ट के लिए, हम दो मॉडलों के साथ परिनियोजन प्रदर्शित करते हैं। हालाँकि, आप सैकड़ों मॉडल तैयार और तैनात कर सकते हैं। मॉडल समान ढांचे को साझा कर सकते हैं या नहीं भी कर सकते हैं।

एक PyTorch मॉडल तैयार करें

सबसे पहले, हम टॉर्चविजन मॉडल पैकेज का उपयोग करके एक पूर्व-प्रशिक्षित ResNet50 मॉडल लोड करते हैं। हम मॉडल को TorchScript अनुकूलित और क्रमबद्ध प्रारूप में एक model.pt फ़ाइल के रूप में सहेजते हैं। TorchScript उदाहरण इनपुट के साथ उत्सुक मोड में ResNet50 मॉडल के फॉरवर्ड पास को संकलित करता है, इसलिए हम 224 x 224 आयाम के तीन रंग चैनलों के साथ RGB छवि का एक उदाहरण पास करते हैं।

फिर हमें ट्राइटन इंफरेंस सर्वर के लिए मॉडल तैयार करने की जरूरत है। निम्न कोड PyTorch फ्रेमवर्क बैकएंड के लिए मॉडल रिपॉजिटरी दिखाता है। ट्राइटन भविष्यवाणियों की सेवा के लिए मॉडल रिपॉजिटरी में रखी गई model.pt फ़ाइल का उपयोग करता है।

resnet
├── 1
│   └── model.pt
└── config.pbtxt

मॉडल कॉन्फ़िगरेशन फ़ाइल config.pbtxt मॉडल का नाम निर्दिष्ट करना चाहिए (resnet), मंच और बैकएंड गुण (pytorch_libtorch), max_batch_size (128), और डेटा प्रकार के साथ इनपुट और आउटपुट टेंसर (TYPE_FP32) जानकारी। इसके अतिरिक्त, आप निर्दिष्ट कर सकते हैं instance_group और dynamic_batching उच्च प्रदर्शन अनुमान प्राप्त करने के लिए गुण। निम्नलिखित कोड देखें:

name: "resnet"
platform: "pytorch_libtorch"
max_batch_size: 128
input {
  name: "INPUT__0"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "OUTPUT__0"
  data_type: TYPE_FP32
  dims: 1000
}

TensorRT मॉडल तैयार करें

NVIDIA TensorRT उच्च-प्रदर्शन गहन शिक्षण अनुमान के लिए एक एसडीके है, और इसमें एक गहन शिक्षण अनुमान अनुकूलक और रनटाइम शामिल है जो अनुमान अनुप्रयोगों के लिए कम विलंबता और उच्च थ्रूपुट प्रदान करता है। हम कमांड लाइन टूल का उपयोग करते हैं trtexec एक से एक TensorRT क्रमबद्ध इंजन उत्पन्न करने के लिए ओएनएनएक्स मॉडल प्रारूप। ResNet-50 पूर्व-प्रशिक्षित मॉडल को NVIDIA TensorRT में बदलने के लिए निम्नलिखित चरणों को पूरा करें:

  1. पूर्व-प्रशिक्षित ResNet-50 मॉडल का उपयोग करके ONNX प्रारूप में निर्यात करें मशाल.ओएनएक्स.यह चरण नमूना इनपुट के साथ अपने रन का पता लगाने के लिए मॉडल को एक बार चलाता है और फिर ट्रेस किए गए मॉडल को निर्दिष्ट फ़ाइल में निर्यात करता है model.onnx.
  2. से TensorRT इंजन योजना बनाने के लिए trtexec का उपयोग करें model.onnx फ़ाइल। आप वैकल्पिक रूप से फ़्लोटिंग-पॉइंट कंप्यूटेशंस की सटीकता को कम कर सकते हैं, या तो उन्हें केवल 16-बिट फ़्लोटिंग पॉइंट में चलाकर, या फ़्लोटिंग पॉइंट मानों को मापकर ताकि गणना 8-बिट पूर्णांक का उपयोग करके की जा सके।

निम्न कोड TensorRT मॉडल के लिए मॉडल रिपॉजिटरी संरचना दिखाता है:

resnet
├── 1
│   └── model.plan
└── config.pbtxt

TensorRT मॉडल के लिए, हम निर्दिष्ट करते हैं tensorrt_plan मंच के रूप में और आयाम 224 x 224 की छवि के टेंसर विनिर्देशों को इनपुट करें, जिसमें रंग चैनल हैं। 1,000 आयामों वाला आउटपुट टेंसर प्रकार का है TYPE_FP32, विभिन्न वस्तु श्रेणियों के अनुरूप। निम्नलिखित कोड देखें:

name: "resnet"
platform: "tensorrt_plan"
max_batch_size: 128
input {
  name: "input"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "output"
  data_type: TYPE_FP32
  dims: 1000
}
model_warmup {
    name: "bs128 Warmup"
    batch_size: 128
    inputs: {
        key: "input"
        value: {
            data_type: TYPE_FP32
            dims: 3
            dims: 224
            dims: 224
            zero_data: false
        }
    }
}

Amazon S3 में मॉडल कलाकृतियों को स्टोर करें

सेजमेकर मॉडल कलाकृतियों की अपेक्षा करता है .tar.gz प्रारूप। उन्हें ट्राइटन कंटेनर की आवश्यकताओं को भी पूरा करना चाहिए जैसे कि मॉडल का नाम, संस्करण, config.pbtxt फ़ाइलें, और बहुत कुछ। tar मॉडल फ़ाइल वाले फ़ोल्डर के रूप में .tar.gz और इसे Amazon S3 पर अपलोड करें:

!mkdir -p triton-serve-pt/resnet/1/
!mv -f workspace/model.pt triton-serve-pt/resnet/1/
!tar -C triton-serve-pt/ -czf resnet_pt_v0.tar.gz resnet
model_uri_pt = sagemaker_session.upload_data(path="resnet_pt_v0.tar.gz", key_prefix="resnet-mme-gpu")
!mkdir -p triton-serve-trt/resnet/1/
!mv -f workspace/model.plan triton-serve-trt/resnet/1/
!tar -C triton-serve-trt/ -czf resnet_trt_v0.tar.gz resnet
model_uri_trt = sagemaker_session.upload_data(path="resnet_trt_v0.tar.gz", key_prefix="resnet-mme-gpu")

अब जब हमने मॉडल कलाकृतियों को Amazon S3 पर अपलोड कर दिया है, तो हम एक SageMaker MME बना सकते हैं।

MME के ​​साथ मॉडल परिनियोजित करें

अब हम एक ResNet-50 मॉडल को दो अलग-अलग फ्रेमवर्क बैकएंड (PyTorch और TensorRT) के साथ SageMaker MME में तैनात करते हैं।

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

हम उपयोग अजगर के लिए AWS SDK (Boto3) एपीआई create_model, create_endpoint_config, तथा create_endpoint एक एमएमई बनाने के लिए।

सर्विंग कंटेनर को परिभाषित करें

कंटेनर परिभाषा में, परिभाषित करें model_data_url S3 निर्देशिका को निर्दिष्ट करने के लिए जिसमें वे सभी मॉडल शामिल हैं जिनका उपयोग SageMaker MME भविष्यवाणियों को लोड करने और प्रस्तुत करने के लिए करता है। समूह Mode सेवा मेरे MultiModel यह इंगित करने के लिए कि सेजमेकर एमएमई कंटेनर विनिर्देशों के साथ समापन बिंदु बनाता है। हम कंटेनर को एक ऐसी छवि के साथ सेट करते हैं जो GPU के साथ MME को परिनियोजित करने का समर्थन करती है। निम्नलिखित कोड देखें:

container = {
"Image": ,
"ModelDataUrl": ,
"Mode": "MultiModel"
}

एक मल्टी-मॉडल ऑब्जेक्ट बनाएं

का उपयोग कर मॉडल बनाने के लिए SageMaker Boto3 क्लाइंट का उपयोग करें create_model एपीआई। हम कंटेनर परिभाषा को क्रिएट मॉडल एपीआई के साथ पास करते हैं ModelName और ExecutionRoleArn:

create_model_response = sm_client.create_model(
    ModelName=, ExecutionRoleArn=role, PrimaryContainer=container
)

MME कॉन्फ़िगरेशन को परिभाषित करें

का उपयोग करके MME कॉन्फ़िगरेशन बनाएं create_endpoint_config Boto3 एपीआई। एक त्वरित GPU कंप्यूटिंग उदाहरण निर्दिष्ट करें InstanceType (हम g4dn.4xlarge इंस्टेंस प्रकार का उपयोग करते हैं)। हम अनुशंसा करते हैं कि आपके समापन बिंदुओं को कम से कम दो उदाहरणों के साथ कॉन्फ़िगर किया जाए। यह सेजमेकर को मॉडलों के लिए कई उपलब्धता क्षेत्रों में पूर्वानुमानों का अत्यधिक उपलब्ध सेट प्रदान करने की अनुमति देता है।

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

create_endpoint_config_response = sm_client.create_endpoint_config(
    EndpointConfigName=,
    ProductionVariants=[
        {
            "InstanceType": "ml.g4dn.4xlarge",
            "InitialVariantWeight": 1,
            "InitialInstanceCount": 2,
            "ModelName": ,
            "VariantName": "AllTraffic",
        }
    ],
)

एक एमएमई बनाएं

पिछले समापन बिंदु कॉन्फ़िगरेशन के साथ, हम का उपयोग करके एक सेजमेकर एमएमई बनाते हैं create_endpoint एपीआई। सेजमेकर एमएमई बनाता है, एमएल कंप्यूट इंस्टेंस g4dn.4xlarge लॉन्च करता है, और उन पर PyTorch और TensorRT ResNet-50 मॉडल तैनात करता है। निम्नलिखित कोड देखें:

create_endpoint_response = sm_client.create_endpoint(
    EndpointName=, EndpointConfigName=
)

MME पर लक्ष्य मॉडल को आमंत्रित करें

समापन बिंदु बनाने के बाद, हम MME का उपयोग करके एक अनुमान अनुरोध भेज सकते हैं invoke_enpoint एपीआई। हम निर्दिष्ट करते हैं TargetModel आमंत्रण कॉल में और प्रत्येक मॉडल प्रकार के लिए पेलोड में पास करें। निम्नलिखित कोड PyTorch मॉडल और TensorRT मॉडल के लिए एक नमूना आमंत्रण है:

runtime_sm_client.invoke_endpoint(
    EndpointName=,
    ContentType="application/octet-stream",
    Body=json.dumps(pt_payload),
    TargetModel='resnet_pt_v0.tar.gz', #PyTorch Model
)
runtime_sm_client.invoke_endpoint(
    EndpointName=, 
    ContentType="application/octet-stream", 
    Body=json.dumps(trt_payload),
    TargetModel='resnet_trt_v0.tar.gz' #TensorRT Model
)

GPU MME के ​​लिए ऑटो स्केलिंग नीतियां सेट करें

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

निम्नलिखित स्केलिंग नीति में, हम कस्टम मीट्रिक का उपयोग करते हैं GPUUtilization में TargetTrackingScalingPolicyConfiguration विन्यास और सेट a TargetValue of 60.0 उस मीट्रिक के लक्ष्य मान के लिए। यह ऑटोस्केलिंग नीति अतिरिक्त उदाहरणों का प्रावधान करती है MaxCapacity जब GPU का उपयोग 60% से अधिक हो।

auto_scaling_client = boto3.client('application-autoscaling')

resource_id='endpoint/' +  + '/variant/' + 'AllTraffic' 
response = auto_scaling_client.register_scalable_target(
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount',
    MinCapacity=1,
    MaxCapacity=5
)

response = auto_scaling_client.put_scaling_policy(
    PolicyName='GPUUtil-ScalingPolicy',
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount', 
    PolicyType='TargetTrackingScaling',
    TargetTrackingScalingPolicyConfiguration={
        'TargetValue': 60.0, 
        'CustomizedMetricSpecification':
        {
            'MetricName': 'GPUUtilization',
            'Namespace': '/aws/sagemaker/Endpoints',
            'Dimensions': [
                {'Name': 'EndpointName', 'Value':  },
                {'Name': 'VariantName','Value': 'AllTraffic'}
            ],
            'Statistic': 'Average',
            'Unit': 'Percent'
        },
        'ScaleInCooldown': 600,
        'ScaleOutCooldown': 200 
    }
)

हम प्रयोग करने की सलाह देते हैं GPUUtilization or InvocationsPerInstance अपने एमएमई के लिए ऑटो स्केलिंग नीतियों को कॉन्फ़िगर करने के लिए। अधिक जानकारी के लिए देखें मल्टी-मॉडल समापन बिंदु परिनियोजन के लिए ऑटोस्केलिंग नीतियां सेट करें

GPU MME के ​​लिए CloudWatch मेट्रिक्स

सेजमेकर एमएमई मॉनिटर करने के लिए निम्नलिखित इंस्टेंस-लेवल मेट्रिक्स प्रदान करते हैं:

  • लोडेडमॉडलकाउंट - कंटेनरों में लोड किए गए मॉडलों की संख्या
  • GPUउपयोग - कंटेनरों द्वारा उपयोग की जाने वाली GPU इकाइयों का प्रतिशत
  • GPUस्मृति उपयोग - कंटेनरों द्वारा उपयोग की जाने वाली GPU मेमोरी का प्रतिशत
  • डिस्क उपयोग - कंटेनरों द्वारा उपयोग किए जाने वाले डिस्क स्थान का प्रतिशत

ये मेट्रिक्स आपको GPU इंस्टेंस संसाधनों के प्रभावी उपयोग की योजना बनाने की अनुमति देते हैं। निम्नलिखित ग्राफ में, हम देखते हैं GPUMemoryUtilization 38.3% था जब कंटेनर में 16 से अधिक ResNet-50 मॉडल लोड किए गए थे। प्रत्येक व्यक्तिगत CPU कोर के उपयोग का योग (CPUUtilization) 60.9% था, और कंटेनरों द्वारा उपयोग की जाने वाली स्मृति का प्रतिशत (MemoryUtilization) 9.36% था।

अमेज़ॅन सेजमेकर मल्टी-मॉडल एंडपॉइंट्स प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ जीपीयू पर कई गहन शिक्षण मॉडल चलाएं। लंबवत खोज. ऐ.

सेजमेकर एमएमई मॉडल इनवोकेशन-स्तरीय अंतर्दृष्टि प्राप्त करने के लिए मॉडल लोडिंग मेट्रिक्स भी प्रदान करते हैं:

  • मॉडल लोड हो रहा है प्रतीक्षा समय - मॉडल को डाउनलोड या लोड करने के लिए समय अंतराल
  • मॉडल अनलोडिंग टाइम - कंटेनर से मॉडल को उतारने का समय अंतराल
  • मॉडलडाउनलोडिंगसमय - Amazon S3 से मॉडल डाउनलोड करने का समय
  • मॉडलकैशहिट - मॉडल के आह्वान की संख्या जो पहले से ही कंटेनर पर लोड है

निम्नलिखित ग्राफ में, हम देख सकते हैं कि एक मॉडल को एक अनुमान अनुरोध का जवाब देने में 8.22 सेकंड का समय लगा (ModelLatency), और 24.1 मिलीसेकंड को सेजमेकर ओवरहेड्स के कारण एंड-टू-एंड लेटेंसी में जोड़ा गया था (OverheadLatency) हम एंडपॉइंट एपीआई कॉल को लागू करने के लिए कॉल से किसी भी त्रुटि मीट्रिक को भी देख सकते हैं, जैसे कि Invocation4XXErrors और Invocation5XXErrors.

अमेज़ॅन सेजमेकर मल्टी-मॉडल एंडपॉइंट्स प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ जीपीयू पर कई गहन शिक्षण मॉडल चलाएं। लंबवत खोज. ऐ.

MME CloudWatch मेट्रिक्स के बारे में अधिक जानकारी के लिए, देखें मल्टी-मॉडल समापन बिंदु परिनियोजन के लिए CloudWatch मेट्रिक्स.

सारांश

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

GPU के लिए MME समर्थन के साथ आरंभ करने के लिए, देखें GPU के लिए बहु-मॉडल समापन बिंदु समर्थन.


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

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

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

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

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

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

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

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

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

समय टिकट:

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

अमेज़ॅन टाइमस्ट्रीम और अमेज़ॅन लुकआउट फॉर इक्विपमेंट के साथ विसंगतियों का पता लगाने और डाउनटाइम की भविष्यवाणी करने के लिए मशीन लर्निंग का उपयोग करें

स्रोत नोड: 1780075
समय टिकट: दिसम्बर 29, 2022