ComenzarEmpieza gratis

Punto de control de gradiente con Acelerador

Sigues optimizando el uso de la memoria para poder entrenar tu modelo de traducción de idiomas en tu dispositivo. La acumulación de gradientes te ha ayudado a entrenarte eficazmente en lotes de mayor tamaño. Aprovecha este trabajo para añadir la comprobación de gradientes y reducir la huella de memoria de tu modelo.

Se han predefinido las direcciones model, train_dataloader, y accelerator.

Este ejercicio forma parte del curso

Entrenamiento eficiente de modelos de IA con PyTorch

Ver curso

Instrucciones del ejercicio

  • Activa el punto de control de gradiente en model.
  • Configura un gestor de contexto Accelerator para permitir la acumulación de gradientes en model.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Enable gradient checkpointing on the model
____.____()

for batch in train_dataloader:
    with accelerator.accumulate(model):
        inputs, targets = batch["input_ids"], batch["labels"]
        # Get the outputs from a forward pass of the model
        ____ = ____(____, labels=targets)
        loss = outputs.loss
        accelerator.backward(loss)
        optimizer.step()
        lr_scheduler.step()
        optimizer.zero_grad()
        print(f"Loss = {loss}")
Editar y ejecutar código