ComenzarEmpieza gratis

Adafactor con Accelerator

Ya has creado una prueba de concepto de Adafactor con Trainer para entrenar tu modelo de traducción con menos requisitos de memoria. Ahora quieres personalizar tu bucle de entrenamiento usando Accelerator. ¡Construye el bucle de entrenamiento para usar Adafactor!

La función compute_optimizer_size() ya está definida. Algunos objetos de entrenamiento ya están cargados: model, train_dataloader y accelerator.

Este ejercicio forma parte del curso

Entrenamiento eficiente de modelos de IA con PyTorch

Ver curso

Instrucciones del ejercicio

  • Pasa los parámetros del modelo a Adafactor al definir el optimizer.
  • Pasa el estado del optimizador para imprimir el tamaño.

Ejercicio interactivo práctico

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

# Pass the model parameters to Adafactor
optimizer = ____(params=____.____())
model, optimizer, train_dataloader = accelerator.prepare(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)
    optimizer.step()
    optimizer.zero_grad()

# Pass in the optimizer state
total_size_megabytes, total_num_elements = compute_optimizer_size(____.____.values())
print(f"Number of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")  
Editar y ejecutar código