Träningsloopar före och efter Accelerator
Du vill anpassa en PyTorch-träningsloop till att använda Accelerator för din språkmodell, som förenklar översättningar med hjälp av MPRC-datamängden med meningsparafraser. Uppdatera träningsloopen så att modellen förbereds för distribuerad träning.
En del data har förinsatts:
acceleratorär en instans avAcceleratortrain_dataloader,optimizer,modelochlr_schedulerhar definierats och förberetts medAccelerator
Den här övningen är en del av kursen
Effektiv AI-modellträning med PyTorch
Övningsinstruktioner
- Uppdatera
.to(device)-raderna så att Accelerator hanterar enhetsplaceringen. - Ändra gradientberäkningen så att den använder
Accelerator.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
for batch in train_dataloader:
optimizer.zero_grad()
inputs, targets = batch["input_ids"], batch["labels"]
# Update the lines so Accelerator handles device placement
inputs = inputs.to(device)
targets = targets.to(device)
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Modify the gradient computation to use Accelerator
____.backward(____)
optimizer.step()
lr_scheduler.step()