AdamW з Accelerator
Ви хочете налаштувати власний цикл навчання з використанням Accelerator і взяти AdamW як базовий оптимізатор для моделі перекладу тексту. Побудуйте цикл навчання з AdamW.
Деякі обʼєкти для навчання вже завантажено й визначено, зокрема model, train_dataloader та accelerator.
Ця вправа є частиною курсу
Ефективне тренування моделей ШІ з PyTorch
Інструкції до вправи
- Підготуйте обʼєкти для навчання до розподіленого режиму перед циклом.
- Оновлюйте параметри моделі в циклі навчання.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")