Mulai sekarangMulai gratis

8-bit Adam dengan Accelerator

Anda ingin menyesuaikan loop pelatihan dengan 8-bit Adam untuk mengurangi kebutuhan memori model Anda. Siapkan loop dengan 8-bit Adam untuk pelatihan.

Asumsikan bahwa sebuah optimizer 8-bit Adam telah didefinisikan sebagai adam_bnb_optim. Objek pelatihan lainnya telah didefinisikan: model, train_dataloader, lr_scheduler, dan accelerator.

Latihan ini merupakan bagian dari kursus

Pelatihan Model AI Efisien dengan PyTorch

Lihat Kursus

Instruksi latihan

  • Siapkan optimizer 8-bit Adam untuk pelatihan terdistribusi.
  • Perbarui parameter model dengan optimizer.
  • Kosongkan gradien dengan optimizer.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Prepare the 8-bit Adam optimizer for distributed training
model, adam_bnb_optim, train_dataloader, lr_scheduler = accelerator.prepare(model, ____, train_dataloader, lr_scheduler)

for batch in train_dataloader:
    inputs, targets = batch["input_ids"], batch["labels"]
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    accelerator.backward(loss)
    # Update the model parameters
    adam_bnb_optim.____()
    lr_scheduler.step()
    # Zero the gradients
    adam_bnb_optim.____()
    print(f"Loss = {loss}")
Edit dan Jalankan Kode