Trainingsschleifen vor und nach dem Accelerator
Du möchtest eine PyTorch-Trainingsschleife so anpassen, dass sie Accelerator
für dein Sprachmodell verwendet, um Übersetzungen mit dem MPRC-Datensatz von Satzparaphrasen zu vereinfachen. Aktualisiere die Trainingsschleife, um dein Modell für das verteilte Training vorzubereiten.
Einige Daten wurden bereits geladen:
accelerator
ist eine Instanz vonAccelerator
train_dataloader``optimizer
,model
undlr_scheduler
wurden definiert und vorbereitet mitAccelerator
Diese Übung ist Teil des Kurses
Effizientes KI-Modelltraining mit PyTorch
Anleitung zur Übung
- Aktualisiere die
.to(device)
Zeilen, damit Accelerator die Geräteplatzierung übernimmt. - Ändere die Berechnung des Gradienten, um
Accelerator
zu verwenden.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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()