CommencerCommencer 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 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 :

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

Cet exercice fait partie du cours

Entraîner efficacement des modèles d’IA avec PyTorch

Afficher le cours

Instructions

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