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 deAccelerator
train_dataloader``optimizer
,model
, elr_scheduler
foram definidos e preparados comAccelerator
Este exercício faz parte do curso
Treinamento eficiente de modelos de IA com PyTorch
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()