Градиентный чекпоинтинг с Trainer
Вы хотите использовать градиентный чекпоинтинг, чтобы снизить потребление памяти вашей моделью. Вы уже видели, как написать явный цикл обучения с Accelerator, и теперь хотите воспользоваться упрощённым интерфейсом без цикла обучения — с помощью Trainer. Обратите внимание, что выполнение упражнения займёт некоторое время из-за вызова trainer.train().
Настройте аргументы Trainer для использования градиентного чекпоинтинга.
Это упражнение является частью курса
Эффективное обучение моделей ИИ с PyTorch
Инструкции к упражнению
- Задайте четыре шага накопления градиентов в
TrainingArguments. - Включите градиентный чекпоинтинг в
TrainingArguments. - Передайте аргументы обучения в
Trainer.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
training_args = TrainingArguments(output_dir="./results",
evaluation_strategy="epoch",
# Use four gradient accumulation steps
gradient_accumulation_steps=____,
# Enable gradient checkpointing
gradient_checkpointing=____)
trainer = Trainer(model=model,
# Pass in the training arguments
args=____,
train_dataset=dataset["train"],
eval_dataset=dataset["validation"],
compute_metrics=compute_metrics)
trainer.train()