CommencerCommencer gratuitement

Boucles d'entraînement avant et après l'Accélérateur

Vous souhaitez modifier une boucle d'apprentissage PyTorch afin d'utiliser Accelerator pour votre modèle de langage afin de simplifier les traductions en utilisant l'ensemble de données MPRC de paraphrases de phrases. Mettez à jour la boucle d'apprentissage pour préparer votre modèle à l'apprentissage 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 à l'aide de Accelerator

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

  • Mettez à jour les lignes .to(device) afin qu'Accelerator gère le placement des périphériques.
  • 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