ComenzarEmpieza gratis

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 de Accelerator
  • train_dataloader, optimizer, model, y lr_scheduler han sido definidos y preparados con Accelerator

Este ejercicio forma parte del curso

Entrenamiento eficiente de modelos de IA con PyTorch

Ver curso

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()
Editar y ejecutar código