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:
acceleratorist eine Instanz vonAcceleratortrain_dataloader``optimizer,modelundlr_schedulerwurden 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
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()