AdamW avec Accelerator
Vous souhaitez personnaliser votre boucle d’entraînement avec Accelerator et utiliser AdamW comme optimiseur de référence pour votre modèle de traduction automatique. Construisez la boucle d’entraînement pour utiliser AdamW.
Certains objets d’entraînement ont été préchargés et définis, notamment model, train_dataloader et accelerator.
Cet exercice fait partie du cours
Entraîner efficacement des modèles d’IA avec PyTorch
Instructions
- Préparez les objets d’entraînement pour l’entraînement distribué avant la boucle.
- Mettez à jour les paramètres du modèle dans la boucle d’entraînement.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")