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

अमेज़ॅन सेजमेकर पर एनवीआईडीआईए ट्राइटन इंफरेंस सर्वर पर निर्णय ट्री-आधारित एमएल मॉडल के लिए कम विलंबता होस्टिंग प्राप्त करें

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

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

इस पोस्ट में, हम ट्राइटन इंफरेंस सर्वर के साथ सेजमेकर पर फ्रॉड डिटेक्शन एन्सेम्बल वर्कलोड को तैनात करने के माध्यम से चलते हैं।

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

परियोजना की कुल लागत का अनुमान लगाने के लिए किसी भी परियोजना के लिए आवश्यकताओं की एक सूची और एक प्रयास अनुमान होना आवश्यक है। किसी संगठन के निर्णय का समर्थन करने वाले निवेश पर लाभ (आरओआई) का अनुमान लगाना महत्वपूर्ण है। कार्यभार को ट्राइटन पर ले जाते समय ध्यान रखने योग्य कुछ बातों में शामिल हैं:

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

  • क्लाइंट-साइड विलंबता बजट - यह क्लाइंट-साइड राउंड-ट्रिप को एक अनुमान प्रतिक्रिया के लिए अधिकतम स्वीकार्य प्रतीक्षा समय निर्दिष्ट करता है, जिसे आमतौर पर प्रतिशत में व्यक्त किया जाता है। ऐसे कार्यभार के लिए जिन्हें दसियों मिलीसेकंड के पास विलंबता बजट की आवश्यकता होती है, नेटवर्क स्थानांतरण महंगा हो सकता है, इसलिए किनारे पर मॉडल का उपयोग करना बेहतर होगा।
  • डेटा पेलोड वितरण आकार - पेलोड, जिसे अक्सर कहा जाता है संदेश का मुख्य हिस्सा, क्लाइंट से मॉडल तक प्रेषित अनुरोध डेटा है, साथ ही मॉडल से क्लाइंट को प्रेषित प्रतिक्रिया डेटा भी है। पेलोड का आकार अक्सर विलंबता पर एक बड़ा प्रभाव डालता है और इसे ध्यान में रखा जाना चाहिए।
  • डेटा स्वरूप - यह निर्दिष्ट करता है कि एमएल मॉडल को पेलोड कैसे भेजा जाता है। प्रारूप मानव-पठनीय हो सकता है, जैसे कि JSON और CSV, हालांकि बाइनरी प्रारूप भी हैं, जो अक्सर संकुचित और आकार में छोटे होते हैं। यह संपीड़न ओवरहेड और स्थानांतरण आकार के बीच एक व्यापार-बंद है, जिसका अर्थ है कि नेटवर्क पर स्थानांतरित बाइट्स को बचाने के लिए सीपीयू चक्र और विलंबता को संपीड़ित या डीकंप्रेस में जोड़ा जाता है। यह पोस्ट दिखाता है कि JSON और बाइनरी दोनों स्वरूपों का उपयोग कैसे करें।
  • सॉफ़्टवेयर स्टैक और आवश्यक घटक - स्टैक घटकों का एक संग्रह है जो ऑपरेटिंग सिस्टम, रनटाइम और सॉफ़्टवेयर परतों सहित एमएल एप्लिकेशन का समर्थन करने के लिए एक साथ काम करता है। ट्राइटन बिल्ट-इन लोकप्रिय एमएल फ्रेमवर्क के साथ आता है, जिसे कहा जाता है बैकेंड, जैसे ONNX, TensorFlow, FIL, OpenVINO, देशी पायथन, और अन्य। आप लेखक भी कर सकते हैं a कस्टम बैकएंड अपने घरेलू घटकों के लिए। यह पोस्ट एक XGBoost मॉडल और डेटा प्रीप्रोसेसिंग पर जाती है, जिसे हम क्रमशः NVIDIA द्वारा प्रदान किए गए FIL और Python Triton बैकएंड में माइग्रेट करते हैं।

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

