НачатьНачать бесплатно

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")  
Редактировать и запускать код