Créer une boucle d’entraînement avec Accelerator
Vous êtes prêt à implémenter une boucle d’entraînement pour votre service de traduction automatique. Maintenant que vous avez vu comment Accelerator adapte une boucle PyTorch pour l’entraînement distribué, vous pouvez tirer parti de la classe Accelerator dans votre propre boucle d’entraînement !
Des données ont été préchargées :
acceleratorest une instance deAcceleratortrain_dataloader,optimizer,modeletlr_scheduleront été définis et préparés avecAccelerator
Cet exercice fait partie du cours
Entraîner efficacement des modèles d’IA avec PyTorch
Instructions
- Appelez
optimizerpour remettre les gradients à zéro. - Mettez à jour les paramètres du modèle.
- Mettez à jour le taux d’apprentissage de
optimizer.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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
____.____()