Kom igångKom igång gratis

Adafactor med Accelerator

Du har visat ett konceptbevis för Adafactor med Trainer för att träna din språköversättningsmodell med lägre minneskrav. Nu vill du anpassa din träningsloop med hjälp av Accelerator. Bygg träningsloopen så att den använder Adafactor!

Funktionen compute_optimizer_size() är fördefinierad. Några träningsobjekt är förinlästa: model, train_dataloader och accelerator. Adafactor har förimporerats från torch.optim.

Den här övningen är en del av kursen

Effektiv AI-modellträning med PyTorch

Visa kurs

Övningsinstruktioner

  • Skicka in modellens parametrar till Adafactor när du definierar optimizer.
  • Skicka in optimeringstillståndet för att skriva ut storleken.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Pass the model parameters to Adafactor
optimizer = Adafactor(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(optimizer.state.____())
print(f"Number of optimizer parameters: {total_num_elements:,}\nOptimizer size: {total_size_megabytes:.0f} MB")  
Redigera och kör kod