CommencezCommencez gratuitement

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 maintenant vous voulez utiliser une interface simplifiée sans boucle d’entraînement avec Trainer. L’exécution prendra un certain temps lors de l’appel à trainer.train().

Configurez les arguments de Trainer pour activer le gradient checkpointing.

Cette activité fait partie du cours

Entraînement efficace de modèles d’IA avec PyTorch

Voir le 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()
Modifier et exécuter le code