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
<cours>Entraîner efficacement des modèles d’IA avec PyTorch</cours>Instructions de l’exercice
- 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 ce code d’exemple.
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()