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
Egzersiz talimatları
Accelerator()'ı iki adımlı gradyan biriktirme kullanacak şekilde yapılandır.modeliçin gradyan biriktirmeyi etkinleştirmek üzere birAcceleratorbağ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}")