CommencerCommencer gratuitement

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

Afficher le cours

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