LoslegenKostenlos loslegen

Trainingsschleifen vor und nach dem Accelerator

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

Einige Daten wurden bereits geladen:

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

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äteplatzierung übernimmt.
  • Ändere die Berechnung des Gradienten, um Accelerator zu verwenden.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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