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:
accelerator
es una instancia deAccelerator
train_dataloader
,optimizer
,model
, ylr_scheduler
han sido definidos y preparados conAccelerator
Este ejercicio forma parte del curso
Entrenamiento eficiente de modelos de IA con PyTorch
Instrucciones del ejercicio
- Llama a
optimizer
para 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 completando 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
____.____()