AdamW mit Accelerator
Du möchtest deine Trainingsschleife mit Accelerator
anpassen und AdamW als Benchmark-Optimierer für dein Sprachübersetzungsmodell verwenden. Erstelle die Trainingsschleife, um AdamW zu verwenden.
Einige Trainingsobjekte wurden vorab geladen und definiert, darunter model
, train_dataloader
und accelerator
.
Diese Übung ist Teil des Kurses
Effizientes KI-Modelltraining mit PyTorch
Anleitung zur Übung
- Bereite die Trainingsobjekte für das verteilte Training vor der Schleife vor.
- Aktualisiere die Modellparameter in der Trainingsschleife.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")