ÎncepețiÎncepe gratuit

Gradient checkpointing cu Accelerator

Continui să optimizezi utilizarea memoriei pentru a putea antrena modelul de traducere a limbajului pe dispozitivul tău. Acumularea gradienților te-a ajutat să antrenezi eficient pe batch-uri mai mari. Pornind de la această bază, adaugă gradient checkpointing pentru a reduce amprenta de memorie a modelului.

model, train_dataloader și accelerator au fost predefinite.

Acest exercițiu face parte din cursul

Antrenament eficient al modelelor AI cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Activează gradient checkpointing pe model.
  • Configurează un context manager Accelerator pentru a activa acumularea gradienților pe model.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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}")
Editează și rulează codul