Тренувальні цикли до та після Accelerator
Ви хочете змінити тренувальний цикл у PyTorch, щоб використовувати Accelerator для вашої мовної моделі та спростити переклади за допомогою набору MPRC із парафразами речень. Оновіть тренувальний цикл, щоб підготувати модель до розподіленого навчання.
Частину даних уже завантажено:
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()