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

अमेज़ॅन सेजमेकर पर रीयल-टाइम मॉडल की तैनाती के साथ शुरुआत करना

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

  1. रीयल-टाइम अनुमान
  2. सर्वर रहित अनुमान
  3. अतुल्यकालिक अनुमान
  4. बैच रूपांतरण

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

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

मॉडल परिनियोजन विकल्प चुनना

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

सेजमेकर एंडपॉइंट्स पर एक मॉडल की मेजबानी

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

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

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

रीयल-टाइम समापन बिंदु आवश्यकताएं

  1. समापन बिंदु बनाने से पहले, आपको यह समझना होगा कि आप किस प्रकार का मॉडल होस्ट करना चाहते हैं। यदि यह एक फ्रेमवर्क मॉडल है, जैसे कि TensorFlow, PyTorch, या MXNet, तो आप इनमें से किसी एक का उपयोग कर सकते हैं पूर्वनिर्मित फ्रेमवर्क छवियां.
    यदि यह एक कस्टम मॉडल है, या आप कंटेनर बनाने में पूर्ण लचीलापन चाहते हैं जिसे सेजमेकर अनुमान के लिए चलाएगा, तो आप अपना खुद का कंटेनर बना सकते हैं।

SageMaker समापन बिंदु a से बने होते हैं सेजमेकर मॉडल और समापन बिंदु कॉन्फ़िगरेशन।
यदि आप Boto3 का उपयोग कर रहे हैं, तो आप दोनों ऑब्जेक्ट बनाएंगे। अन्यथा, यदि आप सेजमेकर पायथन एसडीके का उपयोग कर रहे हैं, तो जब आप उपयोग करते हैं तो आपकी ओर से एंडपॉइंट कॉन्फ़िगरेशन बनाया जाता है .deploy(..) समारोह.

सेजमेकर संस्थाएं:

  • सेजमेकर मॉडल:
    • इसमें अनुमान छवि का विवरण, मॉडल कलाकृतियों का स्थान शामिल है अमेज़ॅन सिंपल स्टोरेज सर्विस (अमेज़ॅन एस 3), नेटवर्क कॉन्फ़िगरेशन, और AWS पहचान और अभिगम प्रबंधन (IAM) समापन बिंदु द्वारा उपयोग की जाने वाली भूमिका।
      • सेजमेकर को आपके मॉडल कलाकृतियों को एक में संपीड़ित करने की आवश्यकता है .tar.gz फ़ाइल। सेजमेकर स्वचालित रूप से इसे निकालता है .tar.gz में फाइल /opt/ml/model/ आपके कंटेनर में निर्देशिका। यदि आप किसी एक फ्रेमवर्क कंटेनर का उपयोग कर रहे हैं, जैसे कि TensorFlow, PyTorch, या MXNet, तो कंटेनर आपकी TAR संरचना की अपेक्षा करता है:
        • TensorFlow
          model.tar.gz/
          |--[model_version_number]/
          |--variables
          |--saved_model.pb
          code/
          |--inference.py
          |--requirements.txt

        • पायटॉर्च
          model.tar.gz/
          |- model.pth
          |- code/
          |- inference.py
          |- requirements.txt # only for versions 1.3.1 and higher

        • एमएक्सनेट
          model.tar.gz/
          |- model-symbol.json
          |- model-shapes.json
          |- model-0000.params
          |- code/
              |- inference.py
              |- requirements.txt # only for versions 1.6.0 and higher

        • स्केलेर्न
          model.tar.gz/
          |- model.joblib
          | code/ 
          |- inference.py

      • फ्रेमवर्क इमेज का उपयोग करते समय, हम एक कस्टम एंट्री-पॉइंट स्क्रिप्ट प्रदान कर सकते हैं, जहाँ हम अपनी प्री और पोस्ट प्रोसेसिंग को लागू कर सकते हैं। हमारे मामले में, अनुमान स्क्रिप्ट को /code निर्देशिका के अंतर्गत model.tar.gz में पैक किया जाता है।
    • समापन बिंदु विन्यास
      • सेजमेकर मॉडल को एंडपॉइंट पर तैनात करने के लिए आवश्यक बुनियादी ढाँचे की जानकारी शामिल है।
      • उदाहरण के लिए, हमने जो सेजमेकर मॉडल बनाया है, वह यहां निर्दिष्ट है और साथ ही इंस्टेंस टाइप और इनिशियल इंस्टेंस काउंट भी।

