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
Anleitung zur Übung
- Aktiviere Gradient Checkpointing am
model. - Richte einen
Accelerator-Context-Manager ein, um Gradient Accumulation ammodelzu 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}")