Creare un training loop con Accelerator
Sei prontə a implementare un training loop per il tuo servizio di traduzione automatica. Ora che hai visto come Accelerator modifica un loop PyTorch per l'addestramento distribuito, puoi sfruttare la classe Accelerator nel tuo training loop!
Alcuni dati sono già stati 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
- Chiama
optimizerper azzerare i gradienti. - Aggiorna i parametri del modello.
- Aggiorna il learning rate di
optimizer.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
for batch in train_dataloader:
# Call the optimizer to zero the gradients
____.____()
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model's parameters
____.____()
# Update the learning rate of the optimizer
____.____()