Accelerator के साथ Adafactor
आपने कम मेमोरी आवश्यकता के साथ अपनी भाषा अनुवाद मॉडल को ट्रेन करने के लिए Trainer के साथ Adafactor का एक प्रूफ-ऑफ-कॉन्सेप्ट दिखाया है। अब आप Accelerator का उपयोग करके अपना कस्टम ट्रेनिंग लूप बनाना चाहते हैं। Adafactor के साथ ट्रेनिंग लूप तैयार कीजिए!
compute_optimizer_size() फंक्शन पहले से परिभाषित है। कुछ ट्रेनिंग ऑब्जेक्ट्स पहले से लोड हैं: model, train_dataloader, और accelerator। Adafactor को torch.optim से पहले से इम्पोर्ट किया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण
अभ्यास निर्देश
optimizerको डिफाइन करते समय मॉडल के पैरामीटर्सAdafactorमें पास करें.- साइज प्रिंट करने के लिए optimizer की state पास करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Pass the model parameters to Adafactor
optimizer = Adafactor(params=____.____())
model, optimizer, train_dataloader = accelerator.prepare(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
optimizer.step()
optimizer.zero_grad()
# Pass in the optimizer state
total_size_megabytes, total_num_elements = compute_optimizer_size(optimizer.state.____())
print(f"Number of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")