ÎncepețiÎncepe gratuit

Adam pe 8 biți cu Accelerator

Vrei să personalizezi bucla de antrenament cu Adam pe 8 biți pentru a reduce necesarul de memorie al modelului. Pregătește bucla cu Adam pe 8 biți pentru antrenament.

Presupune că un optimizator Adam pe 8 biți a fost definit ca adam_bnb_optim. Celelalte obiecte de antrenament au fost deja definite: model, train_dataloader, lr_scheduler și accelerator.

Acest exercițiu face parte din cursul

Antrenament eficient al modelelor AI cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Pregătește optimizatorul Adam pe 8 biți pentru antrenamentul distribuit.
  • Actualizează parametrii modelului cu ajutorul optimizatorului.
  • Resetează gradienții la zero cu ajutorul optimizatorului.

Exercițiu interactiv practic

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

# Prepare the 8-bit Adam optimizer for distributed training
model, adam_bnb_optim, train_dataloader, lr_scheduler = accelerator.prepare(model, ____, train_dataloader, lr_scheduler)

for batch in train_dataloader:
    inputs, targets = batch["input_ids"], batch["labels"]
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    accelerator.backward(loss)
    # Update the model parameters
    adam_bnb_optim.____()
    lr_scheduler.step()
    # Zero the gradients
    adam_bnb_optim.____()
    print(f"Loss = {loss}")
Editează și rulează codul