AdamW con Acelerador
Quieres personalizar tu bucle de entrenamiento utilizando Accelerator
y utilizar AdamW como optimizador de referencia para tu modelo de traducción de idiomas. Construye el bucle de entrenamiento para utilizar AdamW.
Se han precargado y definido algunos objetos de entrenamiento, como model
, train_dataloader
, y accelerator
.
Este ejercicio forma parte del curso
Entrenamiento eficiente de modelos de IA con PyTorch
Instrucciones del ejercicio
- Prepara los objetos de entrenamiento para el entrenamiento distribuido antes del bucle.
- Actualiza los parámetros del modelo en el bucle de entrenamiento.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")