Loops de treino antes e depois do Accelerator
Você quer modificar um loop de treino do PyTorch para usar o Accelerator no seu modelo de linguagem e, assim, simplificar traduções usando o conjunto de dados MPRC de paráfrases de sentenças. Atualize o loop de treino para preparar seu modelo para treinamento distribuído.
Alguns dados já foram pré-carregados:
acceleratoré uma instância deAcceleratortrain_dataloader,optimizer,modelelr_schedulerforam definidos e preparados com oAccelerator
Este exercício faz parte do curso
Treinamento Eficiente de Modelos de IA com PyTorch
Instruções do exercício
- Atualize as linhas
.to(device)para que o Accelerator cuide da alocação de dispositivos. - Modifique o cálculo de gradientes para usar o
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()