Aan de slagBegin gratis

Trainingslussen vóór en na Accelerator

Je wilt een PyTorch-trainingslus aanpassen om Accelerator te gebruiken voor je taalmodel, zodat je vertalingen kunt vereenvoudigen met de MPRC-gegevensset met zinsparafrases. Werk de trainingslus bij om je model voor te bereiden op distributed training.

Een deel van de data is al geladen:

  • accelerator is een instantie van Accelerator
  • train_dataloader, optimizer, model en lr_scheduler zijn gedefinieerd en voorbereid met Accelerator

Deze oefening maakt deel uit van de cursus

Efficiënt AI-modellen trainen met PyTorch

Bekijk cursus

Oefeninstructies

  • Werk de .to(device)-regels bij zodat Accelerator de plaatsing op het apparaat regelt.
  • Pas de gradiëntberekening aan om Accelerator te gebruiken.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

for batch in train_dataloader:
    optimizer.zero_grad()
    inputs, targets = batch["input_ids"], batch["labels"]
    # Update the lines so Accelerator handles device placement
    inputs = inputs.to(device)
    targets = targets.to(device)
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    # Modify the gradient computation to use Accelerator
    ____.backward(____)
    optimizer.step()
    lr_scheduler.step()
Code bewerken en uitvoeren