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
Egzersiz talimatları
optimizertanımlanırken model parametreleriniAdafactor'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")