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

Градиентный чекпоинтинг с 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()
Редактировать и запускать код