Inizia subitoInizia gratis

Cicli di training prima e dopo Accelerator

Vuoi modificare un training loop PyTorch per usare Accelerator sul tuo modello di linguaggio, così da semplificare le traduzioni con il dataset MPRC di parafrasi di frasi. Aggiorna il training loop per preparare il tuo modello al training distribuito.

Alcuni dati sono già caricati:

  • accelerator è un'istanza di Accelerator
  • train_dataloader, optimizer, model e lr_scheduler sono stati definiti e preparati con Accelerator

Questo esercizio fa parte del corso

Efficient AI Model Training with PyTorch

Visualizza corso

Istruzioni dell'esercizio

  • Aggiorna le righe .to(device) in modo che Accelerator gestisca il posizionamento sui dispositivi.
  • Modifica il calcolo dei gradienti per usare Accelerator.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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()
Modifica ed esegui il codice