Adafactor avec Trainer
Vous entraînez un modèle Transformer comptant des milliards de paramètres pour votre service de traduction linguistique. Cela met vos ressources informatiques à rude épreuve, donc vous décidez 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 été préchargés, notamment model, train_dataset, validation_dataset et compute_metrics.
Cette activité fait partie du cours
Entraînement efficace de modèles d’IA avec PyTorch
Instructions de l’exercice
- Indiquez
Adafactorcomme optimiseur dansTrainingArguments. - Passez l’état de l’optimiseur pour en 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")