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

ऑप्टिमाइज़र का आकार निकालें

आप एक मॉडल को ट्रेन करने के लिए अलग-अलग ऑप्टिमाइज़र्स की जाँच कर रहे हैं, और निष्पक्ष तुलना के लिए आपको किसी ऑप्टिमाइज़र की मेमोरी खपत को मापना है. टेस्ट के तौर पर, आपने DistilBERT मॉडल और AdamW ऑप्टिमाइज़र लोड किया है ताकि आप मेमोरी उपयोग को माप सकें. compute_optimizer_size फंक्शन लिखिए जो किसी ऑप्टिमाइज़र का आकार निकाले.

AdamW optimizer सीधे परिभाषित किया गया है (Trainer के बिना), और ट्रेनिंग पूरी हो चुकी है.

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

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

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

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

  • for लूप में हर tensor के एलिमेंट्स की संख्या और प्रत्येक का आकार निकालें.
  • मेगाबाइट्स में optimizer का कुल आकार निकालें.
  • optimizer.state पर उपयुक्त मेथड का उपयोग करके ऑप्टिमाइज़र का state dictionary एक्सेस करें.

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

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

def compute_optimizer_size(optimizer_state):
    total_size_megabytes, total_num_elements = 0, 0
    for params in optimizer_state:
        for name, tensor in params.items():
            tensor = torch.tensor(tensor)
            # Compute number of elements and size of each tensor
            num_elements, element_size = tensor.____(), tensor.____()
            total_num_elements += num_elements
            # Compute the total size in megabytes
            total_size_megabytes += ____ * ____ / (1024 ** 2)
    return total_size_megabytes, total_num_elements

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