अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

अमेज़ॅन सैजमेकर स्टूडियो लैब में नोटबुक को बैच जॉब के रूप में चलाएं

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

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

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

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

.. पूर्वापेक्षाएँ

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

एक सेजमेकर निष्पादन भूमिका बनाएँ

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

निम्नलिखित चरणों को केवल एक बार करने की आवश्यकता है, भले ही कितने SageMaker Studio लैब परिवेश इस AWS खाते तक पहुंच प्राप्त करेंगे।

  1. IAM कंसोल पर, चुनें भूमिकाओं नेविगेशन फलक में
  2. चुनें भूमिका बनाएं.
  3. के लिए विश्वसनीय इकाई प्रकार, चुनते हैं AWS सेवा.
  4. के लिए अन्य AWS सेवाओं के लिए मामलों का उपयोग करें, चुनें SageMaker.
  5. चुनते हैं सेजमेकर - निष्पादन.
  6. चुनें अगला.
  7. अनुमतियों की समीक्षा करें, फिर चुनें अगला.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.
  8. के लिए भूमिका का नाम, एक नाम दर्ज करें (इस पोस्ट के लिए, हम उपयोग करते हैं sagemaker-execution-role-notebook-jobs).
  9. चुनें भूमिका बनाएं.
  10. एआरएन की भूमिका पर ध्यान दें।

भूमिका एआरएन के प्रारूप में होगी arn:aws:iam::[account-number]:role/service-role/[role-name] और स्टूडियो लैब सेटअप में आवश्यक है।

एक IAM उपयोगकर्ता बनाएं

AWS तक पहुँचने के लिए एक स्टूडियो लैब वातावरण के लिए, हमें AWS के भीतर एक IAM उपयोगकर्ता बनाने और उसे आवश्यक अनुमतियाँ प्रदान करने की आवश्यकता है। फिर हमें उस उपयोगकर्ता के लिए एक्सेस कुंजियों का एक सेट बनाना होगा और उन्हें स्टूडियो लैब वातावरण में प्रदान करना होगा।

इस चरण को प्रत्येक SageMaker Studio लैब वातावरण के लिए दोहराया जाना चाहिए जो इस AWS खाते तक पहुँच प्राप्त करेगा।

ध्यान दें कि प्रशासकों और एडब्ल्यूएस खाता मालिकों को यह सुनिश्चित करना चाहिए कि जहां तक ​​संभव हो, अच्छी तरह से तैयार की गई सुरक्षा प्रथाओं का पालन किया जाए। उदाहरण के लिए, उपयोगकर्ता अनुमतियों का दायरा हमेशा कम होना चाहिए, और क्रेडेंशियल समझौता के प्रभाव को कम करने के लिए एक्सेस कुंजियों को नियमित रूप से घुमाया जाना चाहिए।

इस ब्लॉग में हम दिखाते हैं कि कैसे उपयोग करना है AmazonSageMakerFullAccess प्रबंधित नीति। यह नीति Amazon SageMaker तक व्यापक पहुंच प्रदान करती है जो आवश्यकता से अधिक हो सकती है। के बारे में विवरण AmazonSageMakerFullAccess पाया जा सकता है यहाँ उत्पन्न करें.

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

