From 3e3f463fd997c3880c9416fc251b340c1bfa13a6 Mon Sep 17 00:00:00 2001 From: Kay Date: Sat, 26 Oct 2024 21:02:24 -0700 Subject: [PATCH 1/5] [i18n-HI] Translated accelerate page to Hindi --- docs/source/hi/_toctree.yml | 4 +- docs/source/hi/accelerate.md | 132 +++++++++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 docs/source/hi/accelerate.md diff --git a/docs/source/hi/_toctree.yml b/docs/source/hi/_toctree.yml index 546a8663cc4d..f48003d67323 100644 --- a/docs/source/hi/_toctree.yml +++ b/docs/source/hi/_toctree.yml @@ -1,3 +1,5 @@ - sections: - local: pipeline_tutorial - title: पाइपलाइनों के साथ अनुमान चलाएँ \ No newline at end of file + title: पाइपलाइनों के साथ अनुमान चलाएँ + - local: accelerate + title: 🤗 Accelerate के साथ वितरित प्रशिक्षण सेट करें \ No newline at end of file diff --git a/docs/source/hi/accelerate.md b/docs/source/hi/accelerate.md new file mode 100644 index 000000000000..c90b7bbf96c2 --- /dev/null +++ b/docs/source/hi/accelerate.md @@ -0,0 +1,132 @@ + + +# वितरित प्रशिक्षण के साथ 🤗 एक्सेलेरेट + +जैसे-जैसे मॉडल बड़े होते हैं, समानांतरता सीमित हार्डवेयर पर बड़े मॉडल को प्रशिक्षित करने और प्रशिक्षण की गति को कई आदेशों के आकार में तेज करने के लिए एक रणनीति के रूप में उभरी है। हगिंग फेस में, हमने उपयोगकर्ताओं को किसी भी प्रकार के वितरित सेटअप पर 🤗 ट्रांसफार्मर्स मॉडल को आसानी से प्रशिक्षित करने में मदद करने के लिए [🤗 एक्सेलेरेट](https://huggingface.co/docs/accelerate) पुस्तकालय बनाया है, चाहे वह एक मशीन पर कई GPU हों या कई मशीनों में कई GPU। इस ट्यूटोरियल में, जानें कि अपने मूल PyTorch प्रशिक्षण लूप को कैसे अनुकूलित किया जाए ताकि वितरित वातावरण में प्रशिक्षण सक्षम हो सके। + +## सेटअप + +🤗 एक्सेलेरेट स्थापित करके शुरू करें: + +```bash +pip install accelerate +``` + +फिर एक [`~accelerate.Accelerator`] ऑब्जेक्ट आयात करें और बनाएं। [`~accelerate.Accelerator`] स्वचालित रूप से आपके वितरित सेटअप के प्रकार का पता लगाएगा और प्रशिक्षण के लिए सभी आवश्यक घटकों को प्रारंभ करेगा। आपको अपने मॉडल को किसी डिवाइस पर स्पष्ट रूप से रखने की आवश्यकता नहीं है। + +```py +>>> from accelerate import Accelerator + +>>> accelerator = Accelerator() +``` + +## तेजी लाने की तैयारी + +अगला कदम सभी प्रासंगिक प्रशिक्षण वस्तुओं को [`~accelerate.Accelerator.prepare`] विधि में पास करना है। इसमें आपके प्रशिक्षण और मूल्यांकन DataLoaders, एक मॉडल और एक ऑप्टिमाइज़र शामिल हैं: + +```py +>>> train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare( +... train_dataloader, eval_dataloader, model, optimizer +... ) +``` + +## बैकवर्ड + +अंतिम जोड़ यह है कि आपके प्रशिक्षण लूप में सामान्य `loss.backward()` को 🤗 एक्सेलेरेट के [`~accelerate.Accelerator.backward`] विधि से बदलें: + +```py +>>> for epoch in range(num_epochs): +... for batch in train_dataloader: +... outputs = model(**batch) +... loss = outputs.loss +... accelerator.backward(loss) + +... optimizer.step() +... lr_scheduler.step() +... optimizer.zero_grad() +... progress_bar.update(1) +``` + +जैसा कि आप निम्नलिखित कोड में देख सकते हैं, आपको वितरित प्रशिक्षण सक्षम करने के लिए अपने प्रशिक्षण लूप में केवल चार अतिरिक्त कोड की पंक्तियाँ जोड़ने की आवश्यकता है! + +```diff ++ from accelerate import Accelerator + from transformers import AdamW, AutoModelForSequenceClassification, get_scheduler + ++ accelerator = Accelerator() + + model = AutoModelForSequenceClassification.from_pretrained(checkpoint, num_labels=2) + optimizer = AdamW(model.parameters(), lr=3e-5) + +- device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") +- model.to(device) + ++ train_dataloader, eval_dataloader, model, optimizer = accelerator.prepare( ++ train_dataloader, eval_dataloader, model, optimizer ++ ) + + num_epochs = 3 + num_training_steps = num_epochs * len(train_dataloader) + lr_scheduler = get_scheduler( + "linear", + optimizer=optimizer, + num_warmup_steps=0, + num_training_steps=num_training_steps + ) + + progress_bar = tqdm(range(num_training_steps)) + + model.train() + for epoch in range(num_epochs): + for batch in train_dataloader: +- batch = {k: v.to(device) for k, v in batch.items()} + outputs = model(**batch) + loss = outputs.loss +- loss.backward() ++ accelerator.backward(loss) + + optimizer.step() + lr_scheduler.step() + optimizer.zero_grad() + progress_bar.update(1) +``` + +## प्रशिक्षण + +एक बार जब आपने प्रासंगिक कोड की पंक्तियाँ जोड़ दी हैं, तो अपने प्रशिक्षण को स्क्रिप्ट या कोलैबोरेटरी जैसे नोटबुक में लॉन्च करें। + +### स्क्रिप्ट के साथ प्रशिक्षण + +यदि आप स्क्रिप्ट से अपना प्रशिक्षण चला रहे हैं, तो एक कॉन्फ़िगरेशन फ़ाइल बनाने और सहेजने के लिए निम्नलिखित कमांड चलाएँ: + +```bash +accelerate config +``` + +फिर अपने प्रशिक्षण को इस तरह लॉन्च करें: + +```bash +accelerate launch train.py +``` + +### नोटबुक के साथ प्रशिक्षण + +🤗 एक्सेलेरेट एक नोटबुक में भी चल सकता है यदि आप कोलैबोरेटरी के TPU का उपयोग करने की योजना बना रहे हैं। प्रशिक्षण के लिए जिम्मेदार सभी कोड को एक फ़ंक्शन में लपेटें, और इसे [`~accelerate.notebook_launcher`] में पास करें: + +```py +>>> from accelerate import notebook_launcher + +>>> notebook_launcher(training_function) +``` + +🤗 एक्सेलेरेट और इसकी समृद्ध सुविधाओं के बारे में अधिक जानकारी के लिए, [दस्तावेज़ीकरण](https://huggingface.co/docs/accelerate) देखें। From 25b7a8f0f738f1cc57388811d2251897fd9b75c6 Mon Sep 17 00:00:00 2001 From: Karthik Vallamsetla <62076693+karthik-script@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:25:57 -0700 Subject: [PATCH 2/5] Update docs/source/hi/accelerate.md Co-authored-by: K.B.Dharun Krishna --- docs/source/hi/accelerate.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/source/hi/accelerate.md b/docs/source/hi/accelerate.md index c90b7bbf96c2..7b4401872db8 100644 --- a/docs/source/hi/accelerate.md +++ b/docs/source/hi/accelerate.md @@ -1,12 +1,16 @@ - From bd47e8e3b4c9b8262458ccb382c2765ee0822d3b Mon Sep 17 00:00:00 2001 From: Karthik Vallamsetla <62076693+karthik-script@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:26:05 -0700 Subject: [PATCH 3/5] Update docs/source/hi/accelerate.md Co-authored-by: K.B.Dharun Krishna --- docs/source/hi/accelerate.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/hi/accelerate.md b/docs/source/hi/accelerate.md index 7b4401872db8..9e6e5d3f484e 100644 --- a/docs/source/hi/accelerate.md +++ b/docs/source/hi/accelerate.md @@ -14,13 +14,13 @@ rendered properly in your Markdown viewer. --> -# वितरित प्रशिक्षण के साथ 🤗 एक्सेलेरेट +# वितरित प्रशिक्षण के साथ 🤗 Accelerate -जैसे-जैसे मॉडल बड़े होते हैं, समानांतरता सीमित हार्डवेयर पर बड़े मॉडल को प्रशिक्षित करने और प्रशिक्षण की गति को कई आदेशों के आकार में तेज करने के लिए एक रणनीति के रूप में उभरी है। हगिंग फेस में, हमने उपयोगकर्ताओं को किसी भी प्रकार के वितरित सेटअप पर 🤗 ट्रांसफार्मर्स मॉडल को आसानी से प्रशिक्षित करने में मदद करने के लिए [🤗 एक्सेलेरेट](https://huggingface.co/docs/accelerate) पुस्तकालय बनाया है, चाहे वह एक मशीन पर कई GPU हों या कई मशीनों में कई GPU। इस ट्यूटोरियल में, जानें कि अपने मूल PyTorch प्रशिक्षण लूप को कैसे अनुकूलित किया जाए ताकि वितरित वातावरण में प्रशिक्षण सक्षम हो सके। +जैसे-जैसे मॉडल बड़े होते हैं, समानांतरता सीमित हार्डवेयर पर बड़े मॉडल को प्रशिक्षित करने और प्रशिक्षण की गति को कई आदेशों के आकार में तेज करने के लिए एक रणनीति के रूप में उभरी है। हगिंग फेस में, हमने उपयोगकर्ताओं को किसी भी प्रकार के वितरित सेटअप पर 🤗 ट्रांसफार्मर्स मॉडल को आसानी से प्रशिक्षित करने में मदद करने के लिए [🤗 Accelerate](https://huggingface.co/docs/accelerate) पुस्तकालय बनाया है, चाहे वह एक मशीन पर कई GPU हों या कई मशीनों में कई GPU। इस ट्यूटोरियल में, जानें कि अपने मूल PyTorch प्रशिक्षण लूप को कैसे अनुकूलित किया जाए ताकि वितरित वातावरण में प्रशिक्षण सक्षम हो सके। ## सेटअप -🤗 एक्सेलेरेट स्थापित करके शुरू करें: +🤗 Accelerate स्थापित करके शुरू करें: ```bash pip install accelerate From 4e187081bc3249b99f7af772bed4a0d45865a610 Mon Sep 17 00:00:00 2001 From: Karthik Vallamsetla <62076693+karthik-script@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:26:11 -0700 Subject: [PATCH 4/5] Update docs/source/hi/accelerate.md Co-authored-by: K.B.Dharun Krishna --- docs/source/hi/accelerate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/hi/accelerate.md b/docs/source/hi/accelerate.md index 9e6e5d3f484e..973008d3ad0f 100644 --- a/docs/source/hi/accelerate.md +++ b/docs/source/hi/accelerate.md @@ -46,7 +46,7 @@ pip install accelerate ## बैकवर्ड -अंतिम जोड़ यह है कि आपके प्रशिक्षण लूप में सामान्य `loss.backward()` को 🤗 एक्सेलेरेट के [`~accelerate.Accelerator.backward`] विधि से बदलें: +अंतिम जोड़ यह है कि आपके प्रशिक्षण लूप में सामान्य `loss.backward()` को 🤗 Accelerate के [`~accelerate.Accelerator.backward`] विधि से बदलें: ```py >>> for epoch in range(num_epochs): From 2d75bfc63492cf469c01f6ae1a3964e01b38e3aa Mon Sep 17 00:00:00 2001 From: Karthik Vallamsetla <62076693+karthik-script@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:26:18 -0700 Subject: [PATCH 5/5] Update docs/source/hi/accelerate.md Co-authored-by: K.B.Dharun Krishna --- docs/source/hi/accelerate.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/hi/accelerate.md b/docs/source/hi/accelerate.md index 973008d3ad0f..3d568217a129 100644 --- a/docs/source/hi/accelerate.md +++ b/docs/source/hi/accelerate.md @@ -125,7 +125,7 @@ accelerate launch train.py ### नोटबुक के साथ प्रशिक्षण -🤗 एक्सेलेरेट एक नोटबुक में भी चल सकता है यदि आप कोलैबोरेटरी के TPU का उपयोग करने की योजना बना रहे हैं। प्रशिक्षण के लिए जिम्मेदार सभी कोड को एक फ़ंक्शन में लपेटें, और इसे [`~accelerate.notebook_launcher`] में पास करें: +🤗 Accelerate एक नोटबुक में भी चल सकता है यदि आप Colaboratory के TPU का उपयोग करने की योजना बना रहे हैं। प्रशिक्षण के लिए जिम्मेदार सभी कोड को एक फ़ंक्शन में लपेटें, और इसे [`~accelerate.notebook_launcher`] में पास करें: ```py >>> from accelerate import notebook_launcher @@ -133,4 +133,4 @@ accelerate launch train.py >>> notebook_launcher(training_function) ``` -🤗 एक्सेलेरेट और इसकी समृद्ध सुविधाओं के बारे में अधिक जानकारी के लिए, [दस्तावेज़ीकरण](https://huggingface.co/docs/accelerate) देखें। +🤗 Accelerate और इसकी समृद्ध सुविधाओं के बारे में अधिक जानकारी के लिए, [दस्तावेज़ीकरण](https://huggingface.co/docs/accelerate) देखें।