भाषा मॉडल प्राकृतिक पाठ का उपयोग करते हुए अनुक्रमों में टोकन के उत्तराधिकार की भविष्यवाणी करने वाली सांख्यिकीय विधियाँ हैं। बड़े भाषा मॉडल (एलएलएम) तंत्रिका नेटवर्क-आधारित भाषा मॉडल हैं जिनमें सैकड़ों लाखों (बर्ट) से अधिक ट्रिलियन पैरामीटर (माइक), और जिसका आकार एकल-जीपीयू प्रशिक्षण को अव्यावहारिक बनाता है। एलएलएम की जनरेटिव क्षमताएं उन्हें टेक्स्ट सिंथेसिस, संक्षेपण, मशीनी अनुवाद और बहुत कुछ के लिए लोकप्रिय बनाती हैं।
एलएलएम का आकार और इसका प्रशिक्षण डेटा एक दोधारी तलवार है: यह मॉडलिंग की गुणवत्ता लाता है, लेकिन बुनियादी ढांचे की चुनौतियों पर जोर देता है। एक जीपीयू डिवाइस या मल्टी-जीपीयू इंस्टेंस के कई डिवाइसों की मेमोरी में फिट होने के लिए मॉडल अक्सर बहुत बड़ा होता है। इन कारकों को त्वरित मशीन लर्निंग (एमएल) उदाहरणों के बड़े समूहों पर एलएलएम प्रशिक्षण की आवश्यकता होती है। पिछले कुछ वर्षों में, कई ग्राहक एलएलएम प्रशिक्षण के लिए एडब्ल्यूएस क्लाउड का उपयोग कर रहे हैं।
इस पोस्ट में, हम सफल एलएलएम प्रशिक्षण के लिए युक्तियों और सर्वोत्तम अभ्यासों में गोता लगाते हैं अमेज़ॅन सेजमेकर प्रशिक्षण. सेजमेकर ट्रेनिंग एक प्रबंधित बैच एमएल कंप्यूट सेवा है जो बुनियादी ढांचे के प्रबंधन की आवश्यकता के बिना मॉडल को प्रशिक्षित करने और ट्यून करने के लिए समय और लागत को कम करती है। एक लॉन्च कमांड के भीतर, अमेज़न SageMaker मेटास्टोर, प्रबंधित I/O, और वितरण जैसी उन्नत एमएल सुविधाओं के साथ, आपकी पसंद का कार्य चलाने वाला एक पूरी तरह कार्यात्मक, अस्थायी कंप्यूट क्लस्टर लॉन्च करता है। पोस्ट में एलएलएम प्रशिक्षण वर्कलोड के सभी चरणों को शामिल किया गया है और संबंधित बुनियादी सुविधाओं और सर्वोत्तम प्रथाओं का वर्णन किया गया है। इस पोस्ट में कुछ सर्वोत्तम अभ्यास विशेष रूप से ml.p4d.24xlarge उदाहरणों को संदर्भित करते हैं, लेकिन अधिकांश किसी भी उदाहरण प्रकार पर लागू होते हैं। ये सर्वोत्तम अभ्यास आपको SageMaker पर दर्जनों से करोड़ों मापदंडों के पैमाने पर LLM को प्रशिक्षित करने की अनुमति देते हैं।
इस पद के दायरे के संबंध में, निम्नलिखित पर ध्यान दें:
- हम तंत्रिका नेटवर्क वैज्ञानिक डिजाइन और संबद्ध अनुकूलन को कवर नहीं करते हैं। अमेज़ॅन.विज्ञान इसमें कई वैज्ञानिक प्रकाशन शामिल हैं, जिनमें शामिल हैं और इन तक सीमित नहीं हैं एलएलएम.
- यद्यपि यह पोस्ट एलएलएम पर केंद्रित है, इसकी अधिकांश सर्वोत्तम प्रथाएं किसी भी प्रकार के बड़े-मॉडल प्रशिक्षण के लिए प्रासंगिक हैं, जिसमें कंप्यूटर विज़न और मल्टी-मोडल मॉडल शामिल हैं, जैसे कि स्थिर प्रसार।
सर्वोत्तम प्रथाएं
हम इस पोस्ट में निम्नलिखित सर्वोत्तम प्रथाओं पर चर्चा करते हैं:
- गणना करना - सेजमेकर ट्रेनिंग सीपीयू डेटासेट तैयारी जॉब और हजार-स्केल जीपीयू जॉब लॉन्च करने के लिए एक बेहतरीन एपीआई है।
- भंडारण - हम कौशल और वरीयताओं के आधार पर डेटा लोडिंग और चेकपॉइंटिंग को दो तरीकों से देखते हैं: एक के साथ अमेज़न FSx चमक फाइल सिस्टम, या अमेज़न सरल भंडारण सेवा (अमेज़न S3) केवल।
- समानता - जीपीयू के उचित उपयोग के लिए वितरित प्रशिक्षण पुस्तकालय की आपकी पसंद महत्वपूर्ण है। हम क्लाउड-अनुकूलित लाइब्रेरी का उपयोग करने की सलाह देते हैं, जैसे कि SageMaker शार्डेड डेटा समानता, लेकिन स्व-प्रबंधित और ओपन-सोर्स लाइब्रेरी भी काम कर सकती हैं।
- शुद्ध कार्यशील - तेज अंतर-मशीन संचार के लिए सुनिश्चित करें कि EFA और NVIDIA GPUDirectRDMA सक्षम हैं।
- लचीलाता - बड़े पैमाने पर, हार्डवेयर विफलताएं हो सकती हैं। हम नियमित रूप से चेकपॉइंट करने की सलाह देते हैं। हर कुछ घंटे आम है।
क्षेत्र चयन
उदाहरण प्रकार और वांछित क्षमता क्षेत्र चयन के लिए एक निर्धारक कारक है। SageMaker और द्वारा समर्थित क्षेत्रों के लिए अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (Amazon EC2) उदाहरण प्रकार जो प्रत्येक क्षेत्र में उपलब्ध हैं, देखें अमेज़न SageMaker मूल्य निर्धारण. इस पोस्ट में, हम प्रशिक्षण उदाहरण प्रकार को SageMaker-प्रबंधित ml.p4d.24xlarge मानते हैं।
हम आपकी AWS खाता टीम के साथ काम करने या संपर्क करने की सलाह देते हैं एडब्ल्यूएस बिक्री अपने एलएलएम वर्कलोड के लिए उपयुक्त क्षेत्र का निर्धारण करने के लिए।
डेटा तैयारी
एलएलएम डेवलपर्स अपने मॉडलों को स्वाभाविक रूप से होने वाले पाठ के बड़े डेटासेट पर प्रशिक्षित करते हैं। ऐसे डेटा स्रोतों के लोकप्रिय उदाहरणों में शामिल हैं आम क्रॉल और ढेर. स्वाभाविक रूप से होने वाले पाठ में पक्षपात, अशुद्धि, व्याकरण संबंधी त्रुटियां और वाक्य रचना विविधताएं हो सकती हैं। एलएलएम की अंतिम गुणवत्ता काफी हद तक प्रशिक्षण डेटा के चयन और अवधि पर निर्भर करती है। एलएलएम प्रशिक्षण डेटा तैयारी एलएलएम उद्योग में अनुसंधान और नवाचार का एक सक्रिय क्षेत्र है। एक प्राकृतिक भाषा प्रसंस्करण (एनएलपी) डेटासेट की तैयारी शेयर-कुछ भी समानता के अवसरों से भरपूर है। दूसरे शब्दों में, ऐसे कदम हैं जो काम की इकाइयों पर लागू किए जा सकते हैं - स्रोत फाइलें, पैराग्राफ, वाक्य, शब्द - इंटर-वर्कर सिंक्रोनाइज़ेशन की आवश्यकता के बिना।
सेजमेकर जॉब्स एपीआई, अर्थात् सेजमेकर ट्रेनिंग और सेजमेकर प्रोसेसिंग, इस प्रकार के कार्यों के लिए उत्कृष्ट हैं। वे डेवलपर्स को कई मशीनों के बेड़े पर मनमाने ढंग से डॉकटर कंटेनर चलाने में सक्षम बनाते हैं। सैजमेकर ट्रेनिंग एपीआई के मामले में, कंप्यूटिंग फ्लीट हो सकता है विजातीय. SageMaker पर कई वितरित कंप्यूटिंग ढांचे का उपयोग किया गया है, जिनमें शामिल हैं नकाब, रे, और भी पाइस्पार्क, जिनके पास एक समर्पित है एडब्ल्यूएस-प्रबंधित कंटेनर और एसडीके सेजमेकर प्रसंस्करण में।
जब आप कई मशीनों के साथ नौकरी शुरू करते हैं, तो SageMaker Training and Processing आपके कोड को प्रति मशीन एक बार चलाता है। वितरित एप्लिकेशन लिखने के लिए आपको एक विशेष वितरित कंप्यूटिंग ढांचे का उपयोग करने की आवश्यकता नहीं है: आप अपनी पसंद का कोड लिख सकते हैं, जो प्रति मशीन एक बार चलेगा, साझा-कुछ भी समानांतरता का एहसास करने के लिए। आप अपनी पसंद का इंटर-नोड कम्युनिकेशन लॉजिक भी लिख या इंस्टॉल कर सकते हैं।
डेटा लोड हो रहा है
प्रशिक्षण डेटा को संग्रहीत करने और इसे इसके संग्रहण से त्वरित कंप्यूट नोड्स में स्थानांतरित करने के कई तरीके हैं। इस खंड में, हम डेटा लोड करने के विकल्पों और सर्वोत्तम प्रथाओं पर चर्चा करते हैं।
SageMaker भंडारण और लोडिंग विकल्प
एक विशिष्ट एलएलएम डेटासेट का आकार सैकड़ों लाखों टेक्स्ट टोकन में होता है, जो कुछ सौ गीगाबाइट का प्रतिनिधित्व करता है। SageMaker-प्रबंधित ml.p4d.24xlarge उदाहरणों के समूह डेटासेट भंडारण और लोड करने के लिए कई विकल्प प्रस्तावित करते हैं:
- ऑन-नोड एनवीएमई एसएसडी - ml.P4d.24xlarge उदाहरण 8TB NVMe से लैस हैं, जो नीचे उपलब्ध है
/opt/ml/input/data/<channel>
यदि तुम प्रयोग करते हो सेजमेकर फ़ाइल मोड, और कम से/tmp
. यदि आप स्थानीय रीड की सरलता और प्रदर्शन चाहते हैं, तो आप अपने डेटा को NVMe SSD में कॉपी कर सकते हैं। प्रतिलिपि या तो SageMaker फ़ाइल मोड द्वारा की जा सकती है, या आपके अपने कोड द्वारा, उदाहरण के लिए बहु-संसाधित का उपयोग करके बोटो3 or S5cmd. - चमक के लिए FSx - ऑन-नोड NVMe SSDs आकार में सीमित हैं, और प्रत्येक कार्य या वार्म क्लस्टर निर्माण पर Amazon S3 से अंतर्ग्रहण की आवश्यकता होती है। यदि आप कम-विलंबता रैंडम एक्सेस को बनाए रखते हुए बड़े डेटासेट को स्केल करना चाह रहे हैं, तो आप चमक के लिए FSx का उपयोग कर सकते हैं। Amazon FSx एक ओपन-सोर्स पैरेलल फ़ाइल सिस्टम है, जो उच्च-प्रदर्शन कंप्यूटिंग (HPC) में लोकप्रिय है। चमक उपयोग के लिए FSx वितरित फ़ाइल भंडारण (स्ट्रिपिंग) और भौतिक रूप से फ़ाइल मेटाडेटा को फ़ाइल सामग्री से अलग करता है ताकि उच्च-प्रदर्शन पढ़ने/लिखने को प्राप्त किया जा सके।
- सेजमेकर फास्टफाइल मोड - फास्टफाइल मोड (महिला महिला पुरूष) एक SageMaker-only सुविधा है जो POSIX-अनुपालन इंटरफ़ेस के तहत SageMaker- प्रबंधित कंप्यूट इंस्टेंसेस में दूरस्थ S3 ऑब्जेक्ट प्रस्तुत करती है, और FUSE का उपयोग करके केवल पढ़ने पर उन्हें स्ट्रीम करती है। FFM S3 कॉल में परिणाम पढ़ता है जो ब्लॉक द्वारा ब्लॉक की गई दूरस्थ फ़ाइलों को स्ट्रीम करता है। अमेज़ॅन S3 ट्रैफ़िक से संबंधित त्रुटियों से बचने के लिए एक सर्वोत्तम अभ्यास के रूप में, FFM डेवलपर्स को S3 कॉल की अंतर्निहित संख्या को उचित रखने का लक्ष्य रखना चाहिए, उदाहरण के लिए फ़ाइलों को क्रमिक रूप से और समानांतरता की नियंत्रित मात्रा के साथ पढ़कर।
- स्व-प्रबंधित डेटा लोड हो रहा है – बेशक, आप मालिकाना या ओपन-सोर्स कोड का उपयोग करके अपने स्वयं के, पूरी तरह से कस्टम डेटा लोडिंग लॉजिक को लागू करने का निर्णय भी ले सकते हैं। स्व-प्रबंधित डेटा लोडिंग का उपयोग करने के कुछ कारण पहले से विकसित कोड का पुन: उपयोग करके माइग्रेशन को सुविधाजनक बनाना, कस्टम एरर हैंडलिंग लॉजिक को लागू करना, या अंतर्निहित प्रदर्शन और शार्डिंग पर अधिक नियंत्रण रखना है। स्व-प्रबंधित डेटा लोडिंग के लिए आपके द्वारा उपयोग किए जा सकने वाले पुस्तकालयों के उदाहरणों में शामिल हैं टॉर्चडाटा.डाटापिप्स (पहले AWS PyTorch S3 प्लगइन) और वेबडेटासेट. एडब्ल्यूएस पायथन एसडीके बोटो3 के साथ भी जोड़ा जा सकता है मशाल डेटासेट कस्टम डेटा लोडिंग कोड बनाने के लिए कक्षाएं। कस्टम डेटा लोडिंग कक्षाएं किसी दिए गए कार्यभार के लिए सीपीयू और जीपीयू संतुलन को सूक्ष्म रूप से अनुकूलित करने के लिए, सेजमेकर प्रशिक्षण विषम समूहों के रचनात्मक उपयोग को भी सक्षम बनाती हैं।
उन विकल्पों के बारे में और उन्हें कैसे चुनना है, इसके बारे में अधिक जानकारी के लिए देखें अपने Amazon SageMaker प्रशिक्षण कार्य के लिए सर्वश्रेष्ठ डेटा स्रोत चुनें.
Amazon S3 के साथ बड़े पैमाने पर सहभागिता के लिए सर्वोत्तम अभ्यास
डेटा पढ़ने और चेकपॉइंटिंग दोनों के लिए अमेज़ॅन एस 3 एलएलएम वर्कलोड को संभालने में सक्षम है। यह ए का समर्थन करता है अनुरोध दर 3,500 पुट/कॉपी/पोस्ट/डिलीट या 5,500 जीईटी/हेड अनुरोध प्रति सेकेंड प्रति प्रीफिक्स एक बकेट में। हालाँकि, यह दर आवश्यक रूप से डिफ़ॉल्ट रूप से उपलब्ध नहीं है। इसके बजाय, जैसे ही उपसर्ग के लिए अनुरोध दर बढ़ती है, Amazon S3 स्वचालित रूप से बढ़ी हुई दर को संभालने के लिए मापता है। अधिक जानकारी के लिए, देखें मुझे अमेज़ॅन एस 503 से 3 धीमी गति से त्रुटियां क्यों मिल रही हैं जब अनुरोध प्रति उपसर्ग समर्थित अनुरोध दर के भीतर हैं.
यदि आप उच्च-आवृत्ति Amazon S3 इंटरैक्शन की अपेक्षा करते हैं, तो हम निम्नलिखित सर्वोत्तम प्रथाओं की अनुशंसा करते हैं:
- एकाधिक S3 बाल्टियों से पढ़ने और लिखने का प्रयास करें और उपसर्गों. उदाहरण के लिए, आप विभिन्न उपसर्गों में प्रशिक्षण डेटा और चौकियों को विभाजित कर सकते हैं।
- Amazon S3 मेट्रिक्स की जाँच करें अमेज़ॅन क्लाउडवॉच अनुरोध दरों को ट्रैक करने के लिए।
- एक साथ PUT/GET की मात्रा को कम करने का प्रयास करें:
- एक ही समय में Amazon S3 का उपयोग करने वाली प्रक्रियाएँ कम करें। उदाहरण के लिए, यदि प्रति नोड आठ प्रक्रियाओं को Amazon S3 पर चेकपॉइंट की आवश्यकता होती है, तो आप श्रेणीबद्ध रूप से चेकपॉइंट करके PUT ट्रैफ़िक को 8 के कारक से कम कर सकते हैं: पहले नोड के भीतर, फिर नोड से Amazon S3 तक।
- प्रत्येक प्रशिक्षण रिकॉर्ड के लिए S3 GET का उपयोग करने के बजाय, एक फ़ाइल या S3 GET से कई प्रशिक्षण रिकॉर्ड पढ़ें।
- यदि आप SageMaker FFM के माध्यम से Amazon S3 का उपयोग करते हैं, तो SageMaker FFM फ़ाइलों को खंड द्वारा लाने के लिए S3 कॉल करता है। FFM द्वारा उत्पन्न Amazon S3 ट्रैफ़िक को सीमित करने के लिए, हम आपको फ़ाइलों को क्रमिक रूप से पढ़ने और समानांतर में खोली गई फ़ाइलों की संख्या को सीमित करने के लिए प्रोत्साहित करते हैं।
Se avete un डेवलपर, व्यवसाय या उद्यम समर्थन योजना, आप S3 503 स्लो डाउन त्रुटियों के बारे में तकनीकी सहायता मामला खोल सकते हैं। लेकिन पहले सुनिश्चित करें कि आपने सर्वोत्तम प्रथाओं का पालन किया है, और अनुरोध आईडी प्राप्त करें असफल अनुरोधों के लिए।
प्रशिक्षण समानता
एलएलएम में आमतौर पर दर्जनों से सैकड़ों अरबों पैरामीटर होते हैं, जिससे वे एक एकल एनवीडिया जीपीयू कार्ड के भीतर फिट होने के लिए बहुत बड़े हो जाते हैं। एलएलएम व्यवसायियों ने एलएलएम प्रशिक्षण की वितरित संगणना की सुविधा के लिए कई ओपन-सोर्स लाइब्रेरी विकसित की हैं, जिनमें शामिल हैं एफएसडीपी, गहरा और Megatron. आप उन पुस्तकालयों को SageMaker प्रशिक्षण में चला सकते हैं, लेकिन आप SageMaker वितरित प्रशिक्षण पुस्तकालयों का भी उपयोग कर सकते हैं, जिन्हें AWS क्लाउड के लिए अनुकूलित किया गया है और एक सरल डेवलपर अनुभव प्रदान करता है। सैजमेकर पर अपने एलएलएम के वितरित प्रशिक्षण के लिए डेवलपर्स के पास दो विकल्प हैं: वितरित पुस्तकालय या स्व-प्रबंधित।
सेजमेकर ने पुस्तकालयों को वितरित किया
आपको बेहतर वितरित प्रशिक्षण प्रदर्शन और उपयोगिता प्रदान करने के लिए, SageMaker प्रशिक्षण TensorFlow और PyTorch प्रशिक्षण कोड को बढ़ाने के लिए कई मालिकाना एक्सटेंशन प्रस्तावित करता है। एलएलएम प्रशिक्षण अक्सर 3डी-समानता फैशन में आयोजित किया जाता है:
- डेटा समानता प्रसंस्करण गति बढ़ाने के लिए मॉडल के कई समान प्रतिकृतियों को प्रशिक्षण मिनी-बैचों को विभाजित और फीड करता है
- पाइपलाइन समानता एक जीपीयू और एक सर्वर से परे मॉडल आकार को स्केल करने के लिए मॉडल की विभिन्न परतों को अलग-अलग जीपीयू या यहां तक कि उदाहरणों के लिए एट्रिब्यूट करता है
- टेंसर समानता एकल परत को कई जीपीयू में विभाजित करता है, आमतौर पर एक ही सर्वर के भीतर, अलग-अलग परतों को एक जीपीयू से अधिक आकार में स्केल करने के लिए
निम्नलिखित उदाहरण में, एक 6-लेयर मॉडल को k*3 सर्वर के क्लस्टर पर 8*k*3 GPU (प्रति सर्वर 8 GPU) के साथ प्रशिक्षित किया जाता है। डेटा समानता की डिग्री k, पाइपलाइन समानांतरवाद 6, और टेंसर समानांतरवाद 4 है। क्लस्टर में प्रत्येक GPU में एक चौथाई मॉडल परत होती है, और एक पूर्ण मॉडल को तीन सर्वरों (कुल 24 GPU) में विभाजित किया जाता है।
निम्नलिखित एलएलएम के लिए विशेष रूप से प्रासंगिक हैं:
- सेजमेकर ने मॉडल समानांतर वितरित किया - यह पुस्तकालय गति या स्मृति के लिए अनुकूलित बुद्धिमान मॉडल विभाजन बनाने के लिए ग्राफ विभाजन का उपयोग करता है। SageMaker वितरित मॉडल समानांतर नवीनतम और सबसे बड़े बड़े-मॉडल प्रशिक्षण अनुकूलन को उजागर करता है, जिसमें डेटा समानता, पाइपलाइन समानांतरवाद, टेंसर समानता, अनुकूलक राज्य शार्डिंग, सक्रियण चेकपॉइंटिंग और ऑफ़लोडिंग शामिल हैं। SageMaker द्वारा वितरित मॉडल समानांतर लाइब्रेरी के साथ, हमने 175 NVIDIA A920 GPU पर 100 बिलियन पैरामीटर मॉडल प्रशिक्षण का दस्तावेजीकरण किया। अधिक जानकारी के लिए, देखें अमेज़ॅन सेजमेकर पर मॉडल समानांतर परिवर्धन और हगिंग फेस के साथ 175+ बिलियन पैरामीटर एनएलपी मॉडल को प्रशिक्षित करें.
- SageMaker ने डेटा को समानांतर रूप से शार्ड किया - में एमआईसीएस: पब्लिक क्लाउड पर विशाल मॉडल के प्रशिक्षण के लिए नियर-लीनियर स्केलिंग, झांग एट अल। एक कम-संचार मॉडल समानांतर रणनीति पेश करें जो पूरे क्लस्टर के बजाय केवल एक डेटा समानांतर समूह पर मॉडल का विभाजन करती है। MiCS के साथ, AWS वैज्ञानिक EC176 P56.4de उदाहरणों पर 210-परत 1.06-ट्रिलियन-पैरामीटर मॉडल के प्रशिक्षण के लिए प्रति GPU (सैद्धांतिक शिखर का 2%) 4 टेराफ्लॉप प्राप्त करने में सक्षम थे। MiCS अब SageMaker प्रशिक्षण ग्राहकों के लिए उपलब्ध है SageMaker ने डेटा को समानांतर रूप से शार्ड किया.
SageMaker वितरित प्रशिक्षण पुस्तकालय उच्च प्रदर्शन और एक सरल डेवलपर अनुभव प्रदान करते हैं। विशेष रूप से, डेवलपर्स को कस्टम समांतर प्रक्रिया लॉन्चर लिखने और बनाए रखने की आवश्यकता नहीं होती है या फ्रेमवर्क-विशिष्ट लॉन्च टूल का उपयोग करने की आवश्यकता नहीं होती है, क्योंकि समांतर लॉन्चर जॉब लॉन्च एसडीके में बनाया गया है।
स्व-प्रबंधित
सेजमेकर ट्रेनिंग के साथ, आपको अपनी पसंद के ढांचे और वैज्ञानिक प्रतिमान का उपयोग करने की स्वतंत्रता है। विशेष रूप से, यदि आप स्वयं वितरित प्रशिक्षण का प्रबंधन करना चाहते हैं, तो आपके पास अपना कस्टम कोड लिखने के दो विकल्प हैं:
- AWS डीप लर्निंग कंटेनर (DLC) का उपयोग करें - एडब्ल्यूएस विकसित और रखरखाव करता है DLCsशीर्ष ओपन-सोर्स एमएल फ्रेमवर्क के लिए एडब्ल्यूएस-अनुकूलित डॉकर-आधारित वातावरण प्रदान करना। SageMaker प्रशिक्षण में एक अद्वितीय एकीकरण है जो आपको बाहरी, उपयोगकर्ता-परिभाषित प्रवेश बिंदु के साथ AWS DLCs को खींचने और चलाने की अनुमति देता है। विशेष रूप से LLM प्रशिक्षण के लिए, TensorFlow, PyTorch, Hugging Face और MXNet के लिए AWS DLC विशेष रूप से प्रासंगिक हैं। एक फ्रेमवर्क डीएलसी का उपयोग करने से आप अपनी खुद की डॉकर छवियों को विकसित और प्रबंधित किए बिना फ्रेमवर्क-देशी समानांतरवाद का उपयोग कर सकते हैं, जैसे कि PyTorch वितरित। इसके अतिरिक्त, हमारे डीएलसी में एक सुविधा है एमपीआई एकीकरण, जो आपको समानांतर कोड को आसानी से लॉन्च करने की अनुमति देता है।
- एक कस्टम सेजमेकर-संगत डॉकर छवि लिखें - आप अपनी खुद की (बीईओ) छवि ला सकते हैं (देखें अपने खुद के प्रशिक्षण एल्गोरिदम का प्रयोग करें और अमेज़न SageMaker कस्टम प्रशिक्षण कंटेनर), या तो स्क्रैच से शुरू करना या मौजूदा डीएलसी छवि का विस्तार करना। SageMaker पर LLM प्रशिक्षण के लिए एक कस्टम छवि का उपयोग करते समय, निम्नलिखित को सत्यापित करना विशेष रूप से महत्वपूर्ण है:
- आपकी छवि में उपयुक्त सेटिंग्स के साथ EFA शामिल है (इस पोस्ट में बाद में चर्चा की गई)
- आपकी छवि में एक NVIDIA NCCL संचार लाइब्रेरी है, जो GPUDirectRDMA के साथ सक्षम है
ग्राहक डीपस्पीड सहित कई स्व-प्रबंधित वितरित प्रशिक्षण पुस्तकालयों का उपयोग करने में सक्षम हैं।
संचार
एलएलएम प्रशिक्षण नौकरी की वितरित प्रकृति को देखते हुए, वर्कलोड की व्यवहार्यता, प्रदर्शन और लागत के लिए इंटर-मशीन संचार महत्वपूर्ण है। इस खंड में, हम अंतर-मशीन संचार के लिए मुख्य विशेषताएं प्रस्तुत करते हैं और स्थापना और ट्यूनिंग के लिए युक्तियों के साथ निष्कर्ष निकालते हैं।
लोचदार कपड़ा एडाप्टर
एमएल अनुप्रयोगों में तेजी लाने के लिए, और क्लाउड द्वारा प्रदान किए गए लचीलेपन, मापनीयता और लोच को प्राप्त करके प्रदर्शन में सुधार करने के लिए, आप इसका लाभ उठा सकते हैं लोचदार कपड़ा एडाप्टर (EFA) सेजमेकर के साथ। हमारे अनुभव में, संतोषजनक बहु-नोड एलएलएम प्रशिक्षण प्रदर्शन प्राप्त करने के लिए ईएफए का उपयोग करना एक आवश्यकता है।
EFA डिवाइस एक नेटवर्क इंटरफ़ेस है जो EC2 इंस्टेंसेस से जुड़ा होता है जिसे SageMaker द्वारा प्रशिक्षण कार्यों के दौरान प्रबंधित किया जाता है। EFA उदाहरणों के विशिष्ट परिवारों पर उपलब्ध है, जिसमें P4d शामिल है। EFA नेटवर्क कई सैकड़ों Gbps थ्रूपुट हासिल करने में सक्षम हैं।
EFA से संबद्ध, AWS ने पेश किया है स्केलेबल विश्वसनीय डेटाग्राम (SRD), एक ईथरनेट-आधारित परिवहन से प्रेरित है InfiniBand विश्वसनीय डेटाग्राम, आराम से पैकेट ऑर्डर करने की बाधा के साथ विकसित हुआ। ईएफए और एसआरडी के बारे में अधिक जानकारी के लिए देखें प्रदर्शन की खोज में, नेटवर्क बनाने के एक से अधिक तरीके हैं, वीडियो EFA कैसे काम करता है और हम क्लाउड में infiniband का उपयोग क्यों नहीं करते हैं, और शोध पत्र इलास्टिक और स्केलेबल एचपीसी के लिए क्लाउड-ऑप्टिमाइज्ड ट्रांसपोर्ट प्रोटोकॉल शालेव एट अल से।
आप SageMaker के मौजूदा Docker कंटेनरों, या कस्टम कंटेनरों के संगत उदाहरणों पर EFA एकीकरण जोड़ सकते हैं, जिनका उपयोग SageMaker जॉब्स का उपयोग करके ML मॉडल को प्रशिक्षित करने के लिए किया जा सकता है। अधिक जानकारी के लिए, देखें ईएफए के साथ प्रशिक्षण चलाएं. ईएफए ओपन-सोर्स के माध्यम से सामने आया है लिबफैब्रिक संचार पैकेज। हालांकि, एलएलएम डेवलपर्स शायद ही कभी सीधे इसे लिबफैब्रिक के साथ प्रोग्राम करते हैं, और आमतौर पर इसके बजाय एनवीडिया कलेक्टिव कम्युनिकेशंस लाइब्रेरी (एनसीसीएल) पर भरोसा करते हैं।
एडब्ल्यूएस-ओएफआई-एनसीसीएल प्लगइन
वितरित ML में, EFA का उपयोग अक्सर NVIDIA कलेक्टिव कम्युनिकेशंस लाइब्रेरी (NCCL) के साथ किया जाता है। एनसीसीएल एक एनवीडिया-विकसित ओपन-सोर्स लाइब्रेरी है जो इंटर-जीपीयू संचार एल्गोरिदम को लागू करती है। इंटर-जीपीयू संचार एलएलएम प्रशिक्षण की आधारशिला है जो मापनीयता और प्रदर्शन को उत्प्रेरित करता है। डीएल प्रशिक्षण के लिए यह इतना महत्वपूर्ण है कि एनसीसीएल को अक्सर गहन शिक्षण प्रशिक्षण पुस्तकालयों में एक संचार बैकेंड के रूप में सीधे एकीकृत किया जाता है, ताकि एलएलएम डेवलपर्स इसका उपयोग करें- कभी-कभी बिना ध्यान दिए- अपने पसंदीदा पायथन डीएल विकास ढांचे से। ईएफए पर एनसीसीएल का उपयोग करने के लिए, एलएलएम डेवलपर्स एडब्ल्यूएस-विकसित का उपयोग करते हैं एडब्ल्यूएस ओएफआई एनसीसीएल प्लगइन, जो एनसीसीएल को ईएफए द्वारा उपयोग किए जाने वाले लिबफैब्रिक इंटरफेस को मैप करता है। हम हाल के सुधारों से लाभान्वित होने के लिए AWS OFI NCCL के नवीनतम संस्करण का उपयोग करने की सलाह देते हैं।
यह सत्यापित करने के लिए कि एनसीसीएल ईएफए का उपयोग करता है, आपको पर्यावरण चर सेट करना चाहिए NCCL_DEBUG
सेवा मेरे INFO
, और लॉग इन करें कि एनसीसीएल द्वारा ईएफए लोड किया गया है:
एनसीसीएल और ईएफए कॉन्फ़िगरेशन के बारे में अधिक जानकारी के लिए देखें अपने EFA और NCCL कॉन्फ़िगरेशन का परीक्षण करें. आप एनसीसीएल को कई के साथ अनुकूलित कर सकते हैं पर्यावरण चर. ध्यान दें कि NCCL 2.12 और इसके बाद के संस्करण में प्रभावी, AWS ने EFA नेटवर्क के लिए एक स्वचालित संचार एल्गोरिथम चयन तर्क का योगदान दिया (NCCL_ALGO
सेट नहीं किया जा सकता है)।
ईएफए पर एनवीडिया जीपीयू डायरेक्ट आरडीएमए
P4d उदाहरण प्रकार के साथ, हम शुरू की GPUDirect RDMA (GDR) EFA फैब्रिक पर। यह नेटवर्क इंटरफेस कार्ड (एनआईसी) को सीधे जीपीयू मेमोरी तक पहुंचने में सक्षम बनाता है, एनवीडिया जीपीयू-आधारित ईसी2 उदाहरणों में रिमोट जीपीयू-टू-जीपीयू संचार तेजी से करता है, सीपीयू और उपयोगकर्ता अनुप्रयोगों पर ऑर्केस्ट्रेशन ओवरहेड को कम करता है। जीडीआर का उपयोग एनसीसीएल द्वारा हुड के तहत किया जाता है, जब संभव हो।
GDR उपयोग अंतर-GPU संचार में तब प्रकट होता है जब लॉग स्तर INFO पर सेट होता है, जैसा कि निम्नलिखित कोड में है:
AWS डीप लर्निंग कंटेनर में EFA का उपयोग करना
AWS डीप लर्निंग कंटेनर्स (DLCs) का रखरखाव करता है, जिनमें से कई AWS-प्रबंधित Dockerfiles के साथ आते हैं और EFA, AWS OFI NCCL और NCCL से निर्मित होते हैं। निम्नलिखित GitHub रेपो उदाहरण के साथ प्रस्तुत करते हैं पायटॉर्च और TensorFlow. आपको उन पुस्तकालयों को स्वयं स्थापित करने की आवश्यकता नहीं है।
अपने SageMaker प्रशिक्षण कंटेनर में EFA का उपयोग करना
यदि आप अपना स्वयं का सैजमेकर प्रशिक्षण कंटेनर बनाते हैं और त्वरित इंटर-नोड संचार के लिए EFA पर NCCL का उपयोग करना चाहते हैं, तो आपको EFA, NCCL और AWS OFI NCCL स्थापित करने की आवश्यकता है। अधिक जानकारी के लिए, देखें ईएफए के साथ प्रशिक्षण चलाएं। इसके अतिरिक्त, आपको अपने कंटेनर या अपने प्रवेश बिंदु कोड में निम्नलिखित पर्यावरण चर सेट करना चाहिए:
FI_PROVIDER="efa"
फ़ैब्रिक इंटरफ़ेस प्रदाता निर्दिष्ट करता हैNCCL_PROTO=simple
संचार के लिए एक सरल प्रोटोकॉल का उपयोग करने के लिए एनसीसीएल को निर्देश देता है (वर्तमान में, ईएफए प्रदाता एलएल प्रोटोकॉल का समर्थन नहीं करता है; उन्हें सक्षम करने से डेटा भ्रष्टाचार हो सकता है)FI_EFA_USE_DEVICE_RDMA=1
एक तरफा और दो तरफा ट्रांसफर के लिए डिवाइस की RDMA कार्यक्षमता का उपयोग करता हैNCCL_LAUNCH_MODE="PARALLEL"
NCCL_NET_SHARED_COMMS="0"
वाद्य-स्थान
दर्जनों से सैकड़ों संगणना उदाहरणों के जीवनचक्र और कार्यभार को प्रबंधित करने के लिए ऑर्केस्ट्रेशन सॉफ़्टवेयर की आवश्यकता होती है। इस खंड में, हम एलएलएम ऑर्केस्ट्रेशन के लिए सर्वोत्तम प्रथाओं की पेशकश करते हैं
नौकरी के भीतर ऑर्केस्ट्रेशन
अधिकांश वितरित ढांचे में डेवलपर्स को सर्वर-साइड प्रशिक्षण कोड और क्लाइंट-साइड लॉन्चर कोड दोनों लिखना चाहिए। प्रशिक्षण कोड प्रशिक्षण मशीनों पर चलता है, जबकि क्लाइंट-साइड लॉन्चर कोड क्लाइंट मशीन से वितरित कार्यभार को लॉन्च करता है। आज थोड़ा मानकीकरण है, उदाहरण के लिए:
- PyTorch में, डेवलपर्स मल्टी-मशीन कार्यों का उपयोग करके लॉन्च कर सकते हैं
torchrun
,torchx
,torch.distributed.launch
(ह्रास पथ), याtorch.multiprocessing.spawn
- डीपस्पीड अपने स्वयं के डीपस्पीड सीएलआई लांचर का प्रस्ताव करता है और एमपीआई लॉन्च का भी समर्थन करता है
- एमपीआई एक लोकप्रिय समांतर कंप्यूटिंग ढांचा है जिसका एमएल-अज्ञेयवादी और यथोचित कार्यकाल होने का लाभ है, और इसलिए स्थिर और प्रलेखित है, और वितरित एमएल वर्कलोड में तेजी से देखा जाता है
सेजमेकर ट्रेनिंग क्लस्टर में, प्रशिक्षण कंटेनर को प्रत्येक मशीन पर एक बार लॉन्च किया जाता है। नतीजतन, आपके पास तीन विकल्प हैं:
- देशी लांचर - आप एक विशेष डीएल ढांचे के मूल लांचर के प्रवेश बिंदु के रूप में उपयोग कर सकते हैं, उदाहरण के लिए ए
torchrun
कॉल, जो स्वयं कई स्थानीय प्रक्रियाओं को जन्म देगी और उदाहरणों में संचार स्थापित करेगी। - सेजमेकर एमपीआई एकीकरण - आप SageMaker MPI एकीकरण का उपयोग कर सकते हैं, जो हमारे AWS DLC में उपलब्ध है, या इसके माध्यम से स्व-इंस्टॉल करने योग्य है sagemaker- प्रशिक्षण-टूलकिट, प्रति मशीन अपना प्रवेश बिंदु कोड N बार सीधे चलाने के लिए। यह आपके अपने कोड में मध्यस्थ, फ्रेमवर्क-विशिष्ट लॉन्चर स्क्रिप्ट के उपयोग से बचने का लाभ है।
- सेजमेकर ने पुस्तकालयों को वितरित किया - यदि आप SageMaker वितरित लाइब्रेरी का उपयोग करते हैं, तो आप प्रशिक्षण कोड पर ध्यान केंद्रित कर सकते हैं और लॉन्चर कोड लिखने की आवश्यकता नहीं है! SageMaker वितरित लॉन्चर कोड SageMaker SDK में बनाया गया है।
इंटर-जॉब ऑर्केस्ट्रेशन
एलएलएम परियोजनाओं में अक्सर कई कार्य शामिल होते हैं: पैरामीटर खोज, स्केलिंग प्रयोग, त्रुटियों से पुनर्प्राप्ति, और बहुत कुछ। प्रशिक्षण कार्यों को शुरू करने, रोकने और समानांतर करने के लिए, जॉब ऑर्केस्ट्रेटर का उपयोग करना महत्वपूर्ण है। सेजमेकर ट्रेनिंग एक सर्वर रहित एमएल जॉब ऑर्केस्ट्रेटर है जो अनुरोध पर तुरंत क्षणिक गणना उदाहरणों का प्रावधान करता है। आप केवल आपके उपयोग के लिए भुगतान करते हैं, और जैसे ही आपका कोड समाप्त होता है, क्लस्टर डीकमीशन हो जाते हैं। साथ सेजमेकर ट्रेनिंग वार्म पूल, आपके पास सभी नौकरियों में समान बुनियादी ढांचे का पुन: उपयोग करने के लिए प्रशिक्षण समूहों पर रहने का समय निर्धारित करने का विकल्प है। यह पुनरावृत्ति समय और इंटर-जॉब प्लेसमेंट परिवर्तनशीलता को कम करता है। SageMaker नौकरियों को विभिन्न प्रकार की प्रोग्रामिंग भाषाओं से लॉन्च किया जा सकता है, जिनमें शामिल हैं: अजगर और सीएलआई.
एक सेजमेकर-विशिष्ट पायथन एसडीके है जिसे कहा जाता है सेजमेकर पायथन एसडीके और के माध्यम से कार्यान्वित किया गया sagemaker पायथन पुस्तकालय, लेकिन इसका उपयोग वैकल्पिक है।
बड़े और लंबे प्रशिक्षण समूह के साथ प्रशिक्षण नौकरियों के लिए कोटा बढ़ाना
SageMaker के पास संसाधनों पर डिफ़ॉल्ट कोटा है, जिसे अनजाने में उपयोग और लागत को रोकने के लिए डिज़ाइन किया गया है। लंबे समय तक चलने वाले उच्च-अंत उदाहरणों के एक बड़े समूह का उपयोग करके एलएलएम को प्रशिक्षित करने के लिए, आपको निम्न तालिका में कोटा बढ़ाने की आवश्यकता होगी।
कोटा नाम | डिफ़ॉल्ट मान |
प्रशिक्षण कार्य के लिए सबसे लंबा समय | 432,000 सेकंड |
सभी प्रशिक्षण नौकरियों में उदाहरणों की संख्या | 4 |
प्रशिक्षण कार्य प्रति उदाहरणों की अधिकतम संख्या | 20 |
प्रशिक्षण कार्य उपयोग के लिए ml.p4d.24xबड़ा | 0 |
ml.p4d.24xबड़ा गर्म पूल के उपयोग के प्रशिक्षण के लिए | 0 |
देख एडब्ल्यूएस सेवा कोटा अपने कोटा मूल्यों को कैसे देखें और कोटा बढ़ाने का अनुरोध कैसे करें। ऑन-डिमांड, स्पॉट इंस्टेंस और ट्रेनिंग वार्म पूल कोटा को अलग-अलग ट्रैक और संशोधित किया जाता है।
यदि आप SageMaker Profiler को सक्रिय रखने का निर्णय लेते हैं, तो ध्यान रखें कि प्रत्येक प्रशिक्षण कार्य एक SageMaker प्रसंस्करण कार्य लॉन्च करता है, प्रत्येक एक ml.m5.2xबड़े उदाहरण का उपभोग करता है। पुष्टि करें कि आपका SageMaker प्रसंस्करण कोटा अपेक्षित प्रशिक्षण कार्य संगामिति को समायोजित करने के लिए पर्याप्त उच्च है। उदाहरण के लिए, यदि आप समवर्ती रूप से चलने वाली 50 प्रोफाइलर-सक्षम प्रशिक्षण नौकरियों को लॉन्च करना चाहते हैं, तो आपको कार्य उपयोग की सीमा को संसाधित करने के लिए ml.m5.2xlarge को 50 तक बढ़ाने की आवश्यकता होगी।
इसके अतिरिक्त, लंबे समय तक चलने वाली नौकरी शुरू करने के लिए, आपको स्पष्ट रूप से निर्धारित करने की आवश्यकता होगी क़ीमत लगानेवाला max_run
सेकंड में प्रशिक्षण कार्य के लिए वांछित अधिकतम अवधि के लिए पैरामीटर, प्रशिक्षण कार्य के लिए सबसे लंबे समय तक चलने वाले कोटा मान तक।
निगरानी और लचीलापन
हार्डवेयर विफलता एक उदाहरण के पैमाने पर अत्यंत दुर्लभ है और अधिक से अधिक लगातार हो जाती है क्योंकि एक साथ उपयोग किए जाने वाले उदाहरणों की संख्या बढ़ जाती है। विशिष्ट एलएलएम पैमाने पर—सप्ताहों से लेकर महीनों तक 24/7 उपयोग किए जाने वाले सैकड़ों से हजारों जीपीयू—हार्डवेयर विफलताओं का होना निश्चित है। इसलिए, एलएलएम वर्कलोड को उचित निगरानी और लचीलापन तंत्र लागू करना चाहिए। सबसे पहले, विफलताओं के प्रभाव को सीमित करने और गणना संसाधनों के उपयोग को अनुकूलित करने के लिए एलएलएम बुनियादी ढांचे की बारीकी से निगरानी करना महत्वपूर्ण है। SageMaker प्रशिक्षण इस उद्देश्य के लिए कई विशेषताओं का प्रस्ताव करता है:
- क्लाउडवॉच लॉग्स को लॉग स्वचालित रूप से भेजे जाते हैं। लॉग में आपकी प्रशिक्षण स्क्रिप्ट शामिल है
stdout
औरstderr
. MPI-आधारित वितरित प्रशिक्षण में, सभी MPI कार्यकर्ता अपने लॉग को लीडर प्रक्रिया में भेजते हैं। - सिस्टम संसाधन उपयोग मेट्रिक्स जैसे मेमोरी, सीपीयू उपयोग और जीपीयू उपयोग स्वचालित रूप से क्लाउडवॉच को भेजे जाते हैं।
- आप ऐसा कर सकते हैं कस्टम प्रशिक्षण मेट्रिक्स को परिभाषित करें जो क्लाउडवॉच को भेजा जाएगा। आपके द्वारा सेट किए गए रेगुलर एक्सप्रेशन के आधार पर लॉग से मेट्रिक्स कैप्चर किए जाते हैं। तृतीय-पक्ष प्रयोग पैकेज जैसे एडब्ल्यूएस पार्टनर सेजमेकर प्रशिक्षण के साथ वज़न और पक्षपात की पेशकश का उपयोग किया जा सकता है (उदाहरण के लिए, देखें W&B और SageMaker के साथ CIFAR-10 हाइपरपैरामीटर का अनुकूलन).
- सेजमेकर प्रोफाइलर आपको बुनियादी ढांचे के उपयोग का निरीक्षण करने और अनुकूलन अनुशंसाएं प्राप्त करने की अनुमति देता है।
- अमेज़न EventBridge और AWS लाम्बा आपको कार्य विफलताओं, सफलताओं, S3 फ़ाइल अपलोड, और बहुत कुछ जैसी घटनाओं पर प्रतिक्रिया करते हुए स्वचालित क्लाइंट लॉजिक बनाने की अनुमति देता है।
- सेजमेकर एसएसएच हेल्पर एक समुदाय-अनुरक्षित ओपन-सोर्स लाइब्रेरी है जो आपको SSH के माध्यम से प्रशिक्षण जॉब होस्ट से जुड़ने की अनुमति देती है। विशिष्ट नोड्स पर चलने वाले कोड का निरीक्षण और समस्या निवारण करना मददगार हो सकता है।
निगरानी के अलावा, SageMaker नौकरी के लचीलेपन के लिए उपकरण भी लाता है:
- क्लस्टर स्वास्थ्य जांच - आपकी नौकरी शुरू होने से पहले, SageMaker GPU स्वास्थ्य जांच चलाता है और GPU उदाहरणों पर NCCL संचार की पुष्टि करता है, यदि आवश्यक हो तो किसी भी दोषपूर्ण उदाहरणों की जगह यह सुनिश्चित करने के लिए कि आपकी प्रशिक्षण स्क्रिप्ट उदाहरणों के एक स्वस्थ समूह पर चलना शुरू करती है। वर्तमान में P और G GPU-आधारित उदाहरण प्रकारों के लिए स्वास्थ्य जाँच सक्षम हैं।
- बिल्ट-इन रिट्रीट और क्लस्टर अपडेट - आप SageMaker को स्वचालित रूप से कॉन्फ़िगर कर सकते हैं पुन: प्रयास प्रशिक्षण कार्य जो SageMaker आंतरिक सर्वर त्रुटि (ISE) के साथ विफल हो जाते हैं। किसी कार्य के लिए पुनः प्रयास करने के भाग के रूप में, SageMaker ऐसे किसी भी उदाहरण को प्रतिस्थापित करेगा जिसमें सुधार न की जा सकने वाली GPU त्रुटियों का सामना नए उदाहरणों से होगा, सभी स्वस्थ उदाहरणों को रीबूट करेगा, और कार्य को फिर से प्रारंभ करेगा। इसके परिणामस्वरूप तेजी से पुनरारंभ होता है और कार्यभार पूरा होता है। P और G GPU-आधारित आवृत्ति प्रकारों के लिए क्लस्टर अद्यतन वर्तमान में सक्षम है। आप अपने में जोड़ सकते हैं अनुप्रयोगी पुनर्प्रयास तंत्र अन्य प्रकार की लॉन्च त्रुटियों को संभालने के लिए, जैसे कि आपके खाते के कोटे को पार करना, कार्य सबमिट करने वाले क्लाइंट कोड के आसपास।
- स्वचालित अमेज़न S3 के लिए चौकी - यह आपकी मदद करता है जांच की चौकी अपनी प्रगति और नई नौकरियों पर पिछली स्थिति को पुनः लोड करें।
नोड-स्तरीय प्रतिस्थापन से लाभ उठाने के लिए, आपके कोड में त्रुटि होनी चाहिए। जब कोई नोड विफल हो जाता है, तो गलती करने के बजाय सामूहिक लटक सकता है। इसलिए, त्वरित सुधार के लिए, अपने सामूहिक समय पर ठीक से एक टाइमआउट सेट करें और जब यह पहुंच जाए तो कोड को एक त्रुटि फेंक दें।
कुछ ग्राहक क्लाउडवॉच लॉग और असामान्य पैटर्न जैसे कोई लॉग नहीं लिखे जाने या हैंग, कन्वर्जेन्स स्टॉपिंग, और ऑटो के संकेत के लिए 0% GPU उपयोग के लिए मेट्रिक्स की निगरानी करके जॉब हैंग होने या एप्लिकेशन कन्वर्जेन्स रुकने की स्थिति में निगरानी और कार्रवाई करने के लिए एक मॉनिटरिंग क्लाइंट सेट करते हैं। कार्य को रोकें/पुनः प्रयास करें।
चौकी पर गहरा गोता लगाएँ
RSI सेजमेकर चेकपॉइंट फीचर आपके द्वारा लिखे गए हर चीज की कॉपी करता है /opt/ml/checkpoints
URI में निर्दिष्ट URI के रूप में Amazon S3 पर वापस जाएं checkpoint_s3_uri
एसडीके पैरामीटर। जब कोई काम शुरू या फिर से शुरू होता है, तो उस यूआरआई में लिखी गई हर चीज को सभी मशीनों पर वापस भेज दिया जाता है /opt/ml/checkpoints
. यह सुविधाजनक है यदि आप चाहते हैं कि सभी नोड्स को सभी चौकियों तक पहुंच प्राप्त हो, लेकिन बड़े पैमाने पर - जब आपके पास कई मशीनें या कई ऐतिहासिक चौकियां हों, तो यह अमेज़ॅन S3 पर लंबे डाउनलोड समय और बहुत अधिक ट्रैफ़िक का कारण बन सकता है। इसके अतिरिक्त, टेन्सर और पाइपलाइन समानता में, श्रमिकों को चेकपॉइंट मॉडल के केवल एक अंश की आवश्यकता होती है, सभी की नहीं। यदि आप उन सीमाओं का सामना करते हैं, तो हम निम्नलिखित विकल्पों की अनुशंसा करते हैं:
- चमक के लिए FSx को चेकपॉइंट करना - उच्च-प्रदर्शन यादृच्छिक I/O के लिए धन्यवाद, आप अपनी पसंद की शार्डिंग और फाइल एट्रिब्यूशन स्कीम को परिभाषित कर सकते हैं
- स्व-प्रबंधित Amazon S3 चेकपॉइंटिंग - पायथन फ़ंक्शंस के उदाहरणों के लिए जिनका उपयोग नॉन-ब्लॉकिंग फैशन में चेकपॉइंट्स को बचाने और पढ़ने के लिए किया जा सकता है, देखें सेविंग चेकपॉइंट्स
हम दृढ़ता से सुझाव देते हैं कि अपने मॉडल को हर कुछ घंटों में चेकपॉइंट करें, उदाहरण के लिए 1–3 घंटे, संबंधित ओवरहेड और लागतों के आधार पर।
फ्रंट एंड और उपयोगकर्ता प्रबंधन
विरासत साझा HPC अवसंरचना की तुलना में उपयोगकर्ता प्रबंधन SageMaker की एक प्रमुख उपयोगिता शक्ति है। SageMaker प्रशिक्षण अनुमतियाँ कई लोगों द्वारा नियंत्रित की जाती हैं AWS पहचान और अभिगम प्रबंधन (IAM) सार:
- प्रधानाध्यापकों-उपयोगकर्ताओं और प्रणालियों-को संसाधनों को लॉन्च करने की अनुमति दी जाती है
- प्रशिक्षण कार्यों में स्वयं भूमिकाएँ होती हैं, जो उन्हें स्वयं की अनुमतियाँ प्राप्त करने की अनुमति देती हैं, उदाहरण के लिए डेटा एक्सेस और सेवा आह्वान के संबंध में
इसके अतिरिक्त, 2022 में हमने जोड़ा सेजमेकर रोल मैनेजर व्यक्तित्व-संचालित अनुमतियों के निर्माण की सुविधा के लिए।
निष्कर्ष
सेजमेकर प्रशिक्षण के साथ, आप अपने बड़े-मॉडल प्रशिक्षण कार्यभार पर लागत कम कर सकते हैं और पुनरावृत्ति गति बढ़ा सकते हैं। हमने कई पोस्ट और केस स्टडीज में सफलता की कहानियों का दस्तावेजीकरण किया है, जिनमें शामिल हैं:
यदि आप अपनी लागत कम करते हुए अपने एलएलएम समय-से-बाजार में सुधार करना चाहते हैं, तो सैजमेकर प्रशिक्षण एपीआई पर एक नज़र डालें और हमें बताएं कि आप क्या बनाते हैं!
अमर रगब, रशिका खेरिया, ज़मनाको अवरहमान, अरुण नागराजन, गल ओशरी को उनकी सहायक समीक्षाओं और शिक्षाओं के लिए विशेष धन्यवाद।
लेखक के बारे में
अनास्तासिया ज़ेवेलेका AWS में मशीन लर्निंग और AI विशेषज्ञ समाधान वास्तुकार हैं। वह EMEA में ग्राहकों के साथ काम करती हैं और उन्हें AWS सेवाओं का उपयोग करके बड़े पैमाने पर मशीन लर्निंग सॉल्यूशंस बनाने में मदद करती हैं। उन्होंने प्राकृतिक भाषा प्रसंस्करण (एनएलपी), एमएलओपीएस और लो कोड नो कोड टूल्स सहित विभिन्न डोमेन में परियोजनाओं पर काम किया है।
गिल्ली नचुम एक वरिष्ठ एआई/एमएल विशेषज्ञ समाधान आर्किटेक्ट हैं जो ईएमईए अमेज़ॅन मशीन लर्निंग टीम के हिस्से के रूप में काम करते हैं। गिली गहन शिक्षण मॉडल के प्रशिक्षण की चुनौतियों के बारे में भावुक है, और जैसा कि हम जानते हैं कि मशीन लर्निंग दुनिया को कैसे बदल रहा है। गिली अपने खाली समय में टेबल टेनिस खेलना पसंद करते हैं।
ओलिवियर क्रूचांट फ़्रांस स्थित AWS में प्रिंसिपल मशीन लर्निंग स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट हैं। ओलिवियर AWS ग्राहकों की मदद करता है - छोटे स्टार्टअप से लेकर बड़े उद्यमों तक - प्रोडक्शन-ग्रेड मशीन लर्निंग एप्लिकेशन विकसित और तैनात करता है। अपने खाली समय में, उन्हें शोध पत्र पढ़ना और दोस्तों और परिवार के साथ जंगल की खोज करना अच्छा लगता है।
ब्रूनो पिस्टन मिलान में स्थित एडब्ल्यूएस के लिए एक एआई/एमएल विशेषज्ञ समाधान वास्तुकार है। वह किसी भी आकार के ग्राहकों के साथ उनकी तकनीकी जरूरतों को गहराई से समझने और एआई और मशीन लर्निंग समाधानों को डिजाइन करने में मदद करने के लिए काम करता है जो एडब्ल्यूएस क्लाउड और अमेज़ॅन मशीन लर्निंग स्टैक का सबसे अच्छा उपयोग करते हैं। उनकी विशेषज्ञता का क्षेत्र मशीन लर्निंग एंड टू एंड, मशीन लर्निंग औद्योगीकरण और एमएलओप्स हैं। उन्हें अपने दोस्तों के साथ समय बिताना और नई जगहों की खोज करना, साथ ही नए गंतव्यों की यात्रा करना पसंद है।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/training-large-language-models-on-amazon-sagemaker-best-practices/
- :है
- ][पी
- $यूपी
- 000
- 1
- 100
- 2022
- 7
- 8
- a
- क्षमताओं
- योग्य
- About
- ऊपर
- में तेजी लाने के
- त्वरित
- पहुँच
- समायोजित
- लेखा
- पाना
- प्राप्त करने
- के पार
- अधिनियम
- सक्रियण
- सक्रिय
- अनुकूलन
- जोड़ा
- इसके अलावा
- इसके अतिरिक्त
- अतिरिक्त
- लाभ
- AI
- ऐ / एमएल
- AL
- कलन विधि
- एल्गोरिदम
- सब
- की अनुमति दे
- की अनुमति देता है
- वीरांगना
- अमेज़ॅन EC2
- अमेज़न FSx
- अमेज़ॅन मशीन लर्निंग
- अमेज़न SageMaker
- राशि
- और
- एपीआई
- एपीआई
- उपयुक्त
- आवेदन
- अनुप्रयोगों
- लागू
- उपयुक्त
- हैं
- क्षेत्र
- चारों ओर
- AS
- जुड़े
- At
- विशेषताओं
- स्वत:
- स्वचालित
- स्वतः
- उपलब्ध
- से बचने
- एडब्ल्यूएस
- वापस
- बैकएण्ड
- शेष
- आधारित
- BE
- क्योंकि
- हो जाता है
- से पहले
- जा रहा है
- लाभ
- BEST
- सर्वोत्तम प्रथाओं
- परे
- बड़ा
- बिलियन
- अरबों
- खंड
- लाना
- लाता है
- निर्माण
- बनाया गया
- व्यापार
- by
- कॉल
- बुलाया
- कॉल
- कर सकते हैं
- सक्षम
- क्षमता
- कार्ड
- पत्ते
- ले जाना
- मामला
- प्रकरण अध्ययन
- उत्प्रेरित
- चुनौतियों
- बदलना
- चैनल
- चेक
- जाँचता
- चुनाव
- विकल्प
- चुनें
- कक्षाएं
- ग्राहक
- निकट से
- बादल
- समूह
- कोड
- सामूहिक
- संयुक्त
- कैसे
- सामान्य
- सामान्यतः
- संचार
- संचार
- तुलना
- संगत
- समापन
- गणना
- गणना करना
- कंप्यूटर
- Computer Vision
- कंप्यूटिंग
- निष्कर्ष निकाला है
- संचालित
- विन्यास
- पुष्टि करें
- जुडिये
- इसके फलस्वरूप
- शामिल
- कंटेनर
- कंटेनरों
- शामिल हैं
- सामग्री
- योगदान
- नियंत्रण
- नियंत्रित
- सुविधाजनक
- कन्वर्जेंस
- भ्रष्टाचार
- लागत
- लागत
- सका
- कोर्स
- आवरण
- कवर
- बनाना
- निर्माण
- क्रिएटिव
- महत्वपूर्ण
- महत्वपूर्ण
- क्यूरेशन
- वर्तमान में
- रिवाज
- ग्राहक
- अनुकूलित
- तिथि
- डेटा प्राप्त करना
- डेटा तैयारी
- डेटासेट
- तय
- समर्पित
- गहरा
- ध्यान लगा के पढ़ना या सीखना
- चूक
- डिग्री
- निर्भर करता है
- निर्भर करता है
- तैनात
- डिज़ाइन
- बनाया गया
- वांछित
- स्थलों
- निर्धारित करना
- निर्धारित करने
- विकसित करना
- विकसित
- डेवलपर
- डेवलपर्स
- विकास
- विकसित
- युक्ति
- डिवाइस
- विभिन्न
- प्रसार
- सीधे
- चर्चा करना
- चर्चा की
- वितरित
- वितरित अभिकलन
- वितरित प्रशिक्षण
- वितरण
- डाक में काम करनेवाला मज़दूर
- नहीं करता है
- डोमेन
- dont
- नीचे
- डाउनलोड
- दर्जनों
- दौरान
- से प्रत्येक
- आसानी
- प्रभावी
- भी
- ईएमईए
- सक्षम
- सक्षम
- सक्षम बनाता है
- समर्थकारी
- प्रोत्साहित करना
- समाप्त होता है
- वर्धित
- का आनंद
- पर्याप्त
- सुनिश्चित
- उद्यम
- उद्यम
- प्रविष्टि
- वातावरण
- वातावरण
- उपकरण
- सुसज्जित
- त्रुटि
- त्रुटियाँ
- स्थापित करना
- और भी
- घटनाओं
- अंतिम
- प्रत्येक
- सब कुछ
- विकसित
- उदाहरण
- उदाहरण
- एक्सेल
- मौजूदा
- उम्मीद
- अपेक्षित
- अनुभव
- प्रयोग
- तलाश
- उजागर
- भाव
- का विस्तार
- एक्सटेंशन
- बाहरी
- अत्यंत
- कपड़ा
- चेहरा
- की सुविधा
- अभिनंदन करना
- कारकों
- विफल रहे
- विफल रहता है
- विफलता
- परिवारों
- परिवार
- फैशन
- फास्ट
- और तेज
- दोषपूर्ण
- संभव
- Feature
- विशेषताएं
- कुछ
- खेत
- पट्टिका
- फ़ाइलें
- प्रथम
- फिट
- बेड़ा
- लचीलापन
- फोकस
- केंद्रित
- पीछा किया
- निम्नलिखित
- के लिए
- अंश
- ढांचा
- चौखटे
- फ्रांस
- स्वतंत्रता
- बारंबार
- ताजा
- मित्रों
- से
- पूर्ण
- पूरी तरह से
- कार्यात्मक
- कार्यक्षमता
- कार्यों
- आगे
- GAL
- उत्पन्न
- उत्पादक
- मिल
- मिल रहा
- GitHub
- दी
- GPU
- GPUs
- ग्राफ
- महान
- अधिकतम
- समूह
- उगता है
- संभालना
- हैंडलिंग
- लटकना
- होना
- हार्डवेयर
- है
- होने
- स्वास्थ्य
- स्वस्थ
- सहायक
- मदद
- मदद करता है
- हाई
- उच्च आवृत्ति
- उच्च प्रदर्शन
- ऐतिहासिक
- हुड
- मेजबान
- घंटे
- कैसे
- How To
- तथापि
- एचपीसी
- एचटीएमएल
- http
- HTTPS
- सैकड़ों
- लाखों में सैकड़ों
- i
- समान
- पहचान
- की छवि
- छवियों
- तुरंत
- प्रभाव
- लागू करने के
- कार्यान्वित
- कार्यान्वयन
- महत्वपूर्ण
- में सुधार
- उन्नत
- सुधार
- in
- अन्य में
- शामिल
- सहित
- बढ़ना
- वृद्धि हुई
- बढ़ जाती है
- तेजी
- व्यक्ति
- उद्योग
- पता
- करें-
- इंफ्रास्ट्रक्चर
- नवोन्मेष
- प्रेरित
- स्थापित
- उदाहरण
- बजाय
- एकीकृत
- एकीकरण
- बुद्धिमान
- बातचीत
- इंटरफेस
- मध्यस्थ
- आंतरिक
- परिचय कराना
- शुरू की
- IT
- यात्रा
- आईटी इस
- खुद
- काम
- नौकरियां
- जेपीजी
- रखना
- कुंजी
- बच्चा
- जानना
- भाषा
- भाषाऐं
- बड़ा
- बड़े पैमाने पर
- बड़ा
- ताज़ा
- लांच
- शुभारंभ
- शुरूआत
- परत
- परतों
- नेतृत्व
- नेता
- सीख रहा हूँ
- विरासत
- स्तर
- पुस्तकालयों
- पुस्तकालय
- जीवन चक्र
- पसंद
- संभावित
- सीमा
- सीमाओं
- सीमित
- थोड़ा
- एलएलएम
- लोड हो रहा है
- स्थानीय
- लंबा
- लंबे समय तक
- देखिए
- देख
- निम्न
- मशीन
- यंत्र अधिगम
- मशीनें
- बनाए रखना
- को बनाए रखने के
- का कहना है
- बनाना
- बनाता है
- निर्माण
- प्रबंधन
- कामयाब
- प्रबंध
- बहुत
- मैप्स
- अधिकतम
- याद
- मेटाडाटा
- तरीकों
- मेट्रिक्स
- प्रवास
- मिलान
- लाखों
- ML
- एमएलओपीएस
- मोड
- आदर्श
- मॉडल
- संशोधित
- मॉनिटर
- निगरानी
- अधिक
- अधिकांश
- चाल
- विभिन्न
- यानी
- देशी
- प्राकृतिक
- प्राकृतिक भाषा संसाधन
- प्रकृति
- अनिवार्य रूप से
- आवश्यक
- आवश्यकता
- की जरूरत है
- नेटवर्क
- संजाल आधारित
- नेटवर्क
- तंत्रिका नेटवर्क
- नया
- NLP
- नोड
- नोड्स
- संख्या
- अनेक
- Nvidia
- वस्तुओं
- of
- प्रस्ताव
- की पेशकश
- ओलिवर
- on
- ऑन डिमांड
- ONE
- खुला
- खुला स्रोत
- ओपन-सोर्स कोड
- खोला
- अवसर
- इष्टतमीकरण
- ऑप्टिमाइज़ करें
- अनुकूलित
- विकल्प
- ऑप्शंस
- आर्केस्ट्रा
- आदेश
- अन्य
- अपना
- पैकेज
- संकुल
- काग़ज़
- कागजात
- मिसाल
- समानांतर
- प्राचल
- पैरामीटर
- भाग
- विशेष
- विशेष रूप से
- आवेशपूर्ण
- अतीत
- पथ
- पैटर्न उपयोग करें
- वेतन
- पीडीएफ
- शिखर
- प्रदर्शन
- प्रदर्शन
- अनुमति
- अनुमतियाँ
- शारीरिक रूप से
- पाइपलाइन
- गंतव्य
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- खेल
- बिन्दु
- पूल
- ताल
- लोकप्रिय
- पद
- पोस्ट
- अभ्यास
- प्रथाओं
- की भविष्यवाणी
- वरीयताओं
- वरीय
- वर्तमान
- प्रस्तुत
- को रोकने के
- पहले से
- प्रिंसिपल
- प्रक्रिया
- प्रक्रियाओं
- प्रसंस्करण
- उत्पादन
- कार्यक्रम
- प्रोग्रामिंग
- प्रोग्रामिंग की भाषाएँ
- प्रगति
- परियोजनाओं
- अच्छी तरह
- प्रस्ताव
- का प्रस्ताव
- मालिकाना
- प्रोटोकॉल
- प्रोटोकॉल
- प्रदान करना
- बशर्ते
- प्रदाता
- प्रदान कर
- सार्वजनिक
- प्रकाशनों
- उद्देश्य
- रखना
- अजगर
- pytorch
- गुणवत्ता
- उठाना
- बिना सोचे समझे
- दुर्लभ
- मूल्यांकन करें
- दरें
- पहुँचे
- पढ़ना
- पढ़ना
- महसूस करना
- उचित
- कारण
- प्राप्त करना
- हाल
- की सिफारिश
- सिफारिशें
- रिकॉर्ड
- अभिलेख
- वसूली
- को कम करने
- कम कर देता है
- को कम करने
- के बारे में
- क्षेत्र
- क्षेत्रों
- नियमित
- नियमित तौर पर
- सम्बंधित
- प्रासंगिक
- विश्वसनीय
- दूरस्थ
- की जगह
- का प्रतिनिधित्व
- का अनुरोध
- अनुरोधों
- की आवश्यकता होती है
- आवश्यकता
- की आवश्यकता होती है
- अनुसंधान
- अनुसंधान और नवाचार
- संसाधन
- उपयुक्त संसाधन चुनें
- परिणाम
- समीक्षा
- भूमिका
- भूमिकाओं
- रन
- दौड़ना
- sagemaker
- वही
- सहेजें
- अनुमापकता
- स्केलेबल
- स्केल
- तराजू
- स्केलिंग
- योजना
- वैज्ञानिक
- वैज्ञानिकों
- क्षेत्र
- लिपियों
- एसडीके
- Search
- दूसरा
- सेकंड
- अनुभाग
- मांग
- चयनित
- चयन
- वरिष्ठ
- serverless
- सर्वर
- सेवा
- सेवाएँ
- सेट
- सेटिंग्स
- कई
- तेज कर दिया
- sharding
- साझा
- चाहिए
- काफी
- सरल
- सादगी
- एक साथ
- एक
- आकार
- आकार
- कौशल
- धीमा
- छोटा
- So
- सॉफ्टवेयर
- समाधान ढूंढे
- कुछ
- स्रोत
- सूत्रों का कहना है
- विशेषज्ञ
- विशिष्ट
- विशेष रूप से
- विनिर्दिष्ट
- गति
- खर्च
- विभाजन
- Spot
- स्थिर
- धुआँरा
- प्रारंभ
- शुरुआत में
- शुरू होता है
- स्टार्टअप
- राज्य
- सांख्यिकीय
- कदम
- रुकें
- रोक
- भंडारण
- की दुकान
- कहानियों
- स्ट्रेटेजी
- धारा
- नदियों
- शक्ति
- अलग करना
- दृढ़ता से
- पढ़ाई
- सफलता
- सफलता की कहानियां
- सफल
- ऐसा
- समर्थन
- समर्थित
- समर्थन करता है
- तुल्यकालन
- वाक्यविन्यास
- प्रणाली
- तालिका
- लेना
- कार्य
- कार्य
- टीम
- तकनीकी
- tensorflow
- धन्यवाद
- कि
- RSI
- दुनिया
- लेकिन हाल ही
- उन
- अपने
- सैद्धांतिक
- इसलिये
- इन
- तीसरे दल
- हजारों
- तीन
- यहाँ
- THROUGHPUT
- पहर
- बार
- सुझावों
- सेवा मेरे
- आज
- टोकन
- भी
- साधन
- उपकरण
- ऊपर का
- कुल
- ट्रैक
- यातायात
- रेलगाड़ी
- प्रशिक्षित
- प्रशिक्षण
- अनुवाद करें
- परिवहन
- खरब
- प्रकार
- ठेठ
- के अंतर्गत
- आधारभूत
- समझना
- अद्वितीय
- इकाइयों
- अपडेट
- us
- प्रयोज्य
- प्रयोग
- उपयोग
- उपयोगकर्ता
- आमतौर पर
- मूल्य
- मान
- विविधता
- विभिन्न
- सत्यापित
- संस्करण
- के माध्यम से
- वीडियो
- देखें
- दृष्टि
- गर्म
- मार्ग..
- तरीके
- सप्ताह
- कुंआ
- क्या
- कौन कौन से
- जब
- कौन
- पूरा का पूरा
- मर्जी
- साथ में
- अंदर
- बिना
- शब्द
- काम
- काम किया
- श्रमिकों
- काम कर रहे
- कार्य
- विश्व
- लिखना
- लिखा हुआ
- साल
- आप
- आपका
- स्वयं
- यूट्यूब
- जेफिरनेट