LoslegenKostenlos loslegen

Trainingsschleifen vor und nach Accelerator

Du möchtest eine PyTorch-Trainingsschleife so anpassen, dass Accelerator für dein Sprachmodell verwendet wird, um Übersetzungen mit dem MPRC-Datensatz von Satzparaphrasen zu vereinfachen. Aktualisiere die Trainingsschleife, um dein Modell für verteiltes Training vorzubereiten.

Einige Daten wurden vorab geladen:

  • accelerator ist eine Instanz von Accelerator
  • train_dataloader, optimizer, model und lr_scheduler wurden definiert und mit Accelerator vorbereitet

Diese Übung ist Teil des Kurses

Effizientes KI-Modelltraining mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Aktualisiere die .to(device)-Zeilen, damit Accelerator die Gerätezuweisung übernimmt.
  • Passe die Gradientenberechnung an, um Accelerator zu verwenden.

Interaktive Übung

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

for batch in train_dataloader:
    optimizer.zero_grad()
    inputs, targets = batch["input_ids"], batch["labels"]
    # Update the lines so Accelerator handles device placement
    inputs = inputs.to(device)
    targets = targets.to(device)
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    # Modify the gradient computation to use Accelerator
    ____.backward(____)
    optimizer.step()
    lr_scheduler.step()
Code bearbeiten und ausführen