जितना संभव हो सके अनुमतियों को कम करने के लिए, हम विशेष रूप से इस एक्सेस के लिए एक उपयोगकर्ता प्रोफ़ाइल बनाते हैं।

  1. IAM कंसोल पर, चुनें उपयोगकर्ता नेविगेशन फलक में
  2. चुनें उपयोगकर्ता जोड़ें.
  3. के लिए यूज़र नेम, एक नाम दर्ज करें। किसी ऐसे नाम का उपयोग करना अच्छा अभ्यास है जो इस खाते का उपयोग करने वाले किसी व्यक्ति से जुड़ा हो; यह ऑडिट लॉग की समीक्षा करने में मदद करता है।
  4. के लिए AWS पहुंच प्रकार चुनें, चुनते हैं एक्सेस कुंजी - प्रोग्रामेटिक एक्सेस.
  5. चुनें अगला: अनुमतियाँ.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.
  6. चुनें मौजूदा नीतियों को सीधे संलग्न करें.
  7. खोजें और चुनें AmazonSageMakerFullAccess.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.
  8. खोजें और चुनें AmazonEventBridgeFullAccess.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.
  9. चुनें अगला: टैग.
  10. चुनें अगला: समीक्षा करें.
  11. अपनी नीतियों की पुष्टि करें, फिर चुनें उपयोगकर्ता बनाइये.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.उपयोगकर्ता निर्माण प्रक्रिया का अंतिम पृष्ठ आपको उपयोगकर्ता की पहुंच कुंजियां दिखाएगा। इस टैब को खुला छोड़ दें, क्योंकि हम यहां वापस नेविगेट नहीं कर सकते और हमें इन विवरणों की आवश्यकता है।
  12. स्टूडियो लैब में एक नया ब्राउज़र टैब खोलें।
  13. पर पट्टिका मेनू, चुनें नया लॉन्चर, उसके बाद चुनो अंतिम.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.
  14. कमांड लाइन पर, निम्न कोड दर्ज करें:
    aws configure

  15. निम्नलिखित कोड दर्ज करें:
    1. अपनी पहुंच कुंजी आईडी और गुप्त पहुंच कुंजी के लिए IAM कंसोल पृष्ठ से मान दर्ज करें।
    2. के लिए Default region name, दर्ज us-west-2.
    3. छोड़ना Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

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

aws sts get-caller-identity

इस आदेश को आपके द्वारा उपयोग करने के लिए कॉन्फ़िगर किए गए आईएएम उपयोगकर्ता के बारे में विवरण वापस करना चाहिए।

एक नोटबुक कार्य बनाएँ

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

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

%%capture
%pip install torch
%pip install torchvision

अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

हमारी नोटबुक एक प्रशिक्षित PyTorch मॉडल तैयार करेगी। हमारे नियमित कोड के साथ, हम मॉडल को स्टूडियो लैब्स में फ़ाइल सिस्टम में सहेजते हैं।

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

अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ. अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

हम उपयोग AWS कमांड लाइन इंटरफ़ेस (AWS CLI) यहाँ वस्तु की प्रतिलिपि बनाने के लिए। हम भी इस्तेमाल कर सकते हैं अजगर के लिए AWS SDK (Boto3) अगर हम फ़ाइल नाम का अधिक परिष्कृत या स्वचालित नियंत्रण चाहते हैं। अभी के लिए, हम यह सुनिश्चित करेंगे कि हर बार जब हम नोटबुक चलाते हैं तो हम फ़ाइल का नाम बदल दें ताकि मॉडल अधिलेखित न हो जाएँ।

