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 diAcceleratortrain_dataloader,optimizer,modelelr_schedulersono stati definiti e preparati conAccelerator
Questo esercizio fa parte del corso
Efficient AI Model Training with PyTorch
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()