Bucle for antes y después del Acelerador
Quieres modificar un bucle de entrenamiento de PyTorch para utilizar Accelerator
para que tu modelo lingüístico simplifique las traducciones utilizando el conjunto de datos MPRC de paráfrasis de frases. Actualiza el bucle de entrenamiento para preparar tu modelo para el entrenamiento distribuido.
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
- Actualiza las líneas
.to(device)
para que Accelerator se encargue de la colocación de los dispositivos. - Modifica el cálculo del gradiente para utilizar
Accelerator
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
for batch in train_dataloader:
optimizer.zero_grad()
inputs, targets = batch["input_ids"], batch["labels"]
# Update the lines so Accelerator handles device placement
inputs = inputs.to(device)
targets = targets.to(device)
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Modify the gradient computation to use Accelerator
____.backward(____)
optimizer.step()
lr_scheduler.step()