GPU के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें

GPU के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें

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

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

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

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

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

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

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

  • जीपीयू मेमोरी में लोड किए जा सकने वाले मॉडलों की अधिकतम संख्या
  • प्रत्येक निष्कर्ष क्वेरी के लिए ग्राहक पक्ष पर एंड-टू-एंड प्रतिक्रिया विलंबता देखी गई
  • प्रति सेकंड प्रश्नों का अधिकतम थ्रुपुट जिसे एंडपॉइंट त्रुटि के बिना संसाधित कर सकता है
  • विफल अनुरोध देखे जाने से पहले प्रति उदाहरण अधिकतम वर्तमान उपयोगकर्ता

निम्न तालिका परीक्षण किए गए मॉडलों को सूचीबद्ध करती है।

उदाहरण मॉडल का नाम डिस्क पर आकार पैरामीटर्स की संख्या
CV resnet50 100Mb 25M
CV convnext_base 352Mb 88M
CV vit_large_patch16_224 1.2Gb 304M
एनएलपी bert-base-uncased 436Mb 109M
एनएलपी roberta-large 1.3Gb 335M

निम्न तालिका परीक्षण किए गए GPU उदाहरणों को सूचीबद्ध करती है।

उदाहरण प्रकार जीपीयू प्रकार जीपीयू की संख्या जीपीयू मेमोरी (जीआईबी)
ml.g4dn.2xबड़ा NVIDIA T4 GPU 1 16
एमएल.g5.2xबड़ा एनवीडिया ए10जी टेंसर कोर जीपीयू 1 24
एमएल.पी3.2xबड़ा NVIDIA® V100 टेंसर कोर GPU 1 16

जैसा कि पहले उल्लेख किया गया है, कोड उदाहरण अन्य मॉडलों और उदाहरण प्रकारों के लिए अपनाया जा सकता है।

ध्यान दें कि एमएमई वर्तमान में केवल एक जीपीयू उदाहरणों का समर्थन करते हैं। समर्थित उदाहरण प्रकारों की सूची के लिए, देखें समर्थित एल्गोरिदम, रूपरेखा और उदाहरण.

बेंचमार्किंग प्रक्रिया में निम्नलिखित चरण शामिल हैं:

  1. मॉडल हब से पूर्व-प्रशिक्षित मॉडल प्राप्त करें।
  2. SageMaker MMEs पर सेवा देने के लिए मॉडल विरूपण साक्ष्य तैयार करें (देखें Amazon SageMaker मल्टी-मॉडल एंडपॉइंट के साथ GPU पर कई डीप लर्निंग मॉडल चलाएं अधिक जानकारी के लिए)।
  3. एक GPU उदाहरण पर एक SageMaker MME तैनात करें।
  4. निर्दिष्ट सीमा के भीतर जीपीयू मेमोरी में लोड किए जा सकने वाले मॉडलों की अधिकतम संख्या निर्धारित करें।
  5. ट्रैफ़िक का अनुकरण करने के लिए टिड्डी लोड टेस्टिंग फ्रेमवर्क का उपयोग करें जो उदाहरण पर लोड किए गए मॉडल को बेतरतीब ढंग से आमंत्रित करता है।
  6. डेटा एकत्र करें और परिणामों का विश्लेषण करें।
  7. वैकल्पिक रूप से, मॉडल को TensorRT में संकलित करने के बाद चरण 2-6 को दोहराएं।

