Construire une boucle d'entraînement avec Accelerator
Vous êtes prêt à mettre en place une boucle de formation pour votre service de traduction. Maintenant que vous avez vu comment Accelerator
modifie une boucle PyTorch pour l'entraînement distribué, vous pouvez utiliser la classe Accelerator
dans votre boucle d'entraînement !
Certaines données ont été préchargées :
accelerator
est une instance deAccelerator
train_dataloader
,optimizer
,model
, etlr_scheduler
ont été définis et préparés à l'aide deAccelerator
Cet exercice fait partie du cours
Entraînement efficace de modèles d'IA avec PyTorch
Instructions
- Appelez le site
optimizer
pour mettre à zéro les gradients. - Mettez à jour les paramètres du modèle.
- Mettez à jour le taux d'apprentissage du site
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
____.____()