Entraînement de précision mixte avec Accelerator
Vous souhaitez simplifier votre boucle PyTorch pour l'apprentissage en précision mixte de votre modèle de traduction linguistique en utilisant Accelerator. Construisez la nouvelle boucle de formation pour tirer parti de l'Accélérateur !
Certains objets ont été préchargés : dataset, model, dataloader, et optimizer.
Cet exercice fait partie du cours
Entraînement efficace de modèles d'IA avec PyTorch
Instructions
- Activez l'apprentissage en précision mixte en utilisant FP16 dans
Accelerator. - Préparez les objets d'entraînement pour l'entraînement de précision mixte avant la boucle.
- Calculez les gradients de la perte pour l'apprentissage à 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()