Построение цикла обучения с Accelerator
Вы готовы реализовать цикл обучения для сервиса языкового перевода. Теперь, когда вы увидели, как Accelerator адаптирует цикл PyTorch для распределённого обучения, вы можете использовать класс Accelerator в своём цикле обучения!
Часть данных уже загружена:
accelerator— экземпляр классаAcceleratortrain_dataloader,optimizer,modelиlr_schedulerопределены и подготовлены с помощьюAccelerator
Это упражнение является частью курса
Эффективное обучение моделей ИИ с PyTorch
Инструкции к упражнению
- Вызовите метод
optimizerдля обнуления градиентов. - Обновите параметры модели.
- Обновите скорость обучения для
optimizer.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
for batch in train_dataloader:
# Call the optimizer to zero the gradients
____.____()
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model's parameters
____.____()
# Update the learning rate of the optimizer
____.____()