CommencezCommencez gratuitement

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 modifie une boucle PyTorch pour l’entraînement distribué, vous pouvez tirer parti de la classe Accelerator dans votre propre boucle d’entraînement!

Certaines données ont été préchargées :

  • accelerator est une instance de Accelerator
  • train_dataloader, optimizer, model et lr_scheduler ont été définis et préparés avec Accelerator

Cette activité fait partie du cours

Entraînement efficace de modèles d’IA avec PyTorch

Voir le cours

Instructions de l’exercice

  • Appelez optimizer pour 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 ce code d’exemple.

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
    ____.____()
Modifier et exécuter le code