Adafactor com o Trainer
Você está treinando um modelo Transformer com bilhões de parâmetros para o seu serviço de tradução de idiomas. Isso está sobrecarregando seus recursos computacionais, então você decide experimentar o otimizador Adafactor
para reduzir os requisitos de memória em comparação com AdamW
. Prepare o instrutor para Adafactor
!
Alguns objetos de treinamento foram pré-carregados, incluindo model
, train_dataset
, validation_dataset
e compute_metrics
.
Este exercício faz parte do curso
Treinamento eficiente de modelos de IA com PyTorch
Instruções do exercício
- Especifique
Adafactor
como um otimizador emTrainingArguments
. - Passe no estado do otimizador para imprimir o tamanho.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Specify Adafactor as an optimizer
training_args = TrainingArguments(output_dir="./results",
evaluation_strategy="epoch",
____="____")
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(____.____.____.values())
print(f"\nNumber of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")