Створення тренувального циклу з 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
____.____()