Začněte nyníZačněte zdarma

8-bit Adam s Acceleratorem

Chceš přizpůsobit trénovací smyčku pomocí 8-bit Adama, aby model měl nižší nároky na paměť. Připrav smyčku s 8-bit Adamem pro trénování.

Předpokládej, že 8-bit Adam optimizer je definovaný jako adam_bnb_optim. Ostatní objekty pro trénování jsou již definovány: model, train_dataloader, lr_scheduler a accelerator.

Toto cvičení je součástí kurzu

Efficient AI Model Training with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Připrav 8-bit Adam optimizer pro distribuované trénování.
  • Aktualizuj parametry modelu pomocí optimizeru.
  • Vynuluj gradienty pomocí optimizeru.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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}")
Upravit a spustit kód