ComeçarComece de graça

Loops de treinamento antes e depois do Accelerator

Você deseja modificar um loop de treinamento do PyTorch para usar o Accelerator em seu modelo de idioma a fim de simplificar as traduções usando o conjunto de dados MPRC de paráfrases de frases. Atualize o loop de treinamento para preparar o modelo para o treinamento distribuído.

Alguns dados foram pré-carregados:

  • accelerator é uma instância de Accelerator
  • train_dataloader``optimizer, model, e lr_scheduler foram definidos e preparados com Accelerator

Este exercício faz parte do curso

Treinamento eficiente de modelos de IA com PyTorch

Ver curso

Instruções do exercício

  • Atualize as linhas do site .to(device) para que o Accelerator lide com o posicionamento do dispositivo.
  • Modifique o cálculo do gradiente para usar o site Accelerator.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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()
Editar e executar o código