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

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

Kursa Göz Atın

Egzersiz talimatları

  • model üzerinde gradyan kontrol noktalamayı etkinleştir.
  • model üzerinde gradyan biriktirmeyi etkinleştirmek için bir Accelerator bağ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}")
Kodu Düzenle ve Çalıştır