ट्यूटोरियल

GPUs का प्रबंधन किए बिना Amazon SageMaker प्रशिक्षण सत्र APIs के साथ अपने स्वयं के प्रशिक्षण लूप का निर्माण करें

SageMaker प्रशिक्षण सत्र APIs डेवलपर्स को कस्टम ट्रेनिंग लूप लिखने देता है जबकि AWS GPUs , चेकपॉइंट्स, सैंपलिंग और token बिलिंग का प्रबंधन करता है।

GPUs का प्रबंधन किए बिना Amazon SageMaker प्रशिक्षण सत्र APIs के साथ अपने स्वयं के प्रशिक्षण लूप का निर्माण करें

मुख्य जानकारी

  • Amazon SageMaker प्रशिक्षण सत्र एपीआई डेवलपर्स को कस्टम पायथन ट्रेनिंग लूप लिखने की अनुमति देते हैं जबकि SageMaker GPU बुनियादी ढांचे का प्रबंधन करता है, अमूर्तता को एल्गोरिथ्म कॉन्फ़िगरेशन से कंप्यूटिंग ऑर्केस्ट्रेशन में स्थानांतरित कर देता है।
  • एपीआई पोस्ट-ट्रेनिंग, संरेखण, आरएल और उन्नत एसएफटी कार्यभार को लक्षित करते हैं जहां उपयोगकर्ताओं को कस्टम हानि, इनाम, रोलआउट तर्क या प्रबंधित ठीक ट्यूनिंग से परे बहु-चरण पाइपलाइन की आवश्यकता होती है।
  • एसडीके तीन क्लाइंट के आसपास संगठित किया गया हैः सत्र सेटअप के लिए ∀ServiceClient`, प्रशिक्षण/चेकपॉइंट ऑपरेशनों के लिए प्रशिक्षण-ग्राहक, और उत्पादन और लॉगप्रोब स्कोरिंग के लिए नमूनाकरण ग्राहक।
  • आरएल लूप में, उपयोगकर्ता डेटा के मालिक होते हैं, प्रवाह को नियंत्रित करते हैं और स्थानीय रूप से गणना को पुरस्कृत करते हैं, जबकि सैजमेकर जीपीयू-भारी चरणों जैसे कि नमूनाकरण, ग्रेडिएंट अपडेट और वजन चेकपॉइंटिंग को संभालता है।
  • बिलिंग प्रति टोकन संसाधित किया जाता है, न कि प्रति घंटा GPU उपयोग, निष्क्रिय-जीपीयू लागत को कम करना और वास्तविक डेटासेट और पीढ़ी की मात्रा के साथ खर्च स्केल बनाना।

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

Build your own training loop with Amazon SageMaker training session APIs without managing GPUs

मूल विचार एक निचली अमूर्त सीमा है। जहां पूरी तरह से प्रबंधित अनुकूलन एल्गोरिथ्म को हटा देता है, नए एपीआई कंप्यूटिंग को abstract कर देते हैं। ऑपरेशन जैसे `forward_backward (((), ∀optim_step ((()), और ≠sample ((()) SageMaker API कॉल बन जाते हैं जो डेवलपर्स अपनी तकनीक की आवश्यकता के अनुसार किसी भी प्रक्रिया में रचना करते हैं, चाहे वह एसएफटी हो, वरीयता ऑप्टिमाइज़ेशन, आरएल या कुछ नया प्रकाशित किया गया हो। कॉल्स लाइव, स्टेटफुल सत्र को लक्षित करते हैं ताकि मॉडल चरणों में जीपीयू पर लोड रहे और जितनी जरूरत हो उतनी कॉल के साथ चलाया जा सके।

यह किसके लिए है

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

तीन ग्राहक

प्रोग्रामिंग मॉडल को क्रमबद्ध रूप से बनाए गए SageMaker Python SDK में तीन क्लाइंट के आसपास व्यवस्थित किया गया है। एक ∀ServiceClient` प्लेटफ़ॉर्म-स्तरीय सेटिंग्स रखता है ` निष्पादन भूमिका, मॉडल पैकेज समूह,Amazon S3 आउटपुट स्थान और वैकल्पिक रूप से AWS KMS कुंजी और वीपीसी कॉन्फ़िगरेशन, जिसे प्रति सत्र ओवरराइड भी किया जा सकता है और एक सत्र शुरू करता है। यह प्रशिक्षण और चेकपॉइंटिंग ऑपरेशन जैसे कि ∀forward□, ≠forward_back□ , ∂optim_step□ के लिए △TrainingClients का उदाहरण देता है, जो बदले में रॉलआउट और मूल्यांकन के दौरान पीढ़ी और स्कोरिंग के लिए उपयोग किए जाने वाले ▽sample□ और compute_problogs के लिए एक △SamplingCliens instantiates । एक सक्रिय सत्र एक ओपनएआई संगतता समाप्त करने वाली चैट की भी सेवा करता है, इसलिए OpenAI मौजूदा ग्राहक से कोड नमूना कर सकता है।

एक आरएल चरण कैसे चलता है

एक सुदृढीकरण सीखने के लूप में, प्रत्येक चरण वर्तमान मॉडल से संकेतों और नमूनों का एक बैच लोड करता है। GPU उपयोगकर्ता की मशीन पर पायथन कोड फिर उन आउटपुट को स्कोर करता है एक सत्यापनकर्ता, एक इनाम-मॉडल कॉल, एक परीक्षण हार्नेस, कुछ भी कोड में व्यक्त किया जा सकता है। `forward_backwards̅ और ∀optim_step̅ अंकों को ग्रेडिएंट अपडेट में बदल देते हैं GPU, और ゙save_weights_and_get_sampling_client() ̅ सैम्पलर को ताज़ा करते हैं ताकि अगला कदम अद्यतन मॉडल से खींचा जाए। उपयोगकर्ता डेटा, लूप नियंत्रण और पुरस्कार का मालिक होता है; SageMaker AI जीपीयू-बाउंड सैंपलिंग, ग्रेडियेंट और चेकपॉइंट ऑपरेशन चलाता है। एसएफटी के लिए, नमूना लेने और पुरस्कृत करने वाले चरणों को छोड़ दिया जाता है और उदाहरणों पर लेबल किए गए क्रॉस-रोपी हानि के साथ आगे बढ़ते हुए कहा जाता है।

Build your own training loop with Amazon SageMaker training session APIs without managing GPUs

बिलिंग और लागत प्रोफाइल

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

जहां यह विकल्पों के बीच बैठता है SageMaker AI

नए एपीआई मॉडल अनुकूलन लाइनअप में एक अलग बिंदु पर कब्जा करते हैं। पूरी तरह से प्रबंधित Serverless Model Customization प्रशिक्षण एल्गोरिथ्म पर कम नियंत्रण प्रदान करता हैः उपयोगकर्ता एक मॉडल चुनते हैं, उपलब्ध हाइपरपैरामीटर कॉन्फ़िगर करते हैं, और कोई उदाहरण चयन के साथ डेटा की आपूर्ति करते हैं. ट्रेनिंग सत्र एपीआइ सर्वरलेस मॉडल को बनाए रखते हैं लेकिन उच्च स्तर तक नियंत्रण बढ़ाते हैं, क्योंकि उपयोगकर्ता लूप लिखता है और आदिमियों को कॉल करता है। SageMaker Training Jobs तथा SageMaker HyperPod दोनों पूर्ण नियंत्रण देते हैं, लेकिन क्रमशः प्रबंधित, क्षणिक नौकरियों या ऑपरेटिंग मैनेज्ड, उन्नत दोष वसूली के साथ लगातार समूहों के लिए उदाहरण प्रकार का चयन करने की आवश्यकता होती है। संक्षेप में, नया विकल्प प्रबंधित व्यंजनों और पूर्ण बुनियादी ढांचे के स्वामित्व के बीच बैठता है।

GSM8K पर न्यूनतम GRPO लूप

घोषणा एक न्यूनतम आरएल लूप के माध्यम से चलता है ताकि यह दिखाया जा सके कि ऑपरेशन एक साथ कैसे फिट होते हैं। कार्य GSM8K है, जो लगभग 8,500 ग्रेड-स्कूल गणित शब्द समस्याओं का एक बेंचमार्क है, प्रत्येक एकल संख्यात्मक उत्तर उदाहरण के लिए, "नतालिया ने अप्रैल में अपने 48 दोस्तों को क्लिप बेची, और फिर उसने मई में आधे से अधिक क्लिप्स बेचे। नतालिया अप्रैल और मई में कुल कितने क्लीप बेचती थी?" जवाब 72 के साथ। उदाहरण ओपनएआई के जीपीटी-ओएसएस 20B के लिए लोरा एडाप्टर को प्रशिक्षित करता है Group Relative Policy Optimization (जीआरपीओ): प्रत्येक प्रश्न के लिए मॉडल कई प्रतिक्रियाएं उत्पन्न करता है, हर प्रतिक्रिया को सटीकता के लिए स्कोर किया जाता है, और समूह की औसत से बेहतर प्रतिक्रियाओं को सुदृढ़ कर दिया जाता है। पूरा, चलाने योग्य उदाहरण Amazon SageMaker उदाहरण भंडार में है।

एक सत्र को खोलने के लिए कुछ पंक्तियाँ लगती हैं। ∀ServiceClient̅ भूमिका और क्षेत्र के साथ बनाया जाता है, फिर `create_lora_training_client̅ बेस मॉडल नाम से बुलाया जाता है ≠list_base_models() ∞, एक सत्र का नाम, LoRA रैंक 32 और अल्फा 64, एक मॉडल पैकेज समूह ARN, और एक S3 आउटपुट पथ। प्रशिक्षण क्लाइंट एक टोकनाइज़र की आपूर्ति करता है, और △create _sampling_ client∂ नमूना उत्पन्न करता है।

Build your own training loop with Amazon SageMaker training session APIs without managing GPUs

कार्य-विशिष्ट तर्क दो लघु फ़ंक्शंस हैं जो स्थानीय रूप से चलाए जाते हैं। ∀compute_reward` प्रतिक्रिया में "###" के बाद की संख्या को पार्स करता है और ग्राउंड सत्य के साथ एक मैच के लिए 1.0 लौटता है, 0.0 अन्यथा.

प्रत्येक प्रशिक्षण चरण चार चरणों का अनुसरण करता है। सबसे पहले, हर प्रश्न के लिए लूप एक प्रॉम्प्ट को एन्कोड करता है और ∀num_samples=K`, ≠max_tokens=512`, _∂temperature=0.7̅, तथा ゙top_p=0.9̅; कॉल तुरंत भविष्य लौटता है ताकि बैच उड़ान में रहे। दूसरा, परिणाम आने पर, प्रत्येक प्रतिक्रिया को स्कोर किया जाता है और पुरस्कार समूह के भीतर केंद्रित होते हैं। तीसरा, △forward_backward̅ और ∆optim_step̅ अद्यतन GPU पर लागू होता है। चौथा, ̋save_weights_and_get_sampling_(client) अगला कदम के लिए सैंपलर को रीफ्रेश कर देता है। डेटा लोडिंग, बिल्डिंग और कंस्ट्रक्शन डेटम नमूना में छोटे स्थानीय सहायक हैं।

एक वास्तविक दुनिया का कार्यभार: प्रतिस्पर्धी प्रोग्रामिंग पर आरएल

यह पोस्ट कुकबुक से एक कार्यभार के साथ बंद होता है जो खिलौना गणित से परे जाता हैः प्रतिस्पर्धी प्रोग्रामिंग समस्याओं पर सुदृढीकरण सीखना, जहां उत्पन्न कोड को यूनिट परीक्षणों के खिलाफ चलाकर ग्रेड किया जाता है। वह सेटअप श्रम के समान विभाजन पर जोर देता है टेस्ट हार्नेस स्थानीय रूप से इनाम के रूप में चलता है, जबकि नमूना और ढाल संचालन प्रबंधित GPUs पर चलते हैं और दर्शाता है कि स्कोरिंग महंगी होने पर प्रति टोकन बिलिंग क्यों मायने रखता है।

क्या देखना है

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

Comments (0)

  1. No comments yet. Be the first to share what worked for you.

Leave a comment

Comments are reviewed before they appear. Your email address is not published.