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
Anleitung zur Übung
- Aktiviere den Gradienten-Checkpoint auf
model. - Richte einen
AcceleratorKontextmanager ein, um die Akkumulation von Farbverläufen auf dermodelzu 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}")