चरण 4 और 5 एक गहन नज़र डालते हैं। SageMaker GPU MME के ​​भीतर के मॉडल गतिशील तरीके से मेमोरी में लोड किए जाते हैं। इसलिए, चरण 4 में, हम प्रारंभिक मॉडल आर्टिफैक्ट को अपलोड करते हैं अमेज़न सरल भंडारण सेवा (अमेज़ॅन एस 3) और इसे स्मृति में लोड करने के लिए मॉडल का आह्वान करें। प्रारंभिक मंगलाचरण के बाद, हम उपभोग की गई GPU मेमोरी की मात्रा को मापते हैं, प्रारंभिक मॉडल की एक प्रति बनाते हैं, इसे मेमोरी में लोड करने के लिए मॉडल की प्रतिलिपि का आह्वान करते हैं, और फिर से उपयोग की गई GPU मेमोरी की कुल मात्रा को मापते हैं। यह प्रक्रिया तब तक दोहराई जाती है जब तक कि जीपीयू मेमोरी उपयोग की निर्दिष्ट प्रतिशत सीमा तक नहीं पहुंच जाती। बेंचमार्क के लिए, हम बड़े बैचों पर अनुमान लगाने के लिए एक उचित मेमोरी बफर प्रदान करने या अन्य कम-अक्सर उपयोग किए जाने वाले मॉडल को लोड करने के लिए कुछ जगह छोड़ने के लिए थ्रेसहोल्ड को 90% पर सेट करते हैं।

उपयोगकर्ता यातायात अनुकरण करें

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

टिड्डी कस्टम लोड टेस्ट आकृतियों का समर्थन करता है जो आपको कस्टम ट्रैफ़िक पैटर्न को परिभाषित करने की अनुमति देता है। इस बेंचमार्क में जिस आकार का उपयोग किया गया था वह निम्न चार्ट में दिखाया गया है। पहले 30 सेकंड में, एंडपॉइंट को 10 समवर्ती उपयोगकर्ताओं के साथ गर्म किया जाता है। 30 सेकंड के बाद, नए उपयोगकर्ता दो प्रति सेकंड की दर से पैदा होते हैं, 20 सेकंड के निशान पर 40 समवर्ती उपयोगकर्ताओं तक पहुंचते हैं। समापन बिंदु को 20-सेकंड के निशान तक 60 समवर्ती उपयोगकर्ताओं के साथ लगातार बेंचमार्क किया जाता है, जिस बिंदु पर टिड्डी फिर से 40 समवर्ती उपयोगकर्ताओं तक उपयोगकर्ताओं को दो प्रति सेकंड पर रैंप करना शुरू कर देती है। रैंप अप और स्थिर परीक्षण का यह पैटर्न तब तक दोहराया जाता है जब तक कि समापन बिंदु को 200 समवर्ती उपयोगकर्ताओं तक नहीं पहुंचा दिया जाता। आपके उपयोग के मामले के आधार पर, आप अपने अपेक्षित ट्रैफ़िक पैटर्न को अधिक सटीक रूप से दर्शाने के लिए locust_benchmark_sm.py में लोड परीक्षण आकार को समायोजित करना चाह सकते हैं। उदाहरण के लिए, यदि आप बड़े भाषा मॉडल को होस्ट करने का इरादा रखते हैं, तो 200 समवर्ती उपयोगकर्ताओं के साथ लोड टेस्ट एक उदाहरण पर होस्ट किए गए मॉडल के लिए संभव नहीं हो सकता है, और इसलिए आप उपयोगकर्ता संख्या को कम करना या उदाहरणों की संख्या बढ़ाना चाह सकते हैं। आप लंबी अवधि में एंडपॉइंट की स्थिरता का अधिक सटीक रूप से आकलन करने के लिए लोड परीक्षण की अवधि भी बढ़ा सकते हैं।

stages = [
{"duration": 30, "users": 10, "spawn_rate": 5},
{"duration": 60, "users": 20, "spawn_rate": 1},
{"duration": 90, "users": 40, "spawn_rate": 2},
…
]

GPU प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें। लंबवत खोज. ऐ.

ध्यान दें कि हमने केवल सजातीय मॉडल के साथ समापन बिंदु को बेंचमार्क किया है, जो सभी PyTorch या TensorRT का उपयोग करके एक सुसंगत सर्विंग बेस पर चल रहे हैं। ऐसा इसलिए है क्योंकि MME समान विशेषताओं वाले कई मॉडलों को होस्ट करने के लिए सबसे उपयुक्त हैं, जैसे कि मेमोरी की खपत और प्रतिक्रिया समय। में प्रदान किए गए बेंचमार्किंग टेम्प्लेट गीथहब रेपो अभी भी यह निर्धारित करने के लिए उपयोग किया जा सकता है कि एमएमई पर विषम मॉडल पेश करने से वांछित प्रदर्शन और स्थिरता प्राप्त होगी या नहीं।

