Accelerator ile gradyan kontrol noktalama
Cihazında dil çeviri modelini eğitebilmek için bellek kullanımını iyileştirmeye devam ediyorsun. Gradyan biriktirme, daha büyük yığın boyutlarında etkili şekilde eğitim yapmana yardımcı oldu. Bu çalışmanın üzerine ekleme yaparak modelinin bellek ayak izini azaltmak için gradyan kontrol noktalama ekle.
model, train_dataloader ve accelerator önceden tanımlandı.
Bu egzersiz, kursun bir parçasıdır
PyTorch ile Verimli AI Model Eğitimi
Egzersiz talimatları
modelüzerinde gradyan kontrol noktalamayı etkinleştir.modelüzerinde gradyan biriktirmeyi etkinleştirmek için birAcceleratorbağlam yöneticisi kur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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}")