Einen Trainingsloop mit Accelerator bauen
Du bist bereit, einen Trainingsloop für deinen Übersetzungsdienst zu implementieren. Nachdem du gesehen hast, wie Accelerator eine PyTorch-Schleife für verteiltes Training anpasst, kannst du die Accelerator-Klasse in deinem Trainingsloop nutzen!
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
- Rufe den
optimizerauf, um die Gradienten auf null zu setzen. - Aktualisiere die Parameter des Modells.
- Aktualisiere die Lernrate des
optimizer.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
for batch in train_dataloader:
# Call the optimizer to zero the gradients
____.____()
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model's parameters
____.____()
# Update the learning rate of the optimizer
____.____()