使用 Accelerator 的混合精度训练
您希望使用 Accelerator 来简化用于训练机器翻译模型的 PyTorch 混合精度训练循环。请构建新的训练循环以充分利用 Accelerator!
部分对象已预加载:dataset、model、dataloader 和 optimizer。
本练习是课程的一部分
使用 PyTorch 高效训练 AI 模型
练习说明
- 在
Accelerator中使用 FP16 启用混合精度训练。 - 在循环开始前,为混合精度训练准备训练对象。
- 计算用于混合精度训练的损失梯度。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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()