Accelerator के साथ 8-bit Adam
आप अपने मॉडल की मेमोरी ज़रूरतें घटाने के लिए 8-bit Adam के साथ अपनी training loop को कस्टमाइज़ करना चाहते हैं. 8-bit Adam के साथ training के लिए loop तैयार करें.
मान लीजिए कि 8-bit Adam optimizer adam_bnb_optim के रूप में परिभाषित है. अन्य training ऑब्जेक्ट भी परिभाषित हैं: model, train_dataloader, lr_scheduler, और accelerator.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण
अभ्यास निर्देश
- 8-bit Adam optimizer को distributed training के लिए तैयार करें.
- optimizer से मॉडल के पैरामीटर अपडेट करें.
- optimizer से ग्रेडिएंट्स को ज़ीरो करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Prepare the 8-bit Adam optimizer for distributed training
model, adam_bnb_optim, train_dataloader, lr_scheduler = accelerator.prepare(model, ____, train_dataloader, lr_scheduler)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
adam_bnb_optim.____()
lr_scheduler.step()
# Zero the gradients
adam_bnb_optim.____()
print(f"Loss = {loss}")