Adafactor с Trainer
Вы обучаете трансформерную модель с миллиардами параметров для сервиса машинного перевода. Это создаёт серьёзную нагрузку на вычислительные ресурсы, поэтому вы решаете попробовать оптимизатор Adafactor, чтобы снизить потребление памяти по сравнению с AdamW. Настройте Trainer для работы с Adafactor!
Некоторые объекты для обучения уже загружены: model, train_dataset, validation_dataset и compute_metrics.
Это упражнение является частью курса
Эффективное обучение моделей ИИ с PyTorch
Инструкции к упражнению
- Укажите
Adafactorв качестве оптимизатора вTrainingArguments. - Передайте состояние оптимизатора для вывода его размера.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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")