Mulai sekarangMulai gratis

Gradient checkpointing dengan Accelerator

Anda sedang melanjutkan optimasi penggunaan memori agar dapat melatih model penerjemahan bahasa pada perangkat Anda. Gradient accumulation telah membantu Anda berlatih secara efektif pada ukuran batch yang lebih besar. Lanjutkan upaya ini dengan menambahkan gradient checkpointing untuk mengurangi jejak memori model Anda.

model, train_dataloader, dan accelerator telah didefinisikan sebelumnya.

Latihan ini merupakan bagian dari kursus

Pelatihan Model AI Efisien dengan PyTorch

Lihat Kursus

Instruksi latihan

  • Aktifkan gradient checkpointing pada model.
  • Siapkan context manager Accelerator untuk mengaktifkan gradient accumulation pada model.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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}")
Edit dan Jalankan Kode