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

Accelerator ile gradyan biriktirme

Karmaşık cümleleri yeniden ifade ederek çevirileri sadeleştiren bir dil modeli eğitiyorsun, ancak GPU belleğin yetmiyor. Gradyan biriktirme, belleğe sığan küçük yığınlar kullanarak modelin etkili biçimde daha büyük yığınlarla eğitilmesini sağlar. Eğitim döngüsünün yapısını görmek için açıkça yazmayı tercih ediyorsun, bu yüzden Accelerator kullanıyorsun. Bu egzersizin aslında CPU'da çalıştığını, ancak kodun GPU için de aynı kaldığını unutma.

model, train_dataloader, optimizer ve lr_scheduler ö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ı

  • Accelerator()'ı iki adımlı gradyan biriktirme kullanacak şekilde yapılandır.
  • model için gradyan biriktirmeyi etkinleştirmek üzere bir Accelerator bağlam yöneticisi kur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Configure Accelerator
accelerator = ____(____=____)
model, optimizer, train_dataloader, lr_scheduler = accelerator.prepare(model, optimizer, train_dataloader, lr_scheduler)
for batch in train_dataloader:
    # Set up an Accelerator context manager
    with ____.____(____):
        inputs, targets = batch["input_ids"], batch["labels"]
        outputs = model(inputs, 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