Contrôle du gradient avec Trainer
Vous souhaitez utiliser le point de contrôle de gradient pour réduire l'empreinte mémoire de votre modèle. Vous avez vu comment écrire la boucle d'apprentissage explicite avec Accelerator, et vous souhaitez maintenant utiliser une interface simplifiée sans boucle d'apprentissage avec Trainer. L'exercice prendra un certain temps à se dérouler avec l'appel à trainer.train().
Définissez les arguments pour que Trainer utilise le point de contrôle de gradient.
Cet exercice fait partie du cours
Entraînement efficace de modèles d'IA avec PyTorch
Instructions
- Utilisez quatre étapes d'accumulation de gradient dans
TrainingArguments. - Activez le point de contrôle du gradient dans
TrainingArguments. - Transmettez les arguments de formation à
Trainer.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
training_args = TrainingArguments(output_dir="./results",
evaluation_strategy="epoch",
# Use four gradient accumulation steps
gradient_accumulation_steps=____,
# Enable gradient checkpointing
____=____)
trainer = Trainer(model=model,
# Pass in the training arguments
____=____,
train_dataset=dataset["train"],
eval_dataset=dataset["validation"],
compute_metrics=compute_metrics)
trainer.train()