अब हम नोटबुक जॉब बनाने के लिए तैयार हैं।

  1. नोटबुक नाम चुनें (राइट-क्लिक करें), फिर चुनें नोटबुक जॉब बनाएं.अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.
    यदि यह मेनू विकल्प अनुपलब्ध है, तो आपको अपने स्टूडियो लैब परिवेश को ताज़ा करने की आवश्यकता हो सकती है। ऐसा करने के लिए, लॉन्चर से टर्मिनल खोलें और निम्न कोड चलाएँ:
    conda deactivate && conda env remove —name studiolab

  2. अगला, अपने JupyterLab उदाहरण को चुनकर पुनः आरंभ करें अमेज़ॅन सेजमेकर स्टूडियो लैब शीर्ष मेनू से, फिर चुनें ज्यूपिटरलैब को पुनरारंभ करें.वैकल्पिक रूप से, प्रोजेक्ट पेज पर जाएं, और शट डाउन करें और रनटाइम को पुनरारंभ करें।
  3. पर नौकरी पैदा करो पेज, के लिए गणना प्रकार, गणना का वह प्रकार चुनें जो आपके काम के अनुकूल हो।

    लागत सहित विभिन्न प्रकार की गणना क्षमता के बारे में अधिक जानकारी के लिए देखें अमेज़न SageMaker मूल्य निर्धारण (चुनें ऑन-डिमांड मूल्य निर्धारण और नेविगेट करने के लिए प्रशिक्षण टैब। आपको अपने AWS खाते में गणना प्रकार की कोटा उपलब्धता की जाँच करने की भी आवश्यकता हो सकती है। सेवा कोटा के बारे में अधिक जानकारी के लिए देखें: एडब्ल्यूएस सेवा कोटा.इस उदाहरण के लिए, हमने एक ml.p3.2xlarge उदाहरण चुना है, जो 8 vCPU, 61 GB मेमोरी और एक Tesla V100 GPU प्रदान करता है।अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

    यदि इस पृष्ठ पर कोई चेतावनी नहीं है, तो आपको जाने के लिए तैयार रहना चाहिए। अगर चेतावनियां हैं, तो यह सुनिश्चित करने के लिए जांच करें कि ARN में सही भूमिका निर्दिष्ट की गई है अतिरिक्त विकल्प. यह भूमिका हमारे द्वारा पहले बनाई गई SageMaker निष्पादन भूमिका के ARN से मेल खाना चाहिए। ARN प्रारूप में है arn:aws:iam::[account-number]:role/service-role/[role-name].

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

  4. यदि आप इस नोटबुक को एक शेड्यूल पर चलाना चाहते हैं, तो चुनें शेड्यूल पर दौड़ें और निर्दिष्ट करें कि आप नौकरी को कितनी बार चलाना चाहते हैं।अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.हम चाहते हैं कि यह नोटबुक एक बार चले, इसलिए हम चुनते हैं अभी भागो.
  5. चुनें बनाएं.
    अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

नोटबुक नौकरियों की सूची

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

अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

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

अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

जब फ़ाइलें डाउनलोड हो जाती हैं, तो आप कोड आउटपुट और आउटपुट लॉग के साथ नोटबुक की समीक्षा कर सकते हैं। हमारे मामले में, क्योंकि हमने प्रशिक्षण कक्ष के समय-समय पर कोड जोड़ा था, हम देख सकते हैं कि प्रशिक्षण कार्य में कितना समय लगा- 16 मिनट और 21 सेकंड, जो कि स्टूडियो लैब के अंदर चलने की तुलना में बहुत तेज़ है (1 घंटा , 38 मिनट, 55 सेकंड)। वास्तव में, संपूर्ण नोटबुक 1,231 डॉलर (यूएसडी) से कम की लागत पर 20 सेकंड (सिर्फ 1.30 मिनट से अधिक) में चली।

अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.

डब्ल्यू अब युगों की संख्या बढ़ा सकता है और मॉडल के नुकसान मूल्य में सुधार करने के लिए हाइपरपरमेटर्स को समायोजित कर सकता है, और एक और नोटबुक जॉब सबमिट कर सकता है।

निष्कर्ष

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

अपने स्टूडियो लैब वातावरण में AWS क्रेडेंशियल्स जोड़कर, हम न केवल नोटबुक जॉब्स तक पहुँच सकते हैं, बल्कि हम अपने स्टूडियो लैब नोटबुक्स के भीतर से AWS खाते से अन्य संसाधनों तक भी पहुँच सकते हैं। पायथन के लिए AWS SDK पर एक नज़र डालें।

स्टूडियो लैब की यह अतिरिक्त क्षमता आपके द्वारा प्राप्त की जा सकने वाली परियोजनाओं के प्रकारों और आकारों की सीमाओं को बढ़ा देती है। हमें बताएं कि आपने इस नई क्षमता से क्या बनाया है!


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

अमेज़ॅन सेजमेकर स्टूडियो लैब प्लेटोब्लॉकचेन डेटा इंटेलिजेंस में बैच जॉब के रूप में नोटबुक चलाएं। लंबवत खोज. ऐ.माइक चेम्बर्स AWS में AI और ML के लिए डेवलपर एडवोकेट हैं। उन्होंने पिछले 7 साल बिल्डरों को क्लाउड, सुरक्षा और एमएल सीखने में मदद करने में बिताए हैं। मूल रूप से यूके के रहने वाले माइक चाय पीने के शौक़ीन और लेगो बिल्डर हैं।

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

समय टिकट:

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

एडब्ल्यूएस सीडीके और एडब्ल्यूएस सर्विस कैटलॉग का उपयोग करके अमेज़ॅन सेजमेकर कैनवास के साथ एमएल वातावरण का प्रावधान और प्रबंधन करें

स्रोत नोड: 1698155
समय टिकट: सितम्बर 27, 2022