Entraînement en précision mixte avec Accelerator
Vous souhaitez simplifier votre boucle PyTorch pour l’entraînement en précision mixte de votre modèle de traduction automatique en utilisant Accelerator. Créez la nouvelle boucle d’entraînement pour tirer parti d’Accelerator !
Certains objets ont été préchargés : dataset, model, dataloader et optimizer.
Cet exercice fait partie du cours
Entraîner efficacement des modèles d’IA avec PyTorch
Instructions
- Activez l’entraînement en précision mixte en FP16 dans
Accelerator. - Préparez les objets d’entraînement pour la précision mixte avant la boucle.
- Calculez les gradients de la perte pour la précision mixte.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Enable mixed precision training using FP16
accelerator = Accelerator(____="____")
# Prepare training objects for mixed precision training
model, optimizer, train_dataloader, lr_scheduler = ____.____(____, ____, ____, ____)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Compute the gradients of the loss
____.____(loss)
optimizer.step()
optimizer.zero_grad()