开始使用免费开始使用

使用 Accelerator 前后的训练循环

您希望将一个 PyTorch 训练循环修改为使用 Accelerator,以便在 MPRC 句子复述数据集上为您的语言模型简化翻译流程。请更新训练循环,使模型为分布式训练做好准备。

部分数据已预加载:

  • acceleratorAccelerator 的一个实例
  • train_dataloaderoptimizermodellr_scheduler 已使用 Accelerator 定义并完成准备

本练习是课程的一部分

使用 PyTorch 高效训练 AI 模型

查看课程

练习说明

  • 更新 .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()
编辑并运行代码