Adafactor med Trainer
Du tränar en Transformer-modell med miljarder parametrar för din språköversättningstjänst. Det belastar dina beräkningsresurser hårt, så du bestämmer dig för att prova optimeraren Adafactor för att minska minnesåtgången jämfört med AdamW. Förbered Trainer för Adafactor!
Några träningsobjekt har förinskapats, inklusive model, train_dataset, validation_dataset och compute_metrics.
Den här övningen är en del av kursen
Effektiv AI-modellträning med PyTorch
Övningsinstruktioner
- Ange
Adafactorsom optimerare iTrainingArguments. - Skicka in optimeringstillståndet för att skriva ut storleken.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")