CommencerCommencer gratuitement

Boucles d’entraînement avant et après Accelerator

Vous souhaitez modifier une boucle d’entraînement PyTorch pour utiliser Accelerator avec votre modèle de langage, afin de simplifier les traductions à l’aide du jeu de données MPRC de paraphrases de phrases. Mettez à jour la boucle d’entraînement pour préparer votre modèle à l’entraînement distribué.

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

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

  • Mettez à jour les lignes .to(device) afin qu’Accelerator gère le placement sur les appareils.
  • Modifiez le calcul du gradient pour utiliser Accelerator.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

for batch in train_dataloader:
    optimizer.zero_grad()
    inputs, targets = batch["input_ids"], batch["labels"]
    # Update the lines so Accelerator handles device placement
    inputs = inputs.to(device)
    targets = targets.to(device)
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    # Modify the gradient computation to use Accelerator
    ____.backward(____)
    optimizer.step()
    lr_scheduler.step()
Modifier et exécuter le code