मॉनिटरिंग मशीन लर्निंग (एमएल) भविष्यवाणियां तैनात मॉडल की गुणवत्ता में सुधार करने में मदद कर सकती हैं। उत्पादन में किए गए अनुमानों से डेटा प्राप्त करने से आप अपने परिनियोजित मॉडलों की निगरानी कर सकते हैं और मॉडल गुणवत्ता में विचलन का पता लगा सकते हैं। इन विचलनों का शीघ्र और सक्रिय रूप से पता लगाने से आप सुधारात्मक कार्रवाई कर सकते हैं, जैसे मॉडल को फिर से प्रशिक्षित करना, अपस्ट्रीम सिस्टम का ऑडिट करना, या गुणवत्ता के मुद्दों को ठीक करना।
AWS लाम्बा एक सर्वर रहित कंप्यूट सेवा है जो बड़े पैमाने पर रीयल-टाइम एमएल अनुमान प्रदान कर सकती है। इस पोस्ट में, हम एक नमूना डेटा कैप्चर सुविधा प्रदर्शित करते हैं जिसे लैम्ब्डा एमएल अनुमान कार्यभार में तैनात किया जा सकता है।
दिसंबर 2020 में, लैम्ब्डा ने पैकेजिंग प्रारूप के रूप में कंटेनर छवियों के लिए समर्थन पेश किया। इस सुविधा ने परिनियोजन पैकेज आकार सीमा 500 एमबी से बढ़ाकर 10 जीबी कर दी। इस फीचर लॉन्च से पहले, पैकेज आकार की कमी ने TensorFlow या PyTorch जैसे ML फ्रेमवर्क को लैम्ब्डा फ़ंक्शंस में तैनात करना मुश्किल बना दिया। लॉन्च के बाद, बढ़ी हुई पैकेज आकार सीमा ने एमएल को लैम्ब्डा में तैनात करने के लिए एक व्यवहार्य और आकर्षक कार्यभार बना दिया। 2021 में, लैम्ब्डा सेवा में एमएल अनुमान सबसे तेजी से बढ़ते कार्यभार प्रकारों में से एक था।
अमेज़न SageMaker, अमेज़ॅन की पूरी तरह से प्रबंधित एमएल सेवा, इसकी अपनी मॉडल निगरानी सुविधा है। हालांकि, इस पोस्ट में नमूना प्रोजेक्ट दिखाता है कि एमएल अनुमान के लिए लैम्ब्डा का उपयोग करने वाले ग्राहकों के लिए मॉडल निगरानी में उपयोग के लिए डेटा कैप्चर कैसे करें। प्रोजेक्ट प्रदर्शन पर प्रभाव और अनुमान फ़ंक्शन के विलंबता को कम करने के लिए अनुमान डेटा को कैप्चर करने के लिए लैम्ब्डा एक्सटेंशन का उपयोग करता है। लैम्ब्डा एक्सटेंशन का उपयोग करने से फ़ंक्शन डेवलपर्स पर प्रभाव भी कम हो जाता है। एक विस्तार के माध्यम से एकीकृत करके, निगरानी सुविधा को कई कार्यों पर लागू किया जा सकता है और एक केंद्रीकृत टीम द्वारा बनाए रखा जा सकता है।
समाधान का अवलोकन
इस परियोजना में एक सर्वर रहित अनुप्रयोग के लिए स्रोत कोड और सहायक फ़ाइलें शामिल हैं जो एक डिस्टिलबर्ट-बेस, पूर्व-प्रशिक्षित प्रश्न उत्तर मॉडल का उपयोग करके वास्तविक समय का अनुमान प्रदान करती हैं। प्रोजेक्ट हगिंग फेस प्रश्न और उत्तर प्राकृतिक भाषा प्रसंस्करण (एनएलपी) मॉडल का उपयोग करता है पायटॉर्च प्राकृतिक भाषा अनुमान कार्यों को करने के लिए। परियोजना में मॉडल भविष्यवाणियों के लिए अनुमान डेटा कैप्चर करने का समाधान भी शामिल है। लैम्ब्डा फ़ंक्शन लेखक यह निर्धारित कर सकता है कि अनुमान अनुरोध इनपुट से कौन सा डेटा और भविष्यवाणी परिणाम एक्सटेंशन को भेजना है। इस समाधान में, हम मॉडल से एक्सटेंशन में इनपुट और उत्तर भेजते हैं। फिर एक्सटेंशन समय-समय पर डेटा को a . को भेजता है अमेज़न सरल भंडारण सेवा (अमेज़ॅन S3) बाल्टी। हम एक कंटेनर छवि के रूप में डेटा कैप्चर एक्सटेंशन का निर्माण करते हैं a makefile
. फिर हम एक कंटेनर छवि के रूप में लैम्ब्डा अनुमान फ़ंक्शन का निर्माण करते हैं और कंटेनर छवि परत के रूप में एक्सटेंशन कंटेनर छवि जोड़ते हैं। निम्नलिखित आरेख वास्तुकला का एक सिंहावलोकन दिखाता है।
लैम्ब्डा एक्सटेंशन लैम्ब्डा कार्यों को बढ़ाने का एक तरीका है। इस परियोजना में, हम अनुमान अनुरोध और अनुमान से भविष्यवाणी लॉग करने के लिए बाहरी लैम्ब्डा एक्सटेंशन का उपयोग करते हैं। बाहरी विस्तार लैम्ब्डा रनटाइम वातावरण में एक अलग प्रक्रिया के रूप में चलता है, जिससे अनुमान समारोह पर प्रभाव कम हो जाता है। हालाँकि, फ़ंक्शन लैम्ब्डा फ़ंक्शन के साथ सीपीयू, मेमोरी और स्टोरेज जैसे संसाधनों को साझा करता है। इष्टतम संसाधन उपलब्धता सुनिश्चित करने के लिए हम लैम्ब्डा फ़ंक्शन को पर्याप्त मेमोरी आवंटित करने की अनुशंसा करते हैं। (हमारे परीक्षण में, हमने अनुमान लैम्ब्डा फ़ंक्शन को 5 जीबी मेमोरी आवंटित की और इष्टतम संसाधन उपलब्धता और अनुमान विलंबता देखी)। जब एक अनुमान पूरा हो जाता है, तो लैम्ब्डा सेवा तुरंत प्रतिक्रिया लौटाती है और एक्सटेंशन के लिए S3 बकेट के अनुरोध और प्रतिक्रिया को लॉग करना समाप्त करने की प्रतीक्षा नहीं करती है। इस पैटर्न के साथ, निगरानी विस्तार अनुमान विलंबता को प्रभावित नहीं करता है। लैम्ब्डा एक्सटेंशन के बारे में अधिक जानने के लिए इन वीडियो श्रृंखला को देखें.
परियोजना सामग्री
इस परियोजना का उपयोग करता है AWS सर्वर रहित अनुप्रयोग मॉडल (एडब्ल्यूएस एसएएम) कमांड लाइन इंटरफेस (सीएलआई)। यह कमांड-लाइन टूल डेवलपर्स को एप्लिकेशन को इनिशियलाइज़ और कॉन्फ़िगर करने की अनुमति देता है; स्थानीय रूप से पैकेज, निर्माण और परीक्षण; और एडब्ल्यूएस क्लाउड पर तैनात करें।
आप इस परियोजना के लिए स्रोत कोड से डाउनलोड कर सकते हैं गिटहब भंडार.
इस प्रोजेक्ट में निम्न फ़ाइलें और फ़ोल्डर शामिल हैं:
- ऐप/app.py - एप्लिकेशन के लैम्ब्डा फ़ंक्शन के लिए कोड, जिसमें एमएल अनुमान के लिए कोड शामिल है।
- ऐप/डॉकरफाइल - डॉकरीफाइल कंटेनर इमेज बनाने के लिए जो इंट्रेंस फंक्शन को पैकेज करता है, हगिंग फेस से डाउनलोड किया गया मॉडल और लैम्ब्डा एक्सटेंशन एक लेयर के रूप में बनाया गया है। .zip फंक्शंस के विपरीत, फंक्शन क्रिएट टाइम पर लेयर्स को कंटेनर-पैकेज्ड लैम्ब्डा फंक्शन्स से अटैच नहीं किया जा सकता है। इसके बजाय, हम परत बनाते हैं और इसकी सामग्री को कंटेनर छवि में कॉपी करते हैं।
- एक्सटेंशन - मॉडल मॉनिटर एक्सटेंशन फाइलें। इस लैम्ब्डा एक्सटेंशन का उपयोग इनपुट को इंट्रेंस फंक्शन में लॉग इन करने के लिए किया जाता है और एक S3 बकेट के लिए संबंधित भविष्यवाणी।
- ऐप/मॉडल - हगिंग फेस से डाउनलोड किया गया मॉडल।
- ऐप/requirements.txt - कंटेनर में स्थापित किए जाने वाले पायथन निर्भरता।
- घटनाओं - आमंत्रण ईवेंट जिनका उपयोग आप फ़ंक्शन का परीक्षण करने के लिए कर सकते हैं।
- टेम्पलेट.yaml - एक डिस्क्रिप्टर फ़ाइल जो एप्लिकेशन के AWS संसाधनों को परिभाषित करती है।
एप्लिकेशन कई AWS संसाधनों का उपयोग करता है, जिसमें लैम्ब्डा फ़ंक्शन और a . शामिल हैं अमेज़ॅन एपीआई गेटवे एपीआई। इन संसाधनों को परिभाषित किया गया है: template.yaml
इस परियोजना में फ़ाइल। आप उसी परिनियोजन प्रक्रिया के माध्यम से AWS संसाधनों को जोड़ने के लिए टेम्पलेट को अपडेट कर सकते हैं जो आपके एप्लिकेशन कोड को अपडेट करती है।
.. पूर्वापेक्षाएँ
इस पूर्वाभ्यास के लिए, आपके पास निम्नलिखित शर्तें होनी चाहिए:
नमूना आवेदन तैनात करें
पहली बार अपना आवेदन बनाने के लिए, निम्नलिखित चरणों को पूरा करें:
- अपने शेल में निम्न कोड चलाएँ। (यह एक्सटेंशन भी बनाएगा):
- मॉडल मॉनिटर एप्लिकेशन की डॉकर छवि बनाएं। निर्माण सामग्री में रहती है
.aws-sam
डायरेक्टरी
- अमेज़न ईसीआर में लॉग इन करें:
- Amazon ECR में एक रिपॉजिटरी बनाएं:
aws ecr create-repository
repository-name serverless-ml-model-monitor
--image-scanning-configuration scanOnPush=true
--region us-east-1
- कंटेनर इमेज को Amazon ECR पर पुश करें:
- टिप्पणी पंक्ति #1 इंच ऐप/डॉकरफाइल और सही ECR रिपॉजिटरी छवि को इंगित करने के लिए इसे संपादित करें, फिर असम्बद्ध रेखाएँ #6 और #7 in ऐप/डॉकरफाइल:
- एप्लिकेशन को फिर से बनाएं:
हम फिर से निर्माण करते हैं क्योंकि लैम्ब्डा सीधे कंटेनर छवि पैकेजिंग प्रकार के लिए लैम्ब्डा परतों का समर्थन नहीं करता है। हमें पहले मॉडल मॉनिटरिंग कंपोनेंट को कंटेनर इमेज के रूप में बनाना होगा, इसे Amazon ECR पर अपलोड करना होगा, और फिर उस इमेज को मॉडल मॉनिटरिंग एप्लिकेशन में कंटेनर लेयर के रूप में उपयोग करना होगा।
- अंत में, लैम्ब्डा फ़ंक्शन, एपीआई गेटवे और एक्सटेंशन को परिनियोजित करें:
यह कमांड पैकेज करता है और आपके एप्लिकेशन को संकेतों की एक श्रृंखला के साथ AWS में तैनात करता है:
- ढेर का नाम : तैनात का नाम एडब्ल्यूएस CloudFormation ढेर। यह आपके खाते और क्षेत्र के लिए अद्वितीय होना चाहिए, और आपके प्रोजेक्ट के नाम से मेल खाने वाला एक अच्छा प्रारंभिक बिंदु होगा।
- AWS क्षेत्र : AWS क्षेत्र जिसमें आप अपना आवेदन परिनियोजित करते हैं।
- तैनाती से पहले परिवर्तन की पुष्टि करें : यदि निर्धारित किया जाता है
yes
, मैन्युअल समीक्षा के लिए चलने से पहले कोई भी परिवर्तन सेट आपको दिखाया जाता है। यदि नहीं पर सेट किया जाता है, तो AWS SAM CLI स्वचालित रूप से एप्लिकेशन परिवर्तनों को लागू करता है। - एडब्ल्यूएस सैम सीएलआई आईएएम भूमिका निर्माण की अनुमति दें : इस उदाहरण सहित कई एडब्ल्यूएस एसएएम टेम्पलेट्स बनाते हैं AWS पहचान और अभिगम प्रबंधन लैम्ब्डा फ़ंक्शन के लिए आवश्यक (IAM) भूमिकाएँ AWS सेवाओं तक पहुँचने के लिए शामिल हैं। डिफ़ॉल्ट रूप से, इन्हें न्यूनतम आवश्यक अनुमतियों तक सीमित कर दिया जाता है। IAM भूमिकाओं को बनाने या संशोधित करने वाले CloudFormation स्टैक को परिनियोजित करने के लिए,
CAPABILITY_IAM
के लिए मूल्यcapabilities
प्रदान किया जाना चाहिए। यदि इस संकेत के माध्यम से अनुमति प्रदान नहीं की जाती है, तो इस उदाहरण को परिनियोजित करने के लिए आपको स्पष्ट रूप से पास करना होगा--capabilities CAPABILITY_IAM
कोsam deploy
आदेश। - तर्कों को samconfig.toml में सहेजें : यदि निर्धारित किया जाता है
yes
, आपकी पसंद प्रोजेक्ट के अंदर एक कॉन्फ़िगरेशन फ़ाइल में सहेजी जाती है ताकि भविष्य में, आप बस चला सकेंsam deploy
आपके एप्लिकेशन में परिवर्तनों को परिनियोजित करने के लिए पैरामीटर के बिना।
आप अपना एपीआई गेटवे एंडपॉइंट यूआरएल परिनियोजन के बाद प्रदर्शित आउटपुट मानों में पा सकते हैं।
आवेदन का परीक्षण करें
एप्लिकेशन का परीक्षण करने के लिए, एपीआई गेटवे एंडपॉइंट पर अनुरोध भेजने के लिए पोस्टमैन या कर्ल का उपयोग करें। उदाहरण के लिए:
आपको निम्न कोड की तरह आउटपुट देखना चाहिए। एमएल मॉडल ने संदर्भ से अनुमान लगाया और हमारे प्रश्न का उत्तर लौटा दिया।
कुछ मिनटों के बाद, आपको S3 बकेट में एक फ़ाइल दिखनी चाहिए nlp-qamodel-model-monitoring-modelmonitorbucket-
इनपुट और अनुमान के साथ लॉग किया गया।
क्लीन अप
आपके द्वारा बनाए गए नमूना एप्लिकेशन को हटाने के लिए, AWS CLI का उपयोग करें:
निष्कर्ष
इस पोस्ट में, हमने लैम्ब्डा एक्सटेंशन के रूप में एक मॉडल मॉनिटरिंग फीचर को लागू किया और इसे लैम्ब्डा एमएल इंट्रेंस वर्कलोड में तैनात किया। हमने दिखाया कि इस समाधान को अपने स्वयं के एडब्ल्यूएस खाते में कैसे बनाया और तैनात किया जाए। अंत में, हमने दिखाया कि मॉनिटर की कार्यक्षमता को सत्यापित करने के लिए परीक्षण कैसे चलाया जाता है।
कृपया टिप्पणी अनुभाग में कोई विचार या प्रश्न प्रदान करें। अधिक सर्वर रहित शिक्षण संसाधनों के लिए, पर जाएँ सर्वर रहित भूमि.
लेखक के बारे में
डैन फॉक्स सर्वरलेस के लिए वर्ल्डवाइड स्पेशलिस्ट ऑर्गनाइजेशन में प्रिंसिपल स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट हैं। डैन ग्राहकों के साथ काम करता है ताकि उन्हें स्केलेबल, दोष-सहिष्णु, उच्च-प्रदर्शन, लागत प्रभावी एप्लिकेशन बनाने के लिए सर्वर रहित सेवाओं का लाभ उठाने में मदद मिल सके। डैन प्यारे बोल्डर, कोलोराडो में रहने और काम करने में सक्षम होने के लिए आभारी हैं।
न्यूटन जैन एडब्ल्यूएस लैम्ब्डा पर मशीन लर्निंग, उच्च प्रदर्शन कंप्यूटिंग (एचपीसी) और मीडिया प्रोसेसिंग ग्राहकों के लिए नए अनुभव बनाने के लिए जिम्मेदार एक वरिष्ठ उत्पाद प्रबंधक है। वह प्रदर्शन बढ़ाने, विलंबता को कम करने, मापनीयता में सुधार, विश्वसनीयता बढ़ाने और लागत कम करने के लिए नई क्षमताओं के विकास का नेतृत्व करता है। वह एडब्ल्यूएस ग्राहकों को उनके गणना-गहन अनुप्रयोगों के लिए एक प्रभावी सर्वर रहित रणनीति को परिभाषित करने में सहायता करता है।
दीक्षा शर्मा एडब्ल्यूएस में सॉल्यूशंस आर्किटेक्ट और मशीन लर्निंग स्पेशलिस्ट हैं। वह ग्राहकों को उनके क्लाउड अपनाने में तेजी लाने में मदद करती है, विशेष रूप से मशीन लर्निंग और सर्वर रहित प्रौद्योगिकियों के क्षेत्रों में। दीक्षा अवधारणा के अनुकूलित प्रमाण प्रस्तुत करती है जो ग्राहकों को उनके व्यवसाय और आईटी चुनौतियों का सामना करने में AWS का मूल्य दिखाती है। वह ग्राहकों को एडब्ल्यूएस के बारे में उनके ज्ञान में सक्षम बनाती है और ग्राहकों के साथ उनके वांछित समाधान का निर्माण करने के लिए काम करती है।
वेद रमणी मैरीलैंड में स्थित मशीन लर्निंग के लिए एक वरिष्ठ विशेषज्ञ समाधान वास्तुकार है। वेदा ग्राहकों को कुशल, सुरक्षित और स्केलेबल मशीन लर्निंग एप्लिकेशन बनाने में मदद करने के लिए उनके साथ काम करती है। वेद मशीन लर्निंग के लिए सर्वर रहित तकनीकों का लाभ उठाने में ग्राहकों की मदद करने में रुचि रखता है।
जोश कहनो सर्वरलेस के लिए वर्ल्डवाइड टेक लीडर और प्रिंसिपल सॉल्यूशंस आर्किटेक्ट हैं। वह AWS में सर्वर रहित विशेषज्ञों के एक वैश्विक समुदाय का नेतृत्व करते हैं, जो सभी आकार के ग्राहकों को, स्टार्ट-अप से लेकर दुनिया के सबसे बड़े उद्यमों तक, AWS सर्वर रहित तकनीकों का प्रभावी ढंग से उपयोग करने में मदद करते हैं।
- AI
- ai कला
- ऐ कला जनरेटर
- ऐ रोबोट
- कृत्रिम बुद्धिमत्ता
- कृत्रिम बुद्धिमत्ता प्रमाणन
- बैंकिंग में आर्टिफिशियल इंटेलिजेंस
- आर्टिफिशियल इंटेलिजेंस रोबोट
- आर्टिफिशियल इंटेलिजेंस रोबोट
- कृत्रिम बुद्धि सॉफ्टवेयर
- AWS लाम्बा
- AWS मशीन लर्निंग
- blockchain
- ब्लॉकचेन सम्मेलन एआई
- कॉइनजीनियस
- संवादी कृत्रिम बुद्धिमत्ता
- क्रिप्टो सम्मेलन एआई
- दल-ए
- ध्यान लगा के पढ़ना या सीखना
- इसे गूगल करें
- यंत्र अधिगम
- प्लेटो
- प्लेटो एआई
- प्लेटो डेटा इंटेलिजेंस
- प्लेटो गेम
- प्लेटोडाटा
- प्लेटोगेमिंग
- स्केल एआई
- वाक्यविन्यास
- तकनीकी
- जेफिरनेट