सीवी मॉडल के लिए बेंचमार्क परिणाम

कंप्यूटर दृष्टि मॉडल के लिए लोड परीक्षण चलाने के लिए cv-benchmark.ipynb नोटबुक का उपयोग करें। आप विभिन्न मॉडल और उदाहरण प्रकार के संयोजन पर प्रदर्शन लोड परीक्षण के लिए पूर्व-प्रशिक्षित मॉडल नाम और उदाहरण प्रकार के मापदंडों को समायोजित कर सकते हैं। हमने जानबूझकर तीन सीवी मॉडल का अलग-अलग आकार में सबसे छोटे से लेकर सबसे बड़े तक परीक्षण किया: resnet50 (25एम), convnext_base (88M), और vit_large_patch16_224 (304एम)। यदि आप इस सूची के बाहर कोई मॉडल चुनते हैं तो आपको कोड में समायोजित करने की आवश्यकता हो सकती है। इसके अतिरिक्त, नोटबुक इनपुट छवि आकार को 224x224x3 छवि टेंसर में डिफ़ॉल्ट करता है। यदि आपको अलग-अलग आकार की छवि लेने वाले मॉडल को बेंचमार्क करने की आवश्यकता है, तो उसके अनुसार इनपुट आकार को समायोजित करना याद रखें।

संपूर्ण नोटबुक को चलाने के बाद, आपको कई प्रदर्शन विश्लेषण विज़ुअलाइज़ेशन मिलेंगे। पहले दो बढ़ते समवर्ती उपयोगकर्ताओं के संबंध में मॉडल के प्रदर्शन का विवरण देते हैं। निम्नलिखित आंकड़े उदाहरण के लिए उत्पन्न विज़ुअलाइज़ेशन हैं ResNet50 मॉडल ml.g4dn.2xlarge पर चल रहा है, PyTorch (बाएं) बनाम TensorRT (दाएं) की तुलना कर रहा है। शीर्ष रेखा ग्राफ एक्स-अक्ष पर प्रतिबिंबित समवर्ती क्लाइंट श्रमिकों की बढ़ती संख्या के साथ वाई-अक्ष पर मॉडल विलंबता और थ्रूपुट दिखाते हैं। निचला बार चार्ट सफल और विफल अनुरोधों की संख्या दिखाता है।

GPU प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें। लंबवत खोज. ऐ.

हमारे द्वारा परीक्षण किए गए सभी कंप्यूटर विज़न मॉडल को देखते हुए, हमने निम्नलिखित पाया:

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

GPU प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें। लंबवत खोज. ऐ.

नोटबुक रन के अंत में, आपको चार प्रमुख मेट्रिक्स में से प्रत्येक के लिए PyTorch बनाम TensorRT मॉडल की सारांश तुलना भी मिलती है। हमारे बेंचमार्क टेस्टिंग से, TensorRT कंपाइलेशन के बाद सभी CV मॉडल के प्रदर्शन में बढ़ोतरी देखी गई। हमारा ले रहा है ResNet50 उदाहरण के रूप में फिर से मॉडल, विलंबता में 32% की कमी आई जबकि थ्रूपुट में 18% की वृद्धि हुई। हालांकि समवर्ती उपयोगकर्ताओं की अधिकतम संख्या समान रही ResNet50, अन्य दो मॉडलों ने समवर्ती उपयोगकर्ताओं की संख्या में 14% सुधार देखा, जिनका वे समर्थन कर सकते हैं। TensorRT के प्रदर्शन में सुधार, हालांकि, उच्च मेमोरी उपयोग की कीमत पर आया, जिसके परिणामस्वरूप MMEs द्वारा कम मॉडल लोड किए गए। कन्वेन्शनल न्यूरल नेटवर्क (सीएनएन) का उपयोग करने वाले मॉडल के लिए प्रभाव अधिक है। वास्तव में, हमारे ResNet50 मॉडल ने PyTorch से TensorRT तक जाने वाली GPU मेमोरी का लगभग दोगुना उपभोग किया, जिसके परिणामस्वरूप 50% कम मॉडल लोड हुए (46 बनाम 23)। हम आगे के अनुभाग में इस व्यवहार का निदान करते हैं।

