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

Accelerator के साथ ग्रेडिएंट चेकपॉइंटिंग

आप मेमोरी उपयोग को और बेहतर बना रहे हैं ताकि आप अपने डिवाइस पर अपना लैंग्वेज ट्रांसलेशन मॉडल ट्रेन कर सकें. ग्रेडिएंट अक्यूम्युलेशन ने आपको बड़े बैच साइज़ पर प्रभावी तरीके से ट्रेन करने में मदद की है. इसी पर आगे बढ़ते हुए, अपने मॉडल का मेमोरी फ़ुटप्रिंट कम करने के लिए ग्रेडिएंट चेकपॉइंटिंग जोड़ें.

model, train_dataloader, और accelerator पहले से परिभाषित हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

पाठ्यक्रम देखें

अभ्यास निर्देश

  • model पर ग्रेडिएंट चेकपॉइंटिंग सक्षम करें.
  • Accelerator का एक कॉन्टेक्स्ट मैनेजर सेट अप करें ताकि model पर ग्रेडिएंट अक्यूम्युलेशन सक्षम हो.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Enable gradient checkpointing on the model
____.____()

for batch in train_dataloader:
    with accelerator.accumulate(model):
        inputs, targets = batch["input_ids"], batch["labels"]
        # Get the outputs from a forward pass of the model
        ____ = ____(____, labels=targets)
        loss = outputs.loss
        accelerator.backward(loss)
        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        print(f"Loss = {loss}")
कोड संपादित करें और चलाएँ