LoslegenKostenlos loslegen

Gradient Checkpointing mit Accelerator

Du optimierst weiterhin die Speichernutzung, damit du dein Sprachübersetzungsmodell auf deinem Gerät trainieren kannst. Die Gradientenakkumulation hat dir geholfen, effektiv mit größeren Losgrößen zu trainieren. Baue auf dieser Arbeit auf und füge Gradient Checkpointing hinzu, um den Speicherbedarf deines Modells zu reduzieren.

Die Felder model, train_dataloader und accelerator sind vordefiniert.

Diese Übung ist Teil des Kurses

Effizientes KI-Modelltraining mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Aktiviere den Gradienten-Checkpoint auf model.
  • Richte einen Accelerator Kontextmanager ein, um die Akkumulation von Farbverläufen auf der model zu ermöglichen.

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