एनएलपी मॉडल के लिए बेंचमार्क परिणाम

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

GPU प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें। लंबवत खोज. ऐ.
GPU प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के साथ Amazon SageMaker मल्टी-मॉडल एंडपॉइंट का उपयोग करके मॉडल सर्विंग के लिए बड़े पैमाने पर उच्च प्रदर्शन प्राप्त करें। लंबवत खोज. ऐ.

इनसे, हमने NLP मॉडल के लिए TensorRT के और भी अधिक प्रदर्शन लाभ देखे। लेना roberta-large उदाहरण के लिए एक ml.g4dn.2xबड़े उदाहरण पर मॉडल, अनुमान विलंबता नाटकीय रूप से 180 मिलीसेकंड से 56 मिलीसेकंड (एक 70% सुधार) तक कम हो गई, जबकि थ्रूपुट में 406% सुधार हुआ, प्रति सेकंड 33 अनुरोधों से 167 तक। इसके अतिरिक्त, समवर्ती की अधिकतम संख्या उपयोगकर्ताओं में 50% की वृद्धि हुई; मूल PyTorch मॉडल के लिए 180 की तुलना में, जब तक हम 120 समवर्ती उपयोगकर्ताओं तक नहीं पहुँचे, तब तक असफल अनुरोध नहीं देखे गए। स्मृति उपयोग के संदर्भ में, हमने TensorRT (नौ मॉडल से आठ मॉडल) के लिए लोड किए गए एक कम मॉडल को देखा। हालांकि, सीएनएन-आधारित मॉडलों के साथ हमने जो देखा, उसकी तुलना में नकारात्मक प्रभाव बहुत कम है।

स्मृति उपयोग पर विश्लेषण

निम्न तालिका PyTorch से TensorRT पर जाने वाले स्मृति उपयोग प्रभाव पर पूर्ण विश्लेषण दिखाती है। हमने पहले उल्लेख किया है कि सीएनएन-आधारित मॉडल अधिक नकारात्मक रूप से प्रभावित होते हैं। ResNet50 मॉडल में तीनों जीपीयू इंस्टेंस प्रकारों में लोड किए गए मॉडल की संख्या में 50% से अधिक की कमी आई थी। Convnext_base बोर्ड भर में लगभग 70% की और भी बड़ी कमी आई थी। दूसरी ओर, ट्रांसफार्मर मॉडल पर प्रभाव छोटा या मिश्रित होता है। vit_large_patch16_224 और roberta-large क्रमशः लगभग 20% और 3% की औसत कमी थी, जबकि bert-base-uncased लगभग 40% सुधार हुआ था।

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

