Контрольные точки градиента с 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}")