LoslegenKostenlos loslegen

Gradient Checkpointing mit Accelerator

Du optimierst weiter die Speichernutzung, damit du dein Übersetzungsmodell auf deinem Gerät trainieren kannst. Gradient Accumulation hat dir geholfen, effektiv mit größeren Batch-Größen zu trainieren. Baue darauf auf und füge Gradient Checkpointing hinzu, um den Speicherbedarf deines Modells zu reduzieren.

Das model, train_dataloader und der accelerator sind bereits vordefiniert.

Diese Übung ist Teil des Kurses

Effizientes KI-Modelltraining mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Aktiviere Gradient Checkpointing am model.
  • Richte einen Accelerator-Context-Manager ein, um Gradient Accumulation am model zu aktivieren.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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}")
Code bearbeiten und ausführen