एमएल उपयोग मामला आर्किटेक्चर मॉडल का नाम उदाहरण प्रकार ढांचा अधिकतम मॉडल लोड किए गए अंतर (%) औसत अंतर (%)
CV सीएनएन Resnet50 ml.g4dn.2xबड़ा पायटॉर्च 46 -50% -50%
टेंसरआरटी 23
एमएल.g5.2xबड़ा पायटॉर्च 70 -51%
टेंसरआरटी 34
एमएल.पी3.2xबड़ा पायटॉर्च 49 -51%
टेंसरआरटी 24
Convnext_base ml.g4dn.2xबड़ा पायटॉर्च 33 -50% -70%
टेंसरआरटी 10
एमएल.g5.2xबड़ा पायटॉर्च 50 -70%
टेंसरआरटी 16
एमएल.पी3.2xबड़ा पायटॉर्च 35 -69%
टेंसरआरटी 11
ट्रांसफार्मर vit_large_patch16_224 ml.g4dn.2xबड़ा पायटॉर्च 10 -30% -20%
टेंसरआरटी 7
एमएल.g5.2xबड़ा पायटॉर्च 15 -13%
टेंसरआरटी 13
एमएल.पी3.2xबड़ा पायटॉर्च 11 -18%
टेंसरआरटी 9
एनएलपी Roberta-large ml.g4dn.2xबड़ा पायटॉर्च 9 -11% -3%
टेंसरआरटी 8
एमएल.g5.2xबड़ा पायटॉर्च 13 0%
टेंसरआरटी 13
एमएल.पी3.2xबड़ा पायटॉर्च 9 0%
टेंसरआरटी 9
Bert-base-uncased ml.g4dn.2xबड़ा पायटॉर्च 26 62% तक 40% तक
टेंसरआरटी 42
एमएल.g5.2xबड़ा पायटॉर्च 39 28% तक
टेंसरआरटी 50
एमएल.पी3.2xबड़ा पायटॉर्च 28 29% तक
टेंसरआरटी 36

नीचे दी गई तालिका में तीनों जीपीयू इंस्टेंस प्रकारों के सभी मीट्रिक के लिए हमारे संपूर्ण बेंचमार्क परिणामों की सूची दी गई है।

ml.g4dn.2xबड़ा

उदाहरण आर्किटेक्चर मॉडल का नाम पैरामीटर्स की संख्या ढांचा अधिकतम मॉडल लोड किए गए अंतर (%) लेटेंसी (एमएस) अंतर (%) थ्रूपुट (क्यूपीएस) अंतर (%) अधिकतम समवर्ती उपयोगकर्ता अंतर (%)
CV सीएनएन resnet50 25M पायटॉर्च 46 -50% 164 -32% 120 18% तक 180 NA
टेंसरआरटी 23 . 111 . 142 . 180 .
convnext_base 88M पायटॉर्च 33 -70% 154 -22% 64 102% तक 140 14% तक
टेंसरआरटी 10 . 120 . 129 . 160 .
ट्रांसफार्मर vit_large_patch16_224 304M पायटॉर्च 10 -30% 425 -69% 26 304% तक 140 14% तक
टेंसरआरटी 7 . 131 . 105 . 160 .
एनएलपी bert-base-uncased 109M पायटॉर्च 26 62% तक 70 -39% 105 142% तक 140 29% तक
टेंसरआरटी 42 . 43 . 254 . 180 .
roberta-large 335M पायटॉर्च 9 -11% 187 -70% 33 406% तक 120 50% तक
टेंसरआरटी 8 . 56 . 167 . 180 .

एमएल.g5.2xबड़ा

उदाहरण आर्किटेक्चर मॉडल का नाम पैरामीटर्स की संख्या ढांचा अधिकतम मॉडल लोड किए गए अंतर (%) लेटेंसी (एमएस) अंतर (%) थ्रूपुट (क्यूपीएस) अंतर (%) अधिकतम समवर्ती उपयोगकर्ता अंतर (%)
CV सीएनएन resnet50 25M पायटॉर्च 70 -51% 159 -31% 146 14% तक 180 11% तक
टेंसरआरटी 34 . 110 . 166 . 200 .
convnext_base 88M पायटॉर्च 50 -68% 149 -23% 134 13% तक 180 0%
टेंसरआरटी 16 . 115 . 152 . 180 .
ट्रांसफार्मर vit_large_patch16_224 304M पायटॉर्च 15 -13% 149 -22% 105 35% तक 160 25% तक
टेंसरआरटी 13 . 116 . 142 . 200 .
एनएलपी bert-base-uncased 109M पायटॉर्च 39 28% तक 65 -29% 183 38% तक 180 11% तक
टेंसरआरटी 50 . 46 . 253 . 200 .
roberta-large 335M पायटॉर्च 13 0% 97 -38% 121 46% तक 140 14% तक
टेंसरआरटी 13 . 60 . 177 . 160 .

