शुरू करेंमुफ़्त में शुरू करें

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}")
कोड संपादित करें और चलाएँ