Adafactor con Trainer
Stai addestrando un modello Transformer con miliardi di parametri per il tuo servizio di traduzione linguistica. Sta mettendo sotto pressione le tue risorse computazionali, quindi decidi di provare l’ottimizzatore Adafactor per ridurre i requisiti di memoria rispetto a AdamW. Prepara il Trainer per Adafactor!
Alcuni oggetti di training sono già stati caricati, tra cui model, train_dataset, validation_dataset e compute_metrics.
Questo esercizio fa parte del corso
Efficient AI Model Training with PyTorch
Istruzioni dell'esercizio
- Specifica
Adafactorcome ottimizzatore inTrainingArguments. - Passa lo stato dell’ottimizzatore per stamparne la dimensione.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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")