फ्रेमवर्क और BYOC

    • सेजमेकर छवियों को पुनः प्राप्त करना
      • यह भाग हमेशा आवश्यक नहीं होता है और अनुमानकर्ताओं के माध्यम से सेजमेकर पायथन एसडीके द्वारा सारगर्भित किया जाता है। हालांकि, यदि आप उस पर विस्तार करने के लिए सेजमेकर प्रबंधित छवि को पुनः प्राप्त करने में सक्षम होना चाहते हैं, तो आप एसडीके के माध्यम से उपलब्ध छवियां प्राप्त कर सकते हैं। निम्नलिखित अनुमान के लिए TF 2.2 छवि को पुनः प्राप्त करने का एक उदाहरण है।
        import sagemaker
        tf_image = sagemaker.image_uris.retreive(framework="tensorflow", region="us-east-1",
        image_scope = "inference", version = "2.2", instance_type = "ml.c5.xlarge)
        print(tf_image)

    • चौखटे
      • यदि आप एक फ्रेमवर्क मॉडल को तैनात करना चाहते हैं, जैसे कि TensorFlow, PyTorch, या MXNet, तो आपको केवल मॉडल कलाकृतियों की आवश्यकता है।
      • मॉडल कलाकृतियों से सीधे मॉडल परिनियोजित करने के लिए दस्तावेज़ देखें TensorFlow, पायटॉर्चया, एमएक्सनेट.
    • 1P और BYOC के बीच चयन
      • जैसा कि आपने पिछले फ्रेमवर्क अनुभाग में देखा था, सेजमेकर एसडीके छवि को संभालने का सार भी है। इसमें Sklearn, TensorFlow, और PyTorch के लिए तैयार अनुमानक हैं जो आपके द्वारा चुने गए संस्करण के आधार पर स्वचालित रूप से आपके लिए छवि का चयन करते हैं। फिर आप एक प्रशिक्षण/अनुमान स्क्रिप्ट में पास कर सकते हैं स्क्रिप्ट मोड इन अनुमानकों में।
        from sagemaker.pytorch import PyTorch #PyTorch Estimator within SageMaker SDK
        estimator_parameters = {"entry_point": "train_deploy_pytorch_without_dependencies.py",
        "source_dir": "pytorch_script","instance_type": train_instance_type,
        "instance_count": 1,"hyperparameters": hyperparameters,
        "role": role,"base_job_name": "pytorch-model","framework_version": "1.5",
        "py_version": "py3",}
        
        ## Model Training
        estimator = PyTorch(**estimator_parameters)estimator.fit(inputs)
        
        ## Deploy Trained model
        pytorch_predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.m5.xlarge", endpoint_name=pytorch_endpoint_name)

      • सभी पैकेज और इमेज सेजमेकर द्वारा समर्थित नहीं हैं, और इस मामले में आपको अवश्य करना चाहिए अपना खुद का कंटेनर लाओ (BYOC) इसका मतलब है कि एक डॉकरफाइल बनाना जो आपके मॉडल की सेवा के लिए उचित वातावरण स्थापित करेगा। इसका एक उदाहरण स्पेसी एनएलपी मॉड्यूल है, और इस ढांचे के लिए कोई प्रबंधित सेजमेकर कंटेनर नहीं हैं। इसलिए, आपको एक Dockerfile प्रदान करना होगा जो Spay को स्थापित करता है। कंटेनर के भीतर आप अपनी मॉडल अनुमान स्क्रिप्ट भी माउंट करते हैं। आइए जल्दी से उन घटकों पर चर्चा करें जो आप अपने स्वयं के कंटेनर प्रारूप में प्रदान करते हैं, क्योंकि ये अधिकांश उदाहरणों के लिए सुसंगत रहते हैं।
        • "nginx.conf" nginx फ्रंट-एंड के लिए कॉन्फ़िगरेशन फ़ाइल है। आपको इस फ़ाइल को संपादित करने की आवश्यकता नहीं होगी, जब तक कि आप इन भागों को ट्यून नहीं करना चाहते।
        • "predictor.py" वह प्रोग्राम है जो वास्तव में आपके एप्लिकेशन के लिए फ्लास्क वेब सर्वर और मॉडल कोड को लागू करता है। आपके कंटेनर में और भी Python फ़ाइलें या फ़ंक्शन हो सकते हैं जिन्हें आप इस फ़ाइल में कॉल कर सकते हैं।
        • "सेवा कर" क्या प्रोग्राम तब शुरू होता है जब होस्टिंग के लिए कंटेनर शुरू किया जाता है। यह केवल गनिकोर्न सर्वर को लॉन्च करता है, जो कि प्रेडिक्टर.py में परिभाषित फ्लास्क ऐप के कई उदाहरणों को चलाता है। nginx.conf की तरह, आपको इस फ़ाइल को तब तक संपादित करने की ज़रूरत नहीं है जब तक कि आगे कोई ट्यूनिंग न हो जिसे आप करना चाहते हैं।
        • "रेल गाडी" वह प्रोग्राम है जिसे प्रशिक्षण के लिए कंटेनर चलाने पर लागू किया जाता है। आप अपने प्रशिक्षण एल्गोरिथम को लागू करने के लिए इस कार्यक्रम को संशोधित करेंगे। यदि आप एक पूर्व-प्रशिक्षित मॉडल या ढाँचा जैसे कि स्पासी ला रहे हैं, तो आपको इस फ़ाइल की आवश्यकता नहीं है।
        • "wsgi.py" फ्लास्क ऐप को इनवाइट करने के लिए इस्तेमाल किया जाने वाला एक छोटा रैपर है। आपको इस फ़ाइल को यथास्थिति में ले जाने में सक्षम होना चाहिए, जब तक कि आपने अपनी भविष्यवक्ता.py फ़ाइल का नाम नहीं बदल दिया है। उस स्थिति में, सुनिश्चित करें कि यहां मानचित्र ठीक से हैं।
    • कस्टम अनुमान स्क्रिप्ट
      • सेजमेकर फ्रेमवर्क कंटेनर आपको कस्टम एंट्री पॉइंट स्क्रिप्ट/inference.py का उपयोग करके अनुरोध और मॉडल लोडिंग के प्री/पोस्ट प्रोसेसिंग को संभालने की सुविधा देता है।
      • के लिए एक कस्टम inference.py स्क्रिप्ट बनाने के लिए दस्तावेज़ देखें TensorFlow, पायटॉर्च और एमएक्सनेट.
    • कस्टम कंटेनर

विभिन्न तरीके जिनसे आप सेजमेकर एंडपॉइंट्स के साथ इंटरैक्ट कर सकते हैं

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

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

  1. उच्च स्तरीय सेजमेकर "पायथन" एसडीके - यह एसडीके एक ओपन-सोर्स लाइब्रेरी है जो विशेष रूप से सेजमेकर एपीआई को प्रोग्रामेटिक रूप से पायथन का उपयोग करने के लिए उच्च स्तरीय अमूर्तता प्रदान करता है। इस एसडीके का अच्छा हिस्सा यह है कि सेजमेकर एपीआई को कॉल करना बहुत आसान है, एपीआई को सिंक्रोनस/एसिंक मोड (मतदान से बचने में मदद करता है), सरल अनुरोध/प्रतिक्रिया स्कीमा, बहुत कम कोड, और बहुत कुछ पहले से ही भारी भारोत्तोलन किया जाता है। सरल कोड। सेजमेकर पायथन एसडीके सेजमेकर के साथ काम करने के लिए कई उच्च-स्तरीय एब्स्ट्रैक्शन प्रदान करता है। पैकेज सेजमेकर पर विभिन्न एमएल प्रक्रियाओं को सरल बनाने के लिए है।
  2. निम्न-स्तरीय AWS SDK (Boto3 SDK) - यह SDK उपयोगकर्ता को समर्थित प्रोग्रामिंग भाषाओं में से चुनने और किसी भी AWS सेवाओं को प्रोग्रामेटिक रूप से कॉल करने की अनुमति देकर निचले स्तर पर काम करता है। यह केवल सेजमेकर के लिए विशिष्ट नहीं है बल्कि सभी एडब्ल्यूएस सेवाओं के लिए सामान्य रूप से उपयोग किया जा सकता है। निम्न-स्तरीय AWS SDK विभिन्न प्रोग्रामिंग भाषाओं में उपलब्ध हैं, जैसे .NET, Python, Java, Node.js, आदि। उपयोग किए जाने वाले लोकप्रिय SDK में से एक boto3 python SDK है, जो ML के लिए डेटा वैज्ञानिक समुदाय में लोकप्रिय है। इस एसडीके का अच्छा हिस्सा यह है कि यह बहुत हल्का है और डिफ़ॉल्ट रूप से उपलब्ध है AWS लाम्बा रनटाइम। इसके अलावा, आप इस एसडीके का उपयोग सेजमेकर के बाहर किसी भी एडब्ल्यूएस सेवा के साथ बातचीत करने के लिए कर सकते हैं।

इन दोनों SDK का उपयोग समान कार्यों के लिए किया जा सकता है, लेकिन कुछ मामलों में एक का दूसरे की तुलना में अधिक उपयोग करना अधिक सहज होता है। आसान परीक्षण के लिए सेजमेकर पायथन एसडीके की सिफारिश की जाती है जबकि प्रदर्शन पर बेहतर नियंत्रण के लिए उत्पादन उपयोग के मामलों के लिए एडब्ल्यूएस एसडीके / बोटो 3 की सिफारिश की जाती है। उदाहरण के लिए, SageMaker एक सेवा के रूप में Sklearn, PyTorch, और TensorFlow जैसे लोकप्रिय ढांचे के लिए पूर्व-निर्मित और अनुरक्षित छवियां प्रदान करता है। सेजमेकर एसडीके का उपयोग करने के लिए विशेष रूप से उपयोगी हो सकता है ताकि गहरी सीखने की छवियों को पुनः प्राप्त किया जा सके, मॉडल का उपयोग करके प्रशिक्षित किया जा सके आकलनकर्ता, और आसानी से एक साधारण एपीआई कॉल का उपयोग करके मॉडल को तैनात करें। कार्रवाई में इसे प्रदर्शित करने के लिए एक उदाहरण पाया जा सकता है यहाँ उत्पन्न करें.

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

सेजमेकर होस्टिंग के विचार

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

  1. आप किस ढांचे का उपयोग कर रहे हैं?
  2. क्या कोई पर्यावरण चर है जिसे आप अपने कंटेनर में ट्यून कर सकते हैं?

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

देखने के तीन तरीके हैं उपयोग में सुधार आपके रीयल टाइम एंडपॉइंट का:

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

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

सेजमेकर भी ऑफर करता है बचत योजनाएं. बचत योजनाएँ आपकी लागतों को 64% तक कम कर सकती हैं। यह लगातार उपयोग ($/घंटा) की मात्रा के लिए 1 या 3 साल की अवधि की प्रतिबद्धता है। यह देखो संपर्क अधिक जानकारी के लिए। और इसे देखें संपर्क अमेज़ॅन सेजमेकर पर अनुमान के लिए लागत को अनुकूलित करने के लिए सर्वोत्तम के लिए।

निष्कर्ष

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

संबंधित देखें गिटहब भंडार और उदाहरणों को आजमाएं।


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

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

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

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

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

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

समय टिकट:

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