Gradient checkpointing avec Trainer
Vous souhaitez utiliser le gradient checkpointing pour réduire l’empreinte mémoire de votre modèle. Vous avez vu comment écrire la boucle d’entraînement explicite avec Accelerator, et vous aimeriez maintenant utiliser une interface simplifiée sans boucles d’entraînement avec Trainer. L’exécution prendra un certain temps avec l’appel à trainer.train().
Configurez les arguments de Trainer pour activer le gradient checkpointing.
Cet exercice fait partie du cours
<cours>Entraîner efficacement des modèles d’IA avec PyTorch</cours>Instructions de l’exercice
- Utilisez quatre étapes d’accumulation de gradients dans
TrainingArguments. - Activez le gradient checkpointing dans
TrainingArguments. - Transmettez les arguments d’entraînement à
Trainer.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
training_args = TrainingArguments(output_dir="./results",
evaluation_strategy="epoch",
# Use four gradient accumulation steps
gradient_accumulation_steps=____,
# Enable gradient checkpointing
gradient_checkpointing=____)
trainer = Trainer(model=model,
# Pass in the training arguments
args=____,
train_dataset=dataset["train"],
eval_dataset=dataset["validation"],
compute_metrics=compute_metrics)
trainer.train()