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

Accelerator ile 8-bit Adam

Modelinin bellek gereksinimlerini azaltmak için eğitim döngünü 8-bit Adam ile özelleştirmek istiyorsun. 8-bit Adam kullanarak eğitime hazır bir döngü kur.

Bir 8-bit Adam optimizer'ının adam_bnb_optim olarak tanımlandığını varsay. Diğer eğitim nesneleri de tanımlı: model, train_dataloader, lr_scheduler ve accelerator.

Bu egzersiz, kursun bir parçasıdır

PyTorch ile Verimli AI Model Eğitimi

Kursa Göz Atın

Egzersiz talimatları

  • 8-bit Adam optimizer'ını dağıtık eğitim için hazırla.
  • Model parametrelerini optimizer ile güncelle.
  • Gradients değerlerini optimizer ile sıfırla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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}")
Kodu Düzenle ve Çalıştır