एमएल.पी3.2xबड़ा

उदाहरण आर्किटेक्चर मॉडल का नाम पैरामीटर्स की संख्या ढांचा अधिकतम मॉडल लोड किए गए अंतर (%) लेटेंसी (एमएस) अंतर (%) थ्रूपुट (क्यूपीएस) अंतर (%) अधिकतम समवर्ती उपयोगकर्ता अंतर (%)
CV सीएनएन resnet50 25M पायटॉर्च 49 -51% 197 -41% 94 18% तक 160 -12%
टेंसरआरटी 24 . 117 . 111 . 140 .
convnext_base 88M पायटॉर्च 35 -69% 178 -23% 89 11% तक 140 14% तक
टेंसरआरटी 11 137. 137 . 99 . 160 .
ट्रांसफार्मर vit_large_patch16_224 304M पायटॉर्च 11 -18% 186 -28% 83 23% तक 140 29% तक
टेंसरआरटी 9 . 134 . 102 . 180 .
एनएलपी bert-base-uncased 109M पायटॉर्च 28 29% तक 77 -40% 133 59% तक 140 43% तक
टेंसरआरटी 36 . 46 . 212 . 200 .
roberta-large 335M पायटॉर्च 9 0% 108 -44% 88 60% तक 160 0%
टेंसरआरटी 9 . 61 . 141 . 160 .

निम्न तालिका सभी उदाहरणों के प्रकारों के परिणामों को सारांशित करती है। एमएल.जी5.2एक्सलार्ज इंस्टेंस सबसे अच्छा प्रदर्शन प्रदान करता है, जबकि एमएल.पी3.2एक्सलार्ज इंस्टेंस तीनों में सबसे महंगा होने के बावजूद आम तौर पर खराब प्रदर्शन करता है। G5 और g4dn उदाहरण अनुमान वर्कलोड के लिए सर्वोत्तम मूल्य प्रदर्शित करते हैं।

उदाहरण आर्किटेक्चर मॉडल का नाम पैरामीटर्स की संख्या ढांचा उदाहरण प्रकार अधिकतम मॉडल लोड किए गए अंतर (%) लेटेंसी (एमएस) अंतर (%) थ्रूपुट (क्यूपीएस) अंतर (%) अधिकतम समवर्ती उपयोगकर्ता
CV सीएनएन resnet50 25M पायटॉर्च एमएल.g5.2xबड़ा 70 . 159 . 146 . 180
. . . . . एमएल.पी3.2xबड़ा 49 . 197 . 94 . 160
. . . . . ml.g4dn.2xबड़ा 46 . 164 . 120 . 180
CV CN resnet50 25M टेंसरआरटी एमएल.g5.2xबड़ा 34 -51% 110 -31% 166 14% तक 200
. . . . . एमएल.पी3.2xबड़ा 24 -51% 117 -41% 111 18% तक 200
. . . . . ml.g4dn.2xबड़ा 23 -50% 111 -32% 142 18% तक 180
एनएलपी ट्रांसफार्मर bert-base-uncased 109M पाइटरॉच एमएल.g5.2xबड़ा 39 . 65 . 183 . 180
. . . . . एमएल.पी3.2xबड़ा 28 . 77 . 133 . 140
. . . . . ml.g4dn.2xबड़ा 26 . 70 . 105 . 140
एनएलपी ट्रांसफार्मर bert-base-uncased 109M टेंसरआरटी एमएल.g5.2xबड़ा 50 28% तक 46 -29% 253 38% तक 200
. . . . . एमएल.पी3.2xबड़ा 36 29% तक 46 -40% 212 59% तक 200
. . . . . ml.g4dn.2xबड़ा 42 62% तक 43 -39% 254 142% तक 180

क्लीन अप

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

delete_endpoint(sm_client, sm_model_name, endpoint_config_name, endpoint_name) ! aws s3 rm --recursive {trt_mme_path}

निष्कर्ष

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


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

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

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

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

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

समय टिकट:

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