Цикл обучения до и после применения Accelerator
Вам нужно адаптировать цикл обучения PyTorch для использования Accelerator в языковой модели, которая упрощает перевод с помощью набора данных MRPC, содержащего перефразированные предложения. Обновите цикл обучения, чтобы подготовить модель к распределённому обучению.
Некоторые данные уже загружены:
accelerator— экземпляр классаAcceleratortrain_dataloader,optimizer,modelиlr_schedulerопределены и подготовлены с помощьюAccelerator
Это упражнение является частью курса
Эффективное обучение моделей ИИ с PyTorch
Инструкции к упражнению
- Обновите строки с
.to(device)так, чтобы размещением данных на устройстве управлял Accelerator. - Измените вычисление градиентов, задействовав
Accelerator.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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()