मशीन लर्निंग (एमएल) अनुप्रयोगों को तैनात करना जटिल है और अक्सर एकल अनुमान अनुरोध को पूरा करने के लिए कई एमएल मॉडल की आवश्यकता होती है। एक विशिष्ट अनुरोध प्रीप्रोसेसिंग, डेटा ट्रांसफ़ॉर्मेशन, मॉडल चयन तर्क, मॉडल एकत्रीकरण और पोस्टप्रोसेसिंग जैसे चरणों के साथ कई मॉडलों में प्रवाहित हो सकता है। इससे सामान्य डिज़ाइन पैटर्न जैसे कि सीरियल इंफ़ेक्शन पाइपलाइन, एनसेंबल (स्कैटर इकट्ठा), और बिजनेस लॉजिक वर्कफ़्लोज़ का विकास हुआ है, जिसके परिणामस्वरूप अनुरोध के संपूर्ण वर्कफ़्लो को डायरेक्टेड एसाइक्लिक ग्राफ़ (डीएजी) के रूप में साकार किया गया है। हालाँकि, जैसे-जैसे वर्कफ़्लो अधिक जटिल होता जाता है, इससे इन अनुप्रयोगों के समग्र प्रतिक्रिया समय या विलंबता में वृद्धि होती है, जो बदले में समग्र उपयोगकर्ता अनुभव को प्रभावित करती है। इसके अलावा, यदि इन घटकों को विभिन्न उदाहरणों पर होस्ट किया जाता है, तो इन उदाहरणों के बीच अतिरिक्त नेटवर्क विलंबता समग्र विलंबता को बढ़ाती है। ग्राहक सहायता में आभासी सहायक के लिए एक लोकप्रिय एमएल उपयोग के उदाहरण पर विचार करें। एक सामान्य अनुरोध को वाक् पहचान, प्राकृतिक भाषा प्रसंस्करण (एनएलपी), संवाद स्थिति ट्रैकिंग, संवाद नीति, पाठ निर्माण और अंत में पाठ से वाक् तक कई चरणों से गुजरना पड़ सकता है। इसके अलावा, उपयोगकर्ता इंटरैक्शन को अधिक वैयक्तिकृत बनाने के लिए, आप विभिन्न संस्करणों जैसे अत्याधुनिक, ट्रांसफार्मर-आधारित एनएलपी मॉडल का भी उपयोग कर सकते हैं बर्ट, बार्ट, तथा GPT. अंतिम परिणाम इन मॉडलों के लिए लंबे समय तक प्रतिक्रिया और खराब ग्राहक अनुभव है।
समग्र थ्रूपुट से समझौता किए बिना प्रतिक्रिया समय को कम करने का एक सामान्य पैटर्न इन मॉडलों को हल्के व्यापार तर्क के साथ एक ही उदाहरण पर होस्ट करना है। चल रही प्रक्रियाओं के लिए अलगाव प्रदान करने और विलंबता को कम रखने के लिए इन मॉडलों को एक ही उदाहरण पर एकल या एकाधिक कंटेनरों में समाहित किया जा सकता है। इसके अतिरिक्त, समग्र विलंबता अनुमान अनुप्रयोग तर्क, मॉडल अनुकूलन, अंतर्निहित बुनियादी ढांचे (गणना, भंडारण और नेटवर्किंग सहित) और अनुमान अनुरोध लेने वाले अंतर्निहित वेब सर्वर पर भी निर्भर करती है। NVIDIA ट्राइटन अनुमान सर्वर अल्ट्रा-लो (एकल अंक मिलीसेकंड) अनुमान विलंबता के साथ थ्रूपुट और हार्डवेयर उपयोग को अधिकतम करने की सुविधाओं के साथ एक ओपन-सोर्स अनुमान सेवारत सॉफ्टवेयर है। इसमें ML फ्रेमवर्क (TensorFlow, PyTorch, ONNX, XGBoost, और NVIDIA TensorRT सहित) और GPU, CPU और इंफ्रास्ट्रक्चर बैकएंड का व्यापक समर्थन है। एडब्ल्यूएस इन्फेंटेंटिया. इसके अतिरिक्त, ट्राइटन इन्फेरेंस सर्वर के साथ एकीकृत किया गया है अमेज़न SageMaker, एक पूरी तरह से प्रबंधित एंड-टू-एंड एमएल सेवा, जिसमें वास्तविक समय अनुमान विकल्प भी शामिल हैं एक और बहु मॉडल मेजबानी। इन अनुमान विकल्पों में एक के पीछे एक ही कंटेनर के भीतर कई मॉडलों को होस्ट करना शामिल है एकल समापन बिंदु, और होस्टिंग अनेक कंटेनरों के साथ अनेक मॉडल एक एकल समापन बिंदु के पीछे.
नवंबर 2021 में हमने घोषणा की सेजमेकर पर ट्राइटन इंट्रेंस सर्वर का एकीकरण. AWS ने आपको दोनों दुनियाओं का सर्वश्रेष्ठ प्राप्त करने और AWS पर ट्राइटन के साथ मॉडल परिनियोजन को आसान बनाने में सक्षम बनाने के लिए NVIDIA के साथ मिलकर काम किया।
इस पोस्ट में, हम सेजमेकर पर ट्राइटन इनफेरेंस सर्वर का उपयोग करके जीपीयू पर बड़े पैमाने पर ट्रांसफार्मर मॉडल को तैनात करने के लिए सर्वोत्तम प्रथाओं को देखते हैं। सबसे पहले, हम सेजमेकर में विलंबता से संबंधित प्रमुख अवधारणाओं के सारांश और प्रदर्शन ट्यूनिंग दिशानिर्देशों के अवलोकन के साथ शुरुआत करते हैं। इसके बाद, हम ट्राइटन और इसकी विशेषताओं के साथ-साथ सेजमेकर पर तैनाती के लिए उदाहरण कोड का अवलोकन प्रदान करते हैं। अंत में, हम इसका उपयोग करके लोड परीक्षण करते हैं सेजमेकर अनुमान अनुशंसाकर्ता और हगिंग फेस द्वारा प्रदान किए गए एक लोकप्रिय ट्रांसफार्मर मॉडल के लोड परीक्षण से प्राप्त अंतर्दृष्टि और निष्कर्षों का सारांश प्रस्तुत करें।
आप समीक्षा कर सकते हैं नोटबुक हम कोड का उपयोग करके मॉडलों को तैनात करते थे और स्वयं लोड परीक्षण करते थे GitHub.
सेजमेकर पर मॉडल सर्विंग के लिए प्रदर्शन ट्यूनिंग और अनुकूलन
प्रदर्शन ट्यूनिंग और अनुकूलन एक अनुभवजन्य प्रक्रिया है जिसमें अक्सर कई पुनरावृत्तियों को शामिल किया जाता है। ट्यून करने के लिए पैरामीटर्स की संख्या कॉम्बीनेटरियल है और कॉन्फ़िगरेशन पैरामीटर मानों का सेट एक दूसरे से स्वतंत्र नहीं है। विभिन्न कारक इष्टतम पैरामीटर ट्यूनिंग को प्रभावित करते हैं, जिसमें पेलोड आकार, प्रकार, और अनुमान अनुरोध प्रवाह ग्राफ में एमएल मॉडल की संख्या, भंडारण प्रकार, गणना उदाहरण प्रकार, नेटवर्क इन्फ्रास्ट्रक्चर, एप्लिकेशन कोड, इंट्रेंस सर्विंग सॉफ्टवेयर रनटाइम और कॉन्फ़िगरेशन, और बहुत कुछ शामिल हैं।
यदि आप एमएल मॉडल तैनात करने के लिए सेजमेकर का उपयोग कर रहे हैं, तो आपको सर्वोत्तम मूल्य-प्रदर्शन के साथ एक कंप्यूट इंस्टेंस का चयन करना होगा, जो एक जटिल और पुनरावृत्त प्रक्रिया है जिसमें प्रयोग के कई सप्ताह लग सकते हैं। सबसे पहले, आपको अपने मॉडल की संसाधन आवश्यकताओं और इनपुट डेटा के आकार के आधार पर 70 से अधिक विकल्पों में से सही एमएल इंस्टेंस प्रकार चुनना होगा। इसके बाद, आपको चयनित इंस्टेंस प्रकार के लिए मॉडल को अनुकूलित करने की आवश्यकता है। अंत में, आपको इष्टतम प्रदर्शन और लागत के लिए लोड परीक्षण चलाने और क्लाउड कॉन्फ़िगरेशन को ट्यून करने के लिए बुनियादी ढांचे का प्रावधान और प्रबंधन करने की आवश्यकता है। यह सब मॉडल की तैनाती और बाज़ार में आने के समय में देरी कर सकता है। इसके अतिरिक्त, आपको इष्टतम परिनियोजन कॉन्फ़िगरेशन का चयन करने के लिए विलंबता, थ्रूपुट और लागत के बीच व्यापार-बंद का मूल्यांकन करने की आवश्यकता है। सेजमेकर अनुमान अनुशंसाकर्ता थ्रूपुट को अधिकतम करने, विलंबता को कम करने और लागत को कम करने के अनुमान के लिए स्वचालित रूप से सही गणना उदाहरण प्रकार, उदाहरण गिनती, कंटेनर पैरामीटर और मॉडल अनुकूलन का चयन करता है।
सेजमेकर में वास्तविक समय अनुमान और विलंबता
सेजमेकर रीयल-टाइम अनुमान अनुमान कार्यभार के लिए आदर्श है जहां आपके पास वास्तविक समय, इंटरैक्टिव, कम विलंबता आवश्यकताएं हैं। सेजमेकर अनुमान समापन बिंदुओं के लिए अनुमान अनुरोध विलंबता की निगरानी के लिए चार सबसे अधिक उपयोग किए जाने वाले मेट्रिक्स हैं
- कंटेनर विलंबता - अनुरोध भेजने, मॉडल के कंटेनर से प्रतिक्रिया लाने और कंटेनर में पूरा अनुमान लगाने में लगने वाला समय। यह मीट्रिक Amazon CloudWatch के भाग के रूप में उपलब्ध है मंगलाचरण मेट्रिक्स सेजमेकर द्वारा प्रकाशित।
- मॉडल विलंबता - सभी सेजमेकर कंटेनरों द्वारा एक . में लिया गया कुल समय अनुमान पाइपलाइन. यह मीट्रिक Amazon CloudWatch के भाग के रूप में उपलब्ध है मंगलाचरण मेट्रिक्स सेजमेकर द्वारा प्रकाशित।
- ओवरहेड विलंबता - सेजमेकर द्वारा अनुरोध प्राप्त करने के समय से लेकर क्लाइंट को प्रतिक्रिया देने तक, मॉडल विलंबता को घटाकर मापा जाता है। यह मीट्रिक Amazon CloudWatch के भाग के रूप में उपलब्ध है मंगलाचरण मेट्रिक्स सेजमेकर द्वारा प्रकाशित।
- एंड-टू-एंड लेटेंसी - उस समय से मापा जाता है जब ग्राहक अनुमान अनुरोध भेजता है जब तक कि उसे वापस प्रतिक्रिया नहीं मिलती। ग्राहक इसे Amazon CloudWatch में एक कस्टम मीट्रिक के रूप में प्रकाशित कर सकते हैं।
निम्नलिखित चित्र इन घटकों को दर्शाता है।
कंटेनर विलंबता कई कारकों पर निर्भर करती है; निम्नलिखित में से सबसे महत्वपूर्ण हैं:
- अंतर्निहित प्रोटोकॉल (HTTP(s)/gRPC) का उपयोग अनुमान सर्वर के साथ संचार करने के लिए किया जाता है
- नए टीएलएस कनेक्शन बनाने से संबंधित ओवरहेड
- अनुरोध/प्रतिक्रिया पेलोड का अक्रमांकन समय
- अंतर्निहित अनुमान सर्वर द्वारा प्रदान की गई कतार और बैचिंग सुविधाओं का अनुरोध करें
- अंतर्निहित अनुमान सर्वर द्वारा प्रदान की गई शेड्यूलिंग क्षमताओं का अनुरोध करें
- अनुमान सर्वर का अंतर्निहित रनटाइम प्रदर्शन
- मॉडल भविष्यवाणी फ़ंक्शन को कॉल करने से पहले प्रीप्रोसेसिंग और पोस्टप्रोसेसिंग लाइब्रेरी का प्रदर्शन
- अंतर्निहित एमएल फ्रेमवर्क बैकएंड प्रदर्शन
- मॉडल-विशिष्ट और हार्डवेयर-विशिष्ट अनुकूलन
इस पोस्ट में, हम मुख्य रूप से समग्र थ्रूपुट और लागत के साथ-साथ कंटेनर विलंबता को अनुकूलित करने पर ध्यान केंद्रित करते हैं। विशेष रूप से, हम सेजमेकर कंटेनर के अंदर चलने वाले ट्राइटन इंफ़रेंस सर्वर के प्रदर्शन ट्यूनिंग का पता लगाते हैं।
केस अवलोकन का उपयोग करें
उत्पादन सेटअप में एनएलपी मॉडल को तैनात करना और स्केल करना काफी चुनौतीपूर्ण हो सकता है। एनएलपी मॉडल अक्सर आकार में बहुत बड़े होते हैं, जिनमें लाखों मॉडल पैरामीटर होते हैं। उत्पादन-ग्रेड एनएलपी अनुप्रयोगों के कड़े प्रदर्शन और स्केलेबिलिटी आवश्यकताओं को पूरा करने के लिए इष्टतम मॉडल कॉन्फ़िगरेशन की आवश्यकता होती है।
इस पोस्ट में, हम ट्राइटन इंट्रेंस सर्वर कंटेनर पर आधारित सेजमेकर रीयल-टाइम एंडपॉइंट का उपयोग करके एनएलपी उपयोग मामले को बेंचमार्क करते हैं और हमारे एमएल उपयोग मामले के लिए प्रदर्शन ट्यूनिंग अनुकूलन की अनुशंसा करते हैं। हम एक बड़े, पूर्व-प्रशिक्षित ट्रांसफार्मर-आधारित हगिंग फेस का उपयोग करते हैं BERT बड़ा खुला मॉडल, जिसमें लगभग 336 मिलियन मॉडल पैरामीटर हैं। बाइनरी वर्गीकरण मॉडल के लिए उपयोग किए जाने वाले इनपुट वाक्य को 512 टोकन की अधिकतम इनपुट अनुक्रम लंबाई तक गद्देदार और छोटा किया जाता है। अनुमान भार परीक्षण प्रति सेकंड 500 मंगलाचरण (प्रति मिनट 30,000 अधिकतम मंगलाचरण) का अनुकरण करता है और ModelLatency
0.5 सेकंड (500 मिलीसेकंड) से कम।
निम्न तालिका हमारे बेंचमार्क कॉन्फ़िगरेशन का सारांश प्रस्तुत करती है।
मॉडल का नाम | गले लगना bert-large-uncased |
मॉडल का आकार | 1.25 जीबी |
विलंबता आवश्यकता | 0.5 सेकंड (500 मिलीसेकंड) |
प्रति सेकंड आमंत्रण | 500 अनुरोध (30,000 प्रति मिनट) |
इनपुट अनुक्रम लंबाई | 512 टोकन |
एमएल टास्क | बाइनरी वर्गीकरण |
NVIDIA ट्राइटन अनुमान सर्वर
ट्राइटन इंफ़रेंस सर्वर को विशेष रूप से उत्पादन में मॉडलों की स्केलेबल, तेज़ और आसान तैनाती को सक्षम करने के लिए डिज़ाइन किया गया है। ट्राइटन कई प्रमुख AI फ्रेमवर्क का समर्थन करता है, जिनमें TensorFlow, TensorRT, PyTorch, XGBoost और ONNX शामिल हैं। पायथन और सी++ कस्टम बैकएंड के साथ, आप अधिक अनुकूलित उपयोग के मामलों के लिए अपने अनुमान कार्यभार को भी लागू कर सकते हैं।
सबसे महत्वपूर्ण बात यह है कि ट्राइटन आपके मॉडलों को होस्ट करने के लिए एक सरल कॉन्फ़िगरेशन-आधारित सेटअप प्रदान करता है, जो प्रदर्शन अनुकूलन सुविधाओं के एक समृद्ध सेट को उजागर करता है जिसका उपयोग आप कम कोडिंग प्रयास के साथ कर सकते हैं।
ट्राइटन विभिन्न अनुकूलन तकनीकों (समवर्ती मॉडल रन और डायनेमिक बैचिंग का सबसे अधिक उपयोग किया जाता है) के साथ हार्डवेयर उपयोग को अधिकतम करके अनुमान प्रदर्शन को बढ़ाता है। डायनेमिक बैच आकारों के विभिन्न संयोजनों और समवर्ती मॉडल उदाहरणों की संख्या से इष्टतम मॉडल कॉन्फ़िगरेशन ढूंढना ट्राइटन का उपयोग करके कम लागत वाली सेवा के भीतर वास्तविक समय अनुमान प्राप्त करने की कुंजी है।
गतिशील बैचिंग
जब सर्वर कई स्वतंत्र अनुरोधों के साथ लागू होता है तो कई व्यवसायी क्रमिक रूप से अनुमान लगाने की प्रवृत्ति रखते हैं। हालाँकि इसे स्थापित करना आसान है, लेकिन आमतौर पर GPU की गणना शक्ति का उपयोग करना सर्वोत्तम अभ्यास नहीं है। इसे संबोधित करने के लिए, ट्राइटन अंतर्निहित अनुकूलन प्रदान करता है गतिशील बैचिंग थ्रूपुट को बढ़ाने के लिए गतिशील रूप से एक बड़ा बैच बनाने के लिए सर्वर साइड पर इन स्वतंत्र अनुमान अनुरोधों को संयोजित करना। निम्नलिखित चित्र ट्राइटन रनटाइम आर्किटेक्चर को दर्शाता है।
पूर्ववर्ती आर्किटेक्चर में, सभी अनुरोध अनुमान के लिए प्रतीक्षा करने के लिए वास्तविक मॉडल अनुसूचक कतार में प्रवेश करने से पहले गतिशील बैचर तक पहुंचते हैं। आप इसका उपयोग करके डायनामिक बैचिंग के लिए अपना पसंदीदा बैच आकार सेट कर सकते हैं पसंदीदा_बैच_आकार मॉडल कॉन्फ़िगरेशन में सेटिंग्स। (ध्यान दें कि गठित बैच का आकार इससे कम होना चाहिए अधिकतम_बैच_आकार मॉडल समर्थन करता है।) आप कॉन्फ़िगर भी कर सकते हैं अधिकतम_कतार_विलंब_माइक्रोसेकंड आपकी विलंबता आवश्यकताओं के आधार पर बैच में शामिल होने के लिए अन्य अनुरोधों की प्रतीक्षा करने के लिए बैचर में अधिकतम विलंब समय निर्दिष्ट करने के लिए।
निम्नलिखित कोड स्निपेट दिखाता है कि आप वास्तविक अनुमान के लिए 16 के पसंदीदा बैच आकार के साथ डायनामिक बैचिंग सेट करने के लिए मॉडल कॉन्फ़िगरेशन फ़ाइलों के साथ इस सुविधा को कैसे जोड़ सकते हैं। वर्तमान सेटिंग्स के साथ, मॉडल इंस्टेंस को तुरंत लागू किया जाता है जब 16 का पसंदीदा बैच आकार पूरा हो जाता है या पहला अनुरोध डायनेमिक बैचर तक पहुंचने के बाद 100 माइक्रोसेकंड का विलंब समय बीत चुका होता है।
मॉडलों को एक साथ चलाना
अतिरिक्त विलंबता ओवरहेड के बिना हार्डवेयर उपयोग को अधिकतम करने के लिए ट्राइटन में पेश किया गया एक और आवश्यक अनुकूलन है समवर्ती मॉडल निष्पादन, जो कई मॉडलों या एक ही मॉडल की कई प्रतियों को समानांतर में चलाने की अनुमति देता है। यह सुविधा ट्राइटन को एक साथ कई अनुमान अनुरोधों को संभालने में सक्षम बनाती है, जो हार्डवेयर पर अन्यथा निष्क्रिय गणना शक्ति का उपयोग करके अनुमान थ्रूपुट को बढ़ाती है।
निम्नलिखित आंकड़ा दिखाता है कि आप कोड परिवर्तनों की केवल कुछ पंक्तियों के साथ विभिन्न मॉडल परिनियोजन नीतियों को आसानी से कैसे कॉन्फ़िगर कर सकते हैं। उदाहरण के लिए, कॉन्फ़िगरेशन ए (बाएं) दिखाता है कि आप दो मॉडल उदाहरणों के समान कॉन्फ़िगरेशन को प्रसारित कर सकते हैं bert-large-uncased
सभी उपलब्ध जीपीयू के लिए। इसके विपरीत, कॉन्फ़िगरेशन बी (मध्य) अन्य जीपीयू पर नीतियों को बदले बिना, केवल जीपीयू 0 के लिए एक अलग कॉन्फ़िगरेशन दिखाता है। आप एक ही जीपीयू पर विभिन्न मॉडलों के इंस्टेंस को भी तैनात कर सकते हैं, जैसा कि कॉन्फ़िगरेशन सी (दाएं) में दिखाया गया है।
कॉन्फ़िगरेशन सी में, कंप्यूट इंस्टेंस डिस्टिलजीपीटी-2 मॉडल के लिए दो समवर्ती अनुरोधों और सात समवर्ती अनुरोधों को संभाल सकता है। bert-large-uncased
समानांतर में मॉडल. इन अनुकूलन के साथ, हार्डवेयर संसाधनों का उपयोग सेवा प्रक्रिया के लिए बेहतर ढंग से किया जा सकता है, जिससे थ्रूपुट में सुधार होगा और आपके कार्यभार के लिए बेहतर लागत-दक्षता प्रदान की जा सकेगी।
टेंसरआरटी
NVIDIA TensorRT उच्च-प्रदर्शन गहन शिक्षण अनुमान के लिए एक एसडीके है जो ट्राइटन के साथ निर्बाध रूप से काम करता है। TensorRT, जो हर प्रमुख गहन शिक्षण ढांचे का समर्थन करता है, में एक अनुमान अनुकूलक और रनटाइम शामिल है जो शक्तिशाली अनुकूलन के माध्यम से डेटा की भारी मात्रा के साथ अनुमान चलाने के लिए कम विलंबता और उच्च थ्रूपुट प्रदान करता है।
TensorRT अनावश्यक मेमोरी को मुक्त करके और उसका कुशलतापूर्वक पुन: उपयोग करके मेमोरी फ़ुटप्रिंट को कम करने के लिए ग्राफ़ को अनुकूलित करता है। इसके अतिरिक्त, TensorRT संकलन कई छोटे कर्नेल लॉन्च के ओवरहेड से बचने के लिए एक बड़ा कर्नेल बनाने के लिए मॉडल ग्राफ़ के अंदर विरल संचालन को फ़्यूज़ करता है। कर्नेल ऑटो-ट्यूनिंग आपके लक्ष्य GPU पर सर्वोत्तम एल्गोरिदम का चयन करके हार्डवेयर का पूरी तरह से उपयोग करने में आपकी सहायता करता है। CUDA स्ट्रीम सर्वोत्तम प्रदर्शन के लिए आपके GPU उपयोग को अधिकतम करने के लिए मॉडलों को समानांतर में चलने में सक्षम बनाती हैं। अंतिम लेकिन कम महत्वपूर्ण नहीं, परिमाणीकरण तकनीक सर्वोत्तम अनुमान प्रदर्शन प्राप्त करने के लिए मॉडल को FP32, TF32, FP16 और INT8 में चलाने के लिए टेन्सर कोर के मिश्रित-सटीक त्वरण का पूरी तरह से उपयोग कर सकती है।
सेजमेकर होस्टिंग पर ट्राइटन
सेजमेकर होस्टिंग services मॉडल परिनियोजन और आसान सेवा प्रदान करने के उद्देश्य से SageMaker सुविधाओं का समूह हैं। यह विभिन्न उपयोग के मामलों के अनुरूप एमएल मॉडल को आसानी से तैनात करने, ऑटो स्केल, मॉनिटर और अनुकूलित करने के लिए कई विकल्प प्रदान करता है। इसका मतलब है कि आप सभी प्रकार के उपयोग पैटर्न के लिए अपने परिनियोजन को अनुकूलित कर सकते हैं, लगातार और सर्वर रहित विकल्पों के साथ हमेशा उपलब्ध, क्षणिक, लंबे समय तक चलने वाले, या बैच अनुमान आवश्यकताओं के लिए।
सेजमेकर होस्टिंग अम्ब्रेला के तहत सेजमेकर इंट्रेंस डीप लर्निंग कंटेनर्स (डीएलसी) का सेट भी है, जो उनके संबंधित समर्थित एमएल फ्रेमवर्क के लिए उपयुक्त मॉडल सर्वर सॉफ्टवेयर के साथ प्रीपैकेज्ड आते हैं। यह आपको बिना किसी मॉडल सर्वर सेटअप के उच्च अनुमान प्रदर्शन प्राप्त करने में सक्षम बनाता है, जो अक्सर मॉडल परिनियोजन का सबसे जटिल तकनीकी पहलू होता है और सामान्य तौर पर, डेटा वैज्ञानिक के कौशल सेट का हिस्सा नहीं होता है। ट्राइटन अनुमान सर्वर अब है उपलब्ध सेजमेकर डीप लर्निंग कंटेनर्स पर (डीएलसी).
विकल्पों की यह चौड़ाई, प्रतिरूपकता, और विभिन्न सर्विंग फ्रेमवर्क के उपयोग में आसानी सेजमेकर और ट्राइटन को एक शक्तिशाली मैच बनाती है।
बेंचमार्किंग परीक्षण परिणामों के लिए सेजमेकर अनुमान अनुशंसाकर्ता
हम अपने प्रयोगों को चलाने के लिए SageMaker Inference Recommender का उपयोग करते हैं। SageMaker Inference Recommender दो प्रकार की नौकरियां प्रदान करता है: डिफ़ॉल्ट और उन्नत, जैसा कि निम्नलिखित चित्र में दिखाया गया है।
डिफ़ॉल्ट कार्य केवल मॉडल और बेंचमार्क के लिए एक नमूना पेलोड के साथ उदाहरण प्रकारों पर अनुशंसाएँ प्रदान करता है। उदाहरण की अनुशंसाओं के अलावा, सेवा रनटाइम पैरामीटर भी प्रदान करती है जो प्रदर्शन में सुधार करती है। डिफ़ॉल्ट कार्य की अनुशंसाओं का उद्देश्य उदाहरण खोज को सीमित करना है। कुछ मामलों में, यह इंस्टेंस परिवार हो सकता है, और अन्य में, यह विशिष्ट इंस्टेंस प्रकार हो सकता है। डिफ़ॉल्ट कार्य के परिणाम फिर उन्नत कार्य में फीड किए जाते हैं।
उन्नत कार्य प्रदर्शन को और बेहतर बनाने के लिए अधिक नियंत्रण प्रदान करता है। ये नियंत्रण वास्तविक वातावरण और उत्पादन आवश्यकताओं का अनुकरण करते हैं। इन नियंत्रणों में ट्रैफ़िक पैटर्न है, जिसका उद्देश्य बेंचमार्क के लिए अनुरोध पैटर्न को चरणबद्ध करना है। आप ट्रैफ़िक पैटर्न के कई चरणों का उपयोग करके रैंप या स्थिर ट्रैफ़िक सेट कर सकते हैं। उदाहरण के लिए, ए उपयोगकर्ताओं की प्रारंभिक संख्या 1 का, स्पॉनरेट 1 का, और अवधिइनसेकंड 600 में से शुरुआत में 10 समवर्ती उपयोगकर्ता और अंत में 1 मिनट के लिए रैंप ट्रैफ़िक हो सकता है। इसके अतिरिक्त, नियंत्रणों पर, मैक्सइनवोकेशन और मॉडल विलंबता सीमाएँ उत्पादन की सीमा निर्धारित करें, ताकि जब कोई सीमा पार हो जाए, तो बेंचमार्किंग बंद हो जाए।
अंत में, सिफ़ारिश मेट्रिक्स थ्रूपुट, अधिकतम थ्रूपुट पर विलंबता और प्रति अनुमान लागत शामिल करें, इसलिए उनकी तुलना करना आसान है।
हम ट्रैफ़िक पैटर्न पर अतिरिक्त नियंत्रण हासिल करने और सर्विंग कंटेनर के कॉन्फ़िगरेशन को ठीक करने के लिए अपने प्रयोगों को चलाने के लिए सेजमेकर इंफ़रेंस सिफ़ारिशकर्ता के उन्नत कार्य प्रकार का उपयोग करते हैं।
प्रयोग सेटअप
हम अपने उपयोग के मामले में उल्लिखित एनएलपी प्रोफ़ाइल को बेंचमार्क करने के लिए सेजमेकर इंफ़रेंस सिफ़ारिशकर्ता की कस्टम लोड परीक्षण सुविधा का उपयोग करते हैं। हम पहले एनएलपी मॉडल और एमएल कार्य से संबंधित निम्नलिखित पूर्वापेक्षाओं को परिभाषित करते हैं। सेजमेकर अनुमान अनुशंसाकर्ता इस जानकारी का उपयोग एक अनुमान डॉकर छवि को खींचने के लिए करता है अमेज़ॅन इलास्टिक कंटेनर रजिस्ट्री (अमेज़ॅन ईसीआर) और मॉडल को सेजमेकर मॉडल रजिस्ट्री के साथ पंजीकृत करें।
डोमेन | NATURAL_LANGUAGE_PROCESSING |
कार्य | FILL_MASK |
ढांचा | पाइटोरच: 1.6.0 |
आदर्श | bert-large-uncased |
SageMaker Inference Recommender में ट्रैफ़िक पैटर्न कॉन्फ़िगरेशन हमें कस्टम लोड परीक्षण के लिए विभिन्न चरणों को परिभाषित करने की अनुमति देता है। लोड परीक्षण दो प्रारंभिक उपयोगकर्ताओं के साथ शुरू होता है और 25 मिनट (1500 सेकंड) की कुल अवधि के लिए हर मिनट दो नए उपयोगकर्ताओं को जन्म देता है, जैसा कि निम्नलिखित कोड में दिखाया गया है:
हम एक ही मॉडल को दो अलग-अलग राज्यों में लोड परीक्षण के साथ प्रयोग करते हैं। PyTorch-आधारित प्रयोग मानक, अपरिवर्तित PyTorch मॉडल का उपयोग करते हैं। TensorRT-आधारित प्रयोगों के लिए, हम पहले PyTorch मॉडल को TensorRT इंजन में परिवर्तित करते हैं।
हम इन दो मॉडलों पर प्रदर्शन अनुकूलन सुविधाओं के विभिन्न संयोजनों को लागू करते हैं, जिन्हें निम्नलिखित तालिका में संक्षेपित किया गया है।
कॉन्फ़िगरेशन नाम | कॉन्फ़िगरेशन विवरण | मॉडल कॉन्फ़िगरेशन |
pt-base |
पायटोरच बेसलाइन | बेस PyTorch मॉडल, कोई परिवर्तन नहीं |
pt-db |
गतिशील बैचिंग के साथ PyTorch | dynamic_batching {} |
pt-ig |
एकाधिक मॉडल उदाहरणों के साथ PyTorch | instance_group [ { count: 2 kind: KIND_GPU } ] |
pt-ig-db |
अनेक मॉडल उदाहरणों और गतिशील बैचिंग के साथ PyTorch | dynamic_batching {}, instance_group [ { count: 2 kind: KIND_GPU } ] |
trt-base |
TensorRT बेसलाइन | PyTorch मॉडल TensoRT के साथ संकलित trtexec उपयोगिता |
trt-db |
गतिशील बैचिंग के साथ TensorRT | dynamic_batching {} |
trt-ig |
कई मॉडल उदाहरणों के साथ TensorRT | instance_group [ { count: 2 kind: KIND_GPU } ] |
trt-ig-db |
कई मॉडल उदाहरणों और गतिशील बैचिंग के साथ TensorRT | dynamic_batching {}, instance_group [ { count: 2 kind: KIND_GPU } ] |
परीक्षण के परिणाम और अवलोकन
हमने एक ही g4dn परिवार के भीतर तीन उदाहरण प्रकारों के लिए लोड परीक्षण किए: ml.g4dn.xlarge, ml.g4dn.2xlarge और ml.g4dn.12xlarge। सभी g4dn इंस्टेंस प्रकारों के पास NVIDIA T4 Tensor Core GPU और दूसरी पीढ़ी के Intel Cascade Lake प्रोसेसर तक पहुंच है। इंस्टेंस प्रकारों को चुनने के पीछे तर्क यह था कि केवल एक जीपीयू के साथ एक इंस्टेंस उपलब्ध हो, साथ ही कई जीपीयू तक पहुंच वाला एक इंस्टेंस हो - ml.g2dn.4xlarge के मामले में चार। इसके अतिरिक्त, हम यह परीक्षण करना चाहते थे कि क्या केवल एक उपलब्ध जीपीयू के साथ उदाहरण पर वीसीपीयू क्षमता बढ़ाने से लागत-प्रदर्शन अनुपात में सुधार होगा।
आइए पहले व्यक्तिगत अनुकूलन की गति पर गौर करें। निम्नलिखित ग्राफ से पता चलता है कि TensorRT अनुकूलन ml.g50dn.xlarge उदाहरण पर PyTorch में मूल विलंबता की तुलना में मॉडल विलंबता में 4% की कमी प्रदान करता है। ml.g4dn.12xlarge के मल्टी-जीपीयू इंस्टेंसेस पर यह विलंबता कमी तीन गुना से अधिक हो जाती है। इस बीच, 30% थ्रूपुट सुधार दोनों उदाहरणों पर सुसंगत है, जिसके परिणामस्वरूप TensorRT अनुकूलन लागू करने के बाद बेहतर लागत-प्रभावशीलता होती है।
गतिशील बैचिंग के साथ, हम ml.g2dn.xlarge, ml.g4dn.4xlarge और ml.g2dn.4xlarge के सभी प्रयोग उदाहरणों पर समान विलंबता वृद्धि के बिना समान हार्डवेयर आर्किटेक्चर का उपयोग करके थ्रूपुट में लगभग 12x सुधार प्राप्त कर सकते हैं।
इसी प्रकार, समवर्ती मॉडल निष्पादन हमें ml.g3dn.xlarge उदाहरण पर GPU उपयोग को अधिकतम करके और ml.g4dn.4xlarge उदाहरण और ml के मल्टी-GPU उदाहरण दोनों पर लगभग 2x सुधार करके थ्रूपुट में लगभग 4-2x सुधार प्राप्त करने में सक्षम बनाता है। g4dn.12xlarge.. यह थ्रूपुट वृद्धि विलंबता में किसी भी ओवरहेड के बिना आती है।
इससे भी बेहतर, हम हार्डवेयर संसाधनों का पूर्ण उपयोग करके सर्वोत्तम प्रदर्शन प्रदान करने के लिए इन सभी अनुकूलन को एकीकृत कर सकते हैं। निम्नलिखित तालिका और ग्राफ़ हमारे प्रयोगों में प्राप्त परिणामों का सारांश प्रस्तुत करते हैं।
कॉन्फ़िगरेशन नाम | मॉडल अनुकूलन |
गतिशील बैचिंग |
उदाहरण समूह कॉन्फिग | उदाहरण प्रकार | वीसीपीयू | GPUs |
जीपीयू मेमोरी (जीबी) |
प्रारंभिक उदाहरण गणना[1] | प्रति मिनट प्रति उदाहरण मंगलाचरण | मॉडल की विलंबता | प्रति घंटे की लागत[2] |
पीटी-आधार | NA | नहीं | NA | ml.g4dn.xबड़ा | 4 | 1 | 16 | 62 | 490 | 1500 | 45.6568 |
पीटी-डीबी | NA | हाँ | NA | ml.g4dn.xबड़ा | 4 | 1 | 16 | 57 | 529 | 1490 | 41.9748 |
पीटी-आईजी | NA | नहीं | 2 | ml.g4dn.xबड़ा | 4 | 1 | 16 | 34 | 906 | 868 | 25.0376 |
पीटी-आईजी-डीबी | NA | हाँ | 2 | ml.g4dn.xबड़ा | 4 | 1 | 16 | 34 | 892 | 1158 | 25.0376 |
trt-आधार | टेंसरआरटी | नहीं | NA | ml.g4dn.xबड़ा | 4 | 1 | 16 | 47 | 643 | 742 | 34.6108 |
trt-db | टेंसरआरटी | हाँ | NA | ml.g4dn.xबड़ा | 4 | 1 | 16 | 28 | 1078 | 814 | 20.6192 |
trt-ig | टेंसरआरटी | नहीं | 2 | ml.g4dn.xबड़ा | 4 | 1 | 16 | 14 | 2202 | 1273 | 10.3096 |
trt-db-ig | टेंसरआरटी | हाँ | 2 | ml.g4dn.xबड़ा | 4 | 1 | 16 | 10 | 3192 | 783 | 7.364 |
पीटी-आधार | NA | नहीं | NA | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 56 | 544 | 1500 | 52.64 |
पीटी-डीबी | NA | हाँ | NA | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 59 | 517 | 1500 | 55.46 |
पीटी-आईजी | NA | नहीं | 2 | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 29 | 1054 | 960 | 27.26 |
पीटी-आईजी-डीबी | NA | हाँ | 2 | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 30 | 1017 | 992 | 28.2 |
trt-आधार | टेंसरआरटी | नहीं | NA | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 42 | 718 | 1494 | 39.48 |
trt-db | टेंसरआरटी | हाँ | NA | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 23 | 1335 | 499 | 21.62 |
trt-ig | टेंसरआरटी | नहीं | 2 | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 23 | 1363 | 1017 | 21.62 |
trt-db-ig | टेंसरआरटी | हाँ | 2 | ml.g4dn.2xबड़ा | 8 | 1 | 32 | 22 | 1369 | 963 | 20.68 |
पीटी-आधार | NA | नहीं | NA | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 15 | 2138 | 906 | 73.35 |
पीटी-डीबी | NA | हाँ | NA | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 15 | 2110 | 907 | 73.35 |
पीटी-आईजी | NA | नहीं | 2 | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 8 | 3862 | 651 | 39.12 |
पीटी-आईजी-डीबी | NA | हाँ | 2 | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 8 | 3822 | 642 | 39.12 |
trt-आधार | टेंसरआरटी | नहीं | NA | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 11 | 2892 | 279 | 53.79 |
trt-db | टेंसरआरटी | हाँ | NA | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 6 | 5356 | 278 | 29.34 |
trt-ig | टेंसरआरटी | नहीं | 2 | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 6 | 5210 | 328 | 29.34 |
trt-db-ig | टेंसरआरटी | हाँ | 2 | ml.g4dn.12xबड़ा | 48 | 4 | 192 | 6 | 5235 | 439 | 29.34 |
[1] उपरोक्त तालिका में प्रारंभिक उदाहरण गणना आपके कार्यभार के लिए थ्रूपुट और विलंबता आवश्यकताओं को बनाए रखने के लिए ऑटोस्केलिंग नीति के साथ उपयोग करने के लिए अनुशंसित उदाहरणों की संख्या है।
[2] उपरोक्त तालिका में प्रति घंटे की लागत की गणना प्रारंभिक उदाहरण संख्या और उदाहरण प्रकार के लिए कीमत के आधार पर की जाती है।
परिणाम अधिकतर उस प्रभाव की पुष्टि करते हैं जो विभिन्न प्रदर्शन अनुकूलन सुविधाओं से अपेक्षित था:
- सभी उदाहरण प्रकारों में TensorRT संकलन का सबसे विश्वसनीय प्रभाव है। डिफ़ॉल्ट PyTorch BERT (
pt-base
). TensorRT इंजन के बढ़े हुए प्रदर्शन को अन्य परीक्षण किए गए प्रदर्शन ट्यूनिंग सुविधाओं द्वारा संयोजित और उपयोग किया जाता है। - प्रत्येक जीपीयू (उदाहरण समूह) पर दो मॉडल लोड करने से सभी मापे गए मेट्रिक्स लगभग दोगुना हो गए। प्रति मिनट प्रति उदाहरण आह्वान में लगभग 80-90% की वृद्धि हुई, जिससे लागत में 50% की कमी आई, लगभग जैसे कि हम दो जीपीयू का उपयोग कर रहे थे। वास्तव में, अमेज़ॅन क्लाउडवॉच G4dn.2xlarge पर हमारे प्रयोगों के लिए मेट्रिक्स (एक उदाहरण के रूप में) पुष्टि करता है कि जब हम दो मॉडलों के एक इंस्टेंस समूह को कॉन्फ़िगर करते हैं तो सीपीयू और जीपीयू दोनों का उपयोग दोगुना हो जाता है।
आगे के प्रदर्शन और लागत-अनुकूलन युक्तियाँ
इस पोस्ट में प्रस्तुत बेंचमार्क ने उन संभावित सुविधाओं और तकनीकों की सतह को खरोंच दिया है जिनका उपयोग आप अनुमान प्रदर्शन को बेहतर बनाने के लिए ट्राइटन के साथ कर सकते हैं। इनमें डेटा प्रीप्रोसेसिंग तकनीकों से लेकर, जैसे मॉडल सर्वर पर बाइनरी पेलोड भेजना या बड़े बैचों वाले पेलोड से लेकर देशी ट्राइटन फीचर्स तक शामिल हैं, जैसे कि निम्नलिखित:
- मॉडल वार्मअप, जो पहला अनुमान अनुरोध प्राप्त होने से पहले मॉडल को पूरी तरह से प्रारंभ करके प्रारंभिक, धीमी अनुमान अनुरोधों को रोकता है।
- प्रतिक्रिया कैश, जो बार-बार अनुरोधों को कैश करता है।
- मॉडल संयोजन, जो आपको एक या अधिक मॉडलों की पाइपलाइन बनाने और उन मॉडलों के बीच इनपुट और आउटपुट टेंसर के कनेक्शन को सक्षम बनाता है। यह प्रत्येक अनुरोध के लिए प्रसंस्करण प्रवाह में प्रीप्रोसेसिंग और पोस्टप्रोसेसिंग चरणों को जोड़ने या यहां तक कि अन्य मॉडलों के साथ अनुमान लगाने की संभावना खोलता है।
हम भविष्य की पोस्ट में इन तकनीकों और सुविधाओं का परीक्षण और बेंचमार्क करने की उम्मीद करते हैं, इसलिए बने रहें!
निष्कर्ष
इस पोस्ट में, हमने कुछ मापदंडों का पता लगाया है जिनका उपयोग आप ट्राइटन इंट्रेंस सर्वर के साथ PyTorch BERT मॉडल की सेवा के लिए अपने सेजमेकर रीयल-टाइम एंडपॉइंट के प्रदर्शन को अधिकतम करने के लिए कर सकते हैं। हमने इन मापदंडों को ठीक करने के लिए बेंचमार्किंग परीक्षण करने के लिए सेजमेकर इंफ़रेंस रिकमेंडर का उपयोग किया। ये पैरामीटर संक्षेप में TensorRT-आधारित मॉडल अनुकूलन से संबंधित हैं, जिससे गैर-अनुकूलित संस्करण की तुलना में प्रतिक्रिया समय में लगभग 50% सुधार होता है। इसके अतिरिक्त, मॉडलों को एक साथ चलाने और ट्राइटन की गतिशील बैचिंग का उपयोग करने से थ्रूपुट में लगभग 70% की वृद्धि हुई। इन मापदंडों को ठीक करने से अनुमान लागत में भी समग्र कमी आई।
सही मान प्राप्त करने का सबसे अच्छा तरीका प्रयोग है। हालाँकि, प्रदर्शन ट्यूनिंग और अनुकूलन पर अनुभवजन्य ज्ञान का निर्माण शुरू करने के लिए, आप विभिन्न ट्राइटन-संबंधित मापदंडों के संयोजन और एमएल मॉडल और सेजमेकर एमएल उदाहरणों में प्रदर्शन पर उनके प्रभाव का निरीक्षण कर सकते हैं।
सेजमेकर एमएल जीवनचक्र के प्रत्येक चरण से अविभाजित भारी भारोत्तोलन को हटाने के लिए उपकरण प्रदान करता है, जिससे आपके मॉडल परिनियोजन को पूरी तरह से अनुकूलित करने के लिए आवश्यक तीव्र प्रयोग और अन्वेषण की सुविधा मिलती है।
आप लोड परीक्षण और परिनियोजन के लिए उपयोग की जाने वाली नोटबुक यहां पा सकते हैं GitHub. आप लागत-प्रभावी और सर्वोत्तम प्रदर्शन वाले अनुमान कार्यभार को प्राप्त करने के लिए अपने उपयोग के मामले में सबसे उपयुक्त होने के लिए ट्राइटन कॉन्फ़िगरेशन और सेजमेकर अनुमान अनुशंसाकर्ता सेटिंग्स को अपडेट कर सकते हैं।
लेखक के बारे में
विक्रम एलंगो वर्जीनिया यूएसए में स्थित Amazon वेब सर्विसेज में AI/ML स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट हैं। विक्रम वित्तीय और बीमा उद्योग के ग्राहकों को बड़े पैमाने पर मशीन लर्निंग एप्लिकेशन बनाने और तैनात करने के लिए डिजाइन, विचारशील नेतृत्व के साथ मदद करता है। वह वर्तमान में पूरे उद्यम में प्राकृतिक भाषा प्रसंस्करण, जिम्मेदार एआई, अनुमान अनुकूलन और एमएल स्केलिंग पर केंद्रित है। अपने खाली समय में, वह अपने परिवार के साथ यात्रा करना, लंबी पैदल यात्रा, खाना बनाना और शिविर लगाना पसंद करते हैं।
जोआओ मौरा अमेज़ॅन वेब सर्विसेज में एआई/एमएल स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट हैं। वह ज्यादातर एनएलपी उपयोग-मामलों पर ध्यान केंद्रित करता है और ग्राहकों को डीप लर्निंग मॉडल प्रशिक्षण और तैनाती को अनुकूलित करने में मदद करता है। वह लो-कोड एमएल समाधान और एमएल-विशेषीकृत हार्डवेयर के भी सक्रिय समर्थक हैं।
मोहन गांधी AWS में एक वरिष्ठ सॉफ्टवेयर इंजीनियर हैं। वह पिछले 9 वर्षों से AWS के साथ हैं और उन्होंने EMR, EFA और RDS ऑन आउटपोस्ट जैसी विभिन्न AWS सेवाओं पर काम किया है। वर्तमान में, उनका ध्यान सेजमेकर इंफ़रेंस एक्सपीरियंस को बेहतर बनाने पर है। अपने खाली समय में, वह लंबी पैदल यात्रा और मैराथन दौड़ का आनंद लेते हैं।
धवल पटेल AWS में प्रिंसिपल मशीन लर्निंग आर्किटेक्ट हैं। उन्होंने वितरित कंप्यूटिंग और आर्टिफिशियल इंटेलिजेंस से संबंधित समस्याओं पर बड़े उद्यमों से लेकर मध्यम आकार के स्टार्टअप तक के संगठनों के साथ काम किया है। वह एनएलपी और कंप्यूटर विज़न डोमेन सहित डीप लर्निंग पर ध्यान केंद्रित करता है। वह ग्राहकों को सेजमेकर पर उच्च प्रदर्शन मॉडल अनुमान प्राप्त करने में मदद करता है।
संतोष भवानी Amazon SageMaker Elastic Inference टीम के साथ एक वरिष्ठ तकनीकी उत्पाद प्रबंधक हैं। वह सेजमेकर ग्राहकों को मॉडल अनुमान और तैनाती में तेजी लाने में मदद करने पर ध्यान केंद्रित करता है। अपने खाली समय में, वह यात्रा करना, टेनिस खेलना और बहुत सारी पुएर चाय पीना पसंद करते हैं।
जियाहोंग लिउ NVIDIA में क्लाउड सेवा प्रदाता टीम पर एक समाधान वास्तुकार है। वह मशीन लर्निंग और एआई समाधानों को अपनाने में ग्राहकों की सहायता करता है जो उनके प्रशिक्षण और अनुमान चुनौतियों का समाधान करने के लिए एनवीआईडीआईए त्वरित कंप्यूटिंग का लाभ उठाते हैं। अपने ख़ाली समय में, वह ओरिगेमी, DIY प्रोजेक्ट्स और बास्केटबॉल खेलने का आनंद लेते हैं।
- कॉइनस्मार्ट। यूरोप का सर्वश्रेष्ठ बिटकॉइन और क्रिप्टो एक्सचेंज।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। नि: शुल्क प्रवेश।
- क्रिप्टोहॉक। Altcoin रडार। मुफ्त परीक्षण।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/achieve-hyperscale-performance-for-model-serving-using-nvidia-triton-inference-server-on-amazon-sagemaker/
- "
- 000
- 10
- 100
- 2021
- 70
- 77
- 84
- 9
- About
- में तेजी लाने के
- त्वरित
- पहुँच
- के पार
- सक्रिय
- इसके अलावा
- अतिरिक्त
- पता
- उन्नत
- AI
- कलन विधि
- सब
- हालांकि
- वीरांगना
- अमेज़ॅन वेब सेवा
- के बीच में
- की घोषणा
- आवेदन
- अनुप्रयोगों
- लागू
- उपयुक्त
- लगभग
- स्थापत्य
- चारों ओर
- कृत्रिम
- कृत्रिम बुद्धिमत्ता
- सहायक
- स्वत:
- उपलब्ध
- एडब्ल्यूएस
- बास्केटबाल
- शुरू
- बेंचमार्क
- BEST
- सर्वोत्तम प्रथाओं
- निर्माण
- इमारत
- में निर्मित
- व्यापार
- पा सकते हैं
- क्षमताओं
- क्षमता
- मामलों
- चुनौतियों
- चुनौतीपूर्ण
- चुनें
- वर्गीकरण
- ग्राहकों
- बादल
- कोड
- कोडन
- संयोजन
- कैसे
- सामान्य
- तुलना
- पूरी तरह से
- जटिल
- समझौता
- गणना करना
- कंप्यूटर
- कंप्यूटिंग
- विन्यास
- संबंध
- कंटेनर
- कंटेनरों
- नियंत्रण
- मूल
- इसी
- प्रभावी लागत
- सका
- बनाना
- बनाना
- वर्तमान
- वर्तमान में
- रिवाज
- ग्राहक
- ग्राहक अनुभव
- ग्राहक सहयोग
- ग्राहक
- तिथि
- देरी
- बचाता है
- निर्भर करता है
- तैनात
- तैनाती
- तैनाती
- तैनाती
- डिज़ाइन
- बनाया गया
- विभिन्न
- वितरित
- वितरित अभिकलन
- diy
- डाक में काम करनेवाला मज़दूर
- डोमेन
- डबल
- नीचे
- ड्राइव
- गतिशील
- आसानी
- प्रभाव
- कुशलता
- प्रयास
- सक्षम
- endpoint
- इंजन
- इंजीनियर
- उद्यम
- वातावरण
- सार
- आवश्यक
- मूल्यांकन करें
- विकास
- उदाहरण
- निष्पादन
- उम्मीद
- अपेक्षित
- अनुभव
- प्रयोग
- अन्वेषण
- का पता लगाने
- चेहरा
- कारकों
- परिवार
- Feature
- विशेषताएं
- फेड
- आकृति
- अंत में
- वित्तीय
- खोज
- प्रथम
- फिट
- प्रवाह
- फोकस
- ध्यान केंद्रित
- केंद्रित
- निम्नलिखित
- पदचिह्न
- प्रपत्र
- ढांचा
- आगे
- भविष्य
- सामान्य जानकारी
- पीढ़ी
- GPU
- समूह
- दिशा निर्देशों
- हार्डवेयर
- ऊंचाई
- मदद
- मदद करता है
- हाई
- मेजबानी
- होस्टिंग
- कैसे
- HTTPS
- की छवि
- प्रभाव
- लागू करने के
- महत्वपूर्ण
- में सुधार
- शामिल
- शामिल
- सहित
- बढ़ना
- वृद्धि हुई
- बढ़ती
- व्यक्ति
- उद्योग
- करें-
- इंफ्रास्ट्रक्चर
- निवेश
- अंतर्दृष्टि
- बीमा
- एकीकृत
- एकीकृत
- एकीकरण
- इंटेल
- बुद्धि
- बातचीत
- इंटरैक्टिव
- अलगाव
- IT
- काम
- नौकरियां
- में शामिल होने
- कुंजी
- ज्ञान
- भाषा
- बड़ा
- बड़ा
- शुरूआत
- नेतृत्व
- प्रमुख
- बिक्रीसूत्र
- सीख रहा हूँ
- नेतृत्व
- लीवरेज
- उत्तोलक
- हल्के
- थोड़ा
- भार
- लंबा
- मशीन
- यंत्र अधिगम
- बनाए रखना
- प्रमुख
- बनाता है
- निर्माण
- प्रबंधन
- कामयाब
- प्रबंधक
- बाजार
- विशाल
- मैच
- याद
- मेट्रिक्स
- दस लाख
- लाखों
- ML
- आदर्श
- मॉडल
- मॉनिटर
- निगरानी
- अधिक
- अधिकांश
- विभिन्न
- प्राकृतिक
- नेटवर्क
- शुद्ध कार्यशील
- नोटबुक
- संख्या
- प्राप्त
- प्रस्तुत
- ऑफर
- खोलता है
- संचालन
- इष्टतमीकरण
- ऑप्टिमाइज़ करें
- के अनुकूलन के
- ऑप्शंस
- आदेश
- संगठनों
- अन्य
- अन्यथा
- कुल
- अपना
- पैटर्न
- प्रदर्शन
- खेल
- नीतियाँ
- नीति
- गरीब
- लोकप्रिय
- संभावना
- संभव
- बिजली
- शक्तिशाली
- अभ्यास
- भविष्यवाणी
- मूल्य
- प्रिंसिपल
- समस्याओं
- प्रक्रिया
- प्रक्रियाओं
- प्रसंस्करण
- एस्ट्रो मॉल
- उत्पादन
- प्रोफाइल
- परियोजनाओं
- प्रोटोकॉल
- प्रदान करना
- प्रदान करता है
- प्रदान कर
- प्रकाशित करना
- रैंप
- रेंज
- लेकर
- पहुंच
- वास्तविक समय
- प्राप्त
- की सिफारिश
- को कम करने
- रजिस्टर
- का अनुरोध
- अनुरोधों
- की आवश्यकता होती है
- अपेक्षित
- आवश्यकताएँ
- संसाधन
- उपयुक्त संसाधन चुनें
- प्रतिक्रिया
- जिम्मेदार
- परिणाम
- रिटर्न
- की समीक्षा
- रन
- दौड़ना
- अनुमापकता
- स्केलेबल
- स्केल
- स्केलिंग
- एसडीके
- मूल
- Search
- सेकंड
- चयनित
- serverless
- सेवा
- सेवाएँ
- सेवारत
- सेट
- व्यवस्था
- सरल
- आकार
- छोटा
- So
- सॉफ्टवेयर
- सॉफ्टवेयर इंजीनियर
- समाधान
- समाधान ढूंढे
- कुछ
- विशेषज्ञ
- विशेष रूप से
- ट्रेनिंग
- मानक
- प्रारंभ
- शुरू होता है
- स्टार्टअप
- राज्य
- राज्य
- रहना
- भंडारण
- समर्थन
- समर्थित
- समर्थन करता है
- सतह
- ले जा
- लक्ष्य
- टीम
- तकनीकी
- तकनीक
- परीक्षण
- परीक्षण
- परीक्षण
- वैचारिक नेतृत्व
- यहाँ
- पहर
- टोकन
- उपकरण
- ट्रैकिंग
- यातायात
- प्रशिक्षण
- लेनदेन
- यात्रा का
- अपडेट
- us
- अमेरिका
- उपयोग
- बक्सों का इस्तेमाल करें
- उपयोगकर्ताओं
- आमतौर पर
- उपयोग
- उपयोग
- विविधता
- विभिन्न
- वर्जीनिया
- वास्तविक
- दृष्टि
- प्रतीक्षा
- जरूरत है
- वेब
- वेब सर्वर
- वेब सेवाओं
- अंदर
- बिना
- काम किया
- कार्य
- दुनिया की
- होगा
- साल
- प्राप्ति
- नर्म