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 :
acceleratorest une instance deAcceleratortrain_dataloader,optimizer,modeletlr_scheduleront été définis et préparés avecAccelerator
Cet exercice fait partie du cours
Entraîner efficacement des modèles d’IA avec PyTorch
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()