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

Контрольные точки градиента с Accelerator

Вы продолжаете оптимизировать использование памяти, чтобы обучить модель машинного перевода на своём устройстве. Накопление градиентов уже позволило эффективно работать с большими размерами батчей. Теперь добавьте контрольные точки градиента, чтобы ещё больше сократить объём памяти, необходимой для модели.

Объекты model, train_dataloader и accelerator уже определены заранее.

Это упражнение является частью курса

Эффективное обучение моделей ИИ с PyTorch

Посмотреть курс

Инструкции к упражнению

  • Включите контрольные точки градиента для model.
  • Настройте контекстный менеджер Accelerator, чтобы активировать накопление градиентов для model.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Enable gradient checkpointing on the model
____.____()

for batch in train_dataloader:
    with accelerator.accumulate(model):
        inputs, targets = batch["input_ids"], batch["labels"]
        # Get the outputs from a forward pass of the model
        ____ = ____(____, labels=targets)
        loss = outputs.loss
        accelerator.backward(loss)
        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        print(f"Loss = {loss}")
Редактировать и запускать код