Trainingsschleifen vor und nach Accelerator
Du möchtest eine PyTorch-Trainingsschleife so anpassen, dass Accelerator für dein Sprachmodell verwendet wird, um Übersetzungen mit dem MPRC-Datensatz von Satzparaphrasen zu vereinfachen. Aktualisiere die Trainingsschleife, um dein Modell für verteiltes Training vorzubereiten.
Einige Daten wurden vorab geladen:
acceleratorist eine Instanz vonAcceleratortrain_dataloader,optimizer,modelundlr_schedulerwurden definiert und mitAcceleratorvorbereitet
Diese Übung ist Teil des Kurses
Effizientes KI-Modelltraining mit PyTorch
Anleitung zur Übung
- Aktualisiere die
.to(device)-Zeilen, damit Accelerator die Gerätezuweisung übernimmt. - Passe die Gradientenberechnung an, um
Acceleratorzu verwenden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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()