Crear un bucle de entrenamiento con Accelerator
Ya puedes implementar un bucle de entrenamiento para tu servicio de traducción de idiomas. Ahora que has visto cómo Accelerator modifica un bucle de PyTorch para entrenamiento distribuido, ¡puedes aprovechar la clase Accelerator en tu propio bucle!
Algunos datos ya se han cargado:
acceleratores una instancia deAcceleratortrain_dataloader,optimizer,modelylr_schedulerse han definido y preparado conAccelerator
Este ejercicio forma parte del curso
Entrenamiento eficiente de modelos de IA con PyTorch
Instrucciones del ejercicio
- Llama a
optimizerpara poner los gradientes a cero. - Actualiza los parámetros del modelo.
- Actualiza la tasa 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
____.____()