NVIDIA ट्राइटन अनुमान सर्वर

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

निम्नलिखित आरेख एक उदाहरण दिखाता है NVIDIA ट्राइटन पहनावा पाइपलाइन।

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

वर्कलोड को उन क्षमताओं को ध्यान में रखना चाहिए जो ट्राइटन प्रदान किए गए लाभों को अधिकतम करने के लिए सेजमेकर होस्टिंग के साथ प्रदान करता है। उदाहरण के लिए, ट्राइटन HTTP के साथ-साथ a . का भी समर्थन करता है C एपीआई, जो आवश्यकता पड़ने पर लचीलेपन के साथ-साथ पेलोड अनुकूलन की अनुमति देता है। जैसा कि पहले उल्लेख किया गया है, ट्राइटन बॉक्स के बाहर कई लोकप्रिय ढांचे का समर्थन करता है, जिसमें TensorFlow, PyTorch, ONNX, XGBoost और NVIDIA TensorRT शामिल हैं। ये ढांचे ट्राइटन बैकएंड के माध्यम से समर्थित हैं, और दुर्लभ घटना में कि बैकएंड आपके उपयोग के मामले का समर्थन नहीं करता है, ट्राइटन आपको अपना खुद का कार्यान्वयन करने और इसे आसानी से एकीकृत करने की अनुमति देता है.

निम्नलिखित आरेख NVIDIA ट्राइटन वास्तुकला का एक उदाहरण दिखाता है।

सेजमेकर पर NVIDIA ट्राइटन

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

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

विकल्पों की यह चौड़ाई, प्रतिरूपकता, और विभिन्न सर्विंग फ्रेमवर्क के उपयोग में आसानी सेजमेकर और ट्राइटन को एक शक्तिशाली मैच बनाती है।

NVIDIA फ़ाइल बैकएंड समर्थन

उसके साथ ट्राइटन का 22.05 संस्करण रिलीज, NVIDIA अब कई लोकप्रिय एमएल फ्रेमवर्क द्वारा प्रशिक्षित वन मॉडल का समर्थन करता है, जिसमें XGBoost, LightGBM, Scikit-learn और cuML शामिल हैं। ट्राइटन के लिए FIL बैकएंड का उपयोग करते समय, आपको यह सुनिश्चित करना चाहिए कि आपके द्वारा प्रदान की जाने वाली मॉडल कलाकृतियाँ समर्थित हैं। उदाहरण के लिए, FIL समर्थन करता है model_type xgboost, xgboost_json, lightgbmया, treelite_checkpoint, यह दर्शाता है कि प्रदान किया गया मॉडल क्रमशः XGBoost बाइनरी प्रारूप, XGBoost JSON प्रारूप, LightGBM टेक्स्ट प्रारूप, या ट्रेलाइट बाइनरी प्रारूप में है या नहीं।

हमारे उदाहरण में उपयोग करने के लिए यह बैकएंड समर्थन आवश्यक है क्योंकि FIL XGBoost मॉडल का समर्थन करता है। जांच करने का एकमात्र विचार यह सुनिश्चित करना है कि हम जिस मॉडल को तैनात करते हैं वह बाइनरी या JSON प्रारूपों का समर्थन करता है।

यह सुनिश्चित करने के अलावा कि आपके पास उचित मॉडल प्रारूप है, अन्य बातों पर ध्यान दिया जाना चाहिए। ट्राइटन के लिए एफआईएल बैकएंड डेवलपर्स के लिए अपने वर्कलोड को ट्यून करने और मॉडल रन प्रदर्शन को अनुकूलित करने के लिए कॉन्फ़िगर करने योग्य विकल्प प्रदान करता है। विन्यास dynamic_batching ट्राइटन को क्लाइंट-साइड अनुरोधों को रखने और उन्हें सर्वर साइड पर बैच करने की अनुमति देता है, ताकि पूरे बैच का एक साथ अनुमान लगाने के लिए FIL की समानांतर गणना का कुशलतापूर्वक उपयोग किया जा सके। विकल्प max_queue_delay_microseconds ट्राइटन एक बैच बनाने के लिए कितनी देर तक प्रतीक्षा करता है, इसका असफल-सुरक्षित नियंत्रण प्रदान करता है। FIL शेपली व्याख्याता के साथ आता है, जिसे कॉन्फ़िगरेशन द्वारा सक्रिय किया जा सकता है treeshap_output; हालाँकि, आपको यह ध्यान रखना चाहिए कि Shapley आउटपुट अपने आउटपुट आकार के कारण प्रदर्शन को नुकसान पहुँचाता है। एक और महत्वपूर्ण पहलू है storage_type मेमोरी फ़ुटप्रिंट और रनटाइम के बीच ट्रेड-ऑफ करने के लिए। उदाहरण के लिए, स्टोरेज को SPARSE के रूप में उपयोग करने से मेमोरी की खपत कम हो सकती है, जबकि DENSE आपके मॉडल रन प्रदर्शन को उच्च मेमोरी उपयोग की कीमत पर कम कर सकता है। इनमें से प्रत्येक के लिए सबसे अच्छा विकल्प तय करना आपके कार्यभार और आपके विलंबता बजट पर निर्भर करता है, इसलिए हम अनुशंसा करते हैं कि आप सभी विकल्पों पर गहराई से विचार करें। फ़ाइल बैकएंड अक्सर पूछे जाने वाले प्रश्न और FIL . में उपलब्ध विन्यासों की सूची.

ट्राइटन पर एक मॉडल को होस्ट करने के चरण

आइए हमारे धोखाधड़ी का पता लगाने के उपयोग के मामले को एक उदाहरण के रूप में देखें कि ट्राइटन पर कार्यभार को स्थानांतरित करते समय क्या विचार किया जाए।

अपने कार्यभार को पहचानें

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

वर्तमान और लक्ष्य प्रदर्शन मीट्रिक और लागू होने वाले अन्य लक्ष्यों की पहचान करें

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

यह निर्धारित करने के लिए पीछे की ओर कार्य करें कि क्या ट्राइटन आपकी आवश्यकताओं के आधार पर आपके कार्यभार की मेजबानी कर सकता है

यह निर्धारित करने के लिए कि क्या ट्राइटन आपकी आवश्यकताओं को पूरा कर सकता है, आप चिंता के दो मुख्य क्षेत्रों पर ध्यान देना चाहते हैं। पहला यह सुनिश्चित करना है कि ट्राइटन एक स्वीकार्य फ्रंट एंड विकल्प जैसे HTTP या C API के साथ काम कर सके।

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

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

एक योजना बनाएं और होस्टिंग के लिए ट्राइटन का उपयोग करने के लिए आवश्यक प्रयास का अनुमान लगाएं

आइए आपके मॉडलों को ट्राइटन में स्थानांतरित करने की योजना के बारे में बात करते हैं। प्रत्येक ट्राइटन परिनियोजन के लिए निम्नलिखित की आवश्यकता होती है:

  • ट्राइटन बैकएंड के लिए आवश्यक मॉडल कलाकृतियां
  • ट्राइटन कॉन्फ़िगरेशन फ़ाइलें
  • उचित संरचना के साथ एक मॉडल भंडार फ़ोल्डर

हम इस पोस्ट में बाद में इन परिनियोजन निर्भरताएँ बनाने का एक उदाहरण दिखाते हैं।

योजना चलाएं और परिणामों को मान्य करें

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

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

कार्यान्वयन

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

पहली नोटबुक एक मौजूदा नोटबुक दिखाती है जो आपके संगठन के पास है जो इसका उपयोग करती है उतार पुस्तकालयों का सूट और रैपिड्स कोंडा कर्नेल। यह इंस्टेंस AWS द्वारा प्रदान किए गए G4DN इंस्टेंस प्रकार पर चलता है, जो कि NVIDIA T4 प्रोसेसर का उपयोग करके GPU त्वरित है।

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

इस उदाहरण में प्रीप्रोसेसिंग कार्य GPU त्वरण से लाभान्वित होते हैं और cuML और cuDF पुस्तकालयों का भारी उपयोग करते हैं। इसका एक उदाहरण निम्नलिखित कोड में है, जहां हम cuML का उपयोग करके श्रेणीबद्ध लेबल एन्कोडिंग दिखाते हैं। हम a . भी उत्पन्न करते हैं label_encoders.pkl फ़ाइल जिसे हम एन्कोडर्स को क्रमबद्ध करने के लिए उपयोग कर सकते हैं और अनुमान समय के दौरान प्रीप्रोसेसिंग के लिए उनका उपयोग कर सकते हैं।

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

पहला नोटबुक हमारे XGBoost मॉडल को प्रशिक्षित करके और उसके अनुसार कलाकृतियों को सहेज कर समाप्त होता है।

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

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

इस परिदृश्य में, प्रशिक्षण कोड पहले से मौजूद है और प्रशिक्षण के समय मॉडल के लिए किसी बदलाव की आवश्यकता नहीं है। इसके अतिरिक्त, हालांकि हमने प्रशिक्षण के दौरान प्रीप्रोसेसिंग के लिए GPU त्वरण का उपयोग किया है, हम अनुमान के समय प्रीप्रोसेसिंग के लिए CPU का उपयोग करने की योजना बना रहे हैं। हम पोस्ट में बाद में और समझाते हैं।

आइए अब दूसरी नोटबुक पर चलते हैं और याद करते हैं कि एक सफल ट्राइटन परिनियोजन के लिए हमें क्या चाहिए।

सबसे पहले, हमें बैकएंड द्वारा आवश्यक मॉडल कलाकृतियों की आवश्यकता है। इस पहनावा के लिए हमें जिन फ़ाइलों की आवश्यकता है उनमें शामिल हैं:

  • प्रीप्रोसेसिंग कलाकृतियों (model.py, label_encoders.pkl)
  • XGBoost मॉडल कलाकृतियां (xgboost.json)

ट्राइटन में पायथन बैकएंड के लिए हमें एक निर्भरता के रूप में कोंडा वातावरण का उपयोग करने की आवश्यकता होती है। इस मामले में, हम FIL बैकएंड में चलाए जा रहे XGBoost मॉडल में फीड करने से पहले कच्चे डेटा को प्रीप्रोसेस करने के लिए पायथन बैकएंड का उपयोग करते हैं। भले ही हमने मूल रूप से डेटा प्रीप्रोसेसिंग करने के लिए RAPIDS cuDF और cuML लाइब्रेरी का उपयोग किया था (जैसा कि पहले हमारे GPU का उपयोग करके संदर्भित किया गया था), यहाँ हम पंडों और स्किकिट-लर्न का उपयोग अनुमान समय (हमारे CPU का उपयोग करके) के लिए प्रीप्रोसेसिंग निर्भरता के रूप में करते हैं। हम ऐसा तीन कारणों से करते हैं:

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

याद रखें कि हमने बनाया था label_encoders.pkl पहली नोटबुक में फ़ाइल। श्रेणी एन्कोडिंग के लिए इसे हमारे में शामिल करने के अलावा और कुछ नहीं करना है model.py प्रीप्रोसेसिंग के लिए फ़ाइल।

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

ट्राइटन पायथन बैकएंड के लिए आवश्यक model.py फ़ाइल बनाने के लिए, हम इसका पालन करते हैं बैकएंड द्वारा आवश्यक स्वरूपण और आने वाले टेंसर को संसाधित करने और पहले संदर्भित लेबल एन्कोडर का उपयोग करने के लिए हमारे पायथन तर्क को शामिल करें। आप समीक्षा कर सकते हैं पट्टिका प्रीप्रोसेसिंग के लिए उपयोग किया जाता है।

XGBoost मॉडल के लिए, अधिक कुछ करने की आवश्यकता नहीं है। हमने मॉडल को पहली नोटबुक में प्रशिक्षित किया और ट्राइटन के FIL बैकएंड को XGBoost मॉडल के लिए किसी अतिरिक्त प्रयास की आवश्यकता नहीं है।

अगला, हमें ट्राइटन कॉन्फ़िगरेशन फ़ाइलों की आवश्यकता है। ट्राइटन पहनावा में प्रत्येक मॉडल की आवश्यकता होती है a config.pbtxt फ़ाइल। इसके अलावा, हम एक भी बनाते हैं config.pbtxt समग्र रूप से पहनावा के लिए फ़ाइल। ये फ़ाइलें ट्राइटन को हमारे द्वारा अपेक्षित इनपुट और आउटपुट जैसी जानकारी के साथ-साथ पहनावा के बारे में मेटाडेटा जानने के साथ-साथ पहनावा से जुड़े डीएजी को परिभाषित करने में मदद करती हैं।

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

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

हमारे पास ये तीन पूर्वापेक्षाएँ होने के बाद, हम परिनियोजन के लिए पैकेजिंग के रूप में एक संपीड़ित फ़ाइल बनाते हैं और उसे अपलोड करते हैं अमेज़न सरल भंडारण सेवा (अमेज़न S3)।

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

अब हम पिछले चरण में Amazon S3 पर अपलोड किए गए मॉडल रिपॉजिटरी से एक SageMaker मॉडल बना सकते हैं।

इस चरण में, हम अतिरिक्त पर्यावरण चर भी प्रदान करते हैं SAGEMAKER_TRITON_DEFAULT_MODEL_NAME, जो ट्राइटन द्वारा लोड किए जाने वाले मॉडल का नाम निर्दिष्ट करता है। इस कुंजी का मान Amazon S3 पर अपलोड किए गए मॉडल पैकेज में फ़ोल्डर के नाम से मेल खाना चाहिए। एकल मॉडल के मामले में यह चर वैकल्पिक है। पहनावा मॉडल के मामले में, ट्राइटन को सेजमेकर में शुरू करने के लिए इस कुंजी को निर्दिष्ट करना होगा।

इसके अतिरिक्त, आप सेट कर सकते हैं SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT और SAGEMAKER_TRITON_THREAD_COUNT थ्रेड काउंट को ऑप्टिमाइज़ करने के लिए। दोनों कॉन्फ़िगरेशन मान आपके CPU पर चल रहे थ्रेड्स की संख्या को ट्यून करने में मदद करते हैं, इसलिए आप अधिक संख्या में कोर वाले CPU के लिए इन मानों को बढ़ाकर संभवतः बेहतर उपयोग प्राप्त कर सकते हैं। अधिकांश मामलों में, डिफ़ॉल्ट मान अक्सर अच्छी तरह से काम करते हैं, लेकिन यह देखने लायक हो सकता है कि आपके कार्यभार के लिए और दक्षता प्राप्त की जा सकती है या नहीं।

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

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

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

अंत में, हम एक नया सेजमेकर एंडपॉइंट बनाने के लिए पिछले एंडपॉइंट कॉन्फ़िगरेशन का उपयोग करते हैं और परिनियोजन समाप्त होने की प्रतीक्षा करते हैं। स्थिति बदल जाती है InService तैनाती सफल होने के बाद।

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

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

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

सारांश

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

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

आप इस उदाहरण के लिए उपयोग की गई नोटबुक को यहां देख सकते हैं GitHub.


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

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

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

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

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

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

समय टिकट:

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