结合 Accelerator 的 AdamW
您希望使用 Accelerator 来自定义训练循环,并将 AdamW 作为您的机器翻译模型的基准优化器。请构建使用 AdamW 的训练循环。
部分训练对象已预加载并定义,包括 model、train_dataloader 和 accelerator。
本练习是课程的一部分
使用 PyTorch 高效训练 AI 模型
练习说明
- 在循环开始前,将训练对象准备为分布式训练可用。
- 在训练循环中更新模型参数。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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}")