CommencerCommencez gratuitement

Adafactor avec Trainer

Vous entraînez un modèle Transformer avec des milliards de paramètres pour votre service de traduction. Cela met vos ressources de calcul à rude épreuve, vous décidez donc d’essayer l’optimiseur Adafactor afin de réduire l’empreinte mémoire par rapport à AdamW. Préparez le Trainer pour Adafactor !

Certains objets d’entraînement ont déjà été chargés, dont model, train_dataset, validation_dataset et compute_metrics.

Cet exercice fait partie du cours

<cours>Entraîner efficacement des modèles d’IA avec PyTorch</cours>
Voir le cours

Instructions de l’exercice

  • Indiquez Adafactor comme optimiseur dans TrainingArguments.
  • Passez l’état de l’optimiseur pour afficher la taille.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Specify Adafactor as an optimizer
training_args = TrainingArguments(output_dir="./results",
                                  evaluation_strategy="epoch",
                                  optim="____")

trainer = Trainer(model=model,
                  args=training_args,
                  train_dataset=train_dataset,
                  eval_dataset=validation_dataset,
                  compute_metrics=compute_metrics)
trainer.train()

# Pass in the optimizer state
total_size_megabytes, total_num_elements = compute_optimizer_size(trainer.optimizer.state.____())
print(f"\nNumber of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")  
Modifier et exécuter le code