Навчання зі змішаною точністю з Accelerator
Ви хочете спростити свій цикл PyTorch для навчання зі змішаною точністю вашої моделі перекладу мов за допомогою Accelerator. Побудуйте новий тренувальний цикл, щоб використати можливості Accelerator!
Деякі об’єкти вже завантажено: dataset, model, dataloader та optimizer.
Ця вправа є частиною курсу
Ефективне тренування моделей ШІ з PyTorch
Інструкції до вправи
- Увімкніть навчання зі змішаною точністю з використанням FP16 у
Accelerator. - Підготуйте тренувальні об’єкти до навчання зі змішаною точністю перед циклом.
- Обчисліть градієнти функції втрат для навчання зі змішаною точністю.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Enable mixed precision training using FP16
accelerator = Accelerator(____="____")
# Prepare training objects for mixed precision training
model, optimizer, train_dataloader, lr_scheduler = ____.____(____, ____, ____, ____)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
# Compute the gradients of the loss
____.____(loss)
optimizer.step()
optimizer.zero_grad()