Construir un bucle de entrenamiento con Accelerator
Estás listo para implantar un bucle de formación para tu servicio de traducción de idiomas. Ahora que has visto cómo Accelerator modifica un bucle PyTorch para el entrenamiento distribuido, ¡puedes aprovechar la clase Accelerator en tu bucle de entrenamiento!
Se han precargado algunos datos:
acceleratores una instancia deAcceleratortrain_dataloader,optimizer,model, ylr_schedulerhan sido definidos y preparados conAccelerator
Este ejercicio forma parte del curso
Entrenamiento eficiente de modelos de IA con PyTorch
Instrucciones del ejercicio
- Llama a
optimizerpara poner a cero los gradientes. - Actualiza los parámetros del modelo.
- Actualiza el ritmo de aprendizaje de
optimizer.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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
____.____()