ComenzarEmpieza gratis

Adafactor con Acelerador

Has demostrado una prueba de concepto de Adafactor con Trainer para entrenar tu modelo de traducción lingüística con requisitos de memoria reducidos. Ahora te gustaría personalizar tu bucle de entrenamiento utilizando Accelerator. ¡Construye el bucle de entrenamiento para utilizar Adafactor!

La función compute_optimizer_size() está predefinida. Se han precargado algunos objetos de entrenamiento: 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 cuando definas el optimizer.
  • Pasa el estado optimizador para imprimir el tamaño.

Ejercicio interactivo práctico

Prueba este ejercicio completando 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