Entrenamiento de precisión mixto con Accelerator
Quieres simplificar tu bucle PyTorch para el entrenamiento de precisión mixta de tu modelo de traducción lingüística utilizando Accelerator. ¡Construye el nuevo bucle de entrenamiento para aprovechar Accelerator!
Se han precargado algunos objetos: dataset, model, dataloader, y optimizer.
Este ejercicio forma parte del curso
Entrenamiento eficiente de modelos de IA con PyTorch
Instrucciones del ejercicio
- Activa el entrenamiento de precisión mixta utilizando FP16 en
Accelerator. - Prepara los objetos de entrenamiento para el entrenamiento de precisión mixta antes del bucle.
- Calcula los gradientes de la pérdida para el entrenamiento de precisión mixta.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Enable mixed precision training using FP16
accelerator = Accelerator(____="____")
# Prepare training objects for mixed precision training
model, optimizer, train_dataloader, lr_scheduler = ____.____(____, ____, ____, ____)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Compute the gradients of the loss
____.____(loss)
optimizer.step()
optimizer.zero_grad()