BaşlayınÜcretsiz başlayın

Accelerator ile Adafactor

Dil çeviri modelini daha az bellekle eğitmek için Trainer ile Adafactor kullanımının bir kavram kanıtını gösterdin. Şimdi Accelerator kullanarak kendi eğitim döngünü özelleştirmek istiyorsun. Eğitim döngüsünü Adafactor kullanacak şekilde kur!

compute_optimizer_size() işlevi önceden tanımlandı. Bazı eğitim nesneleri önceden yüklendi: model, train_dataloader ve accelerator. Adafactor, torch.optim içinden önceden içe aktarıldı.

Bu egzersiz, kursun bir parçasıdır

PyTorch ile Verimli AI Model Eğitimi

Kursa Göz Atın

Egzersiz talimatları

  • optimizer tanımlanırken model parametrelerini Adafactor'a geçir.
  • Boyutu yazdırmak için optimizer durumunu (state) geçir.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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")  
Kodu Düzenle ve Çalıştır