ПочатиПочніть безкоштовно

Gradient checkpointing з Accelerator

Ви продовжуєте оптимізувати використання пам’яті, щоб навчати свою модель перекладу мов на власному пристрої. Накопичення градієнта допомогло вам ефективно навчати на більших розмірах пакета. Продовжте цю роботу, додавши gradient checkpointing, щоб зменшити обсяг пам’яті, яку споживає ваша модель.

model, train_dataloader і accelerator уже визначені.

Ця вправа є частиною курсу

Ефективне тренування моделей ШІ з PyTorch

Переглянути курс

Інструкції до вправи

  • Увімкніть gradient checkpointing для 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}")
Редагувати та запускати код