開始使用免費開始

使用 Accelerator 建立訓練迴圈

你已準備好為你的語言翻譯服務實作訓練迴圈。既然你已看過 Accelerator 如何修改 PyTorch 的迴圈來進行分散式訓練,現在就把 Accelerator 類別用在你的訓練迴圈吧!

部分資料已預先載入:

  • acceleratorAccelerator 的實例。
  • train_dataloaderoptimizermodellr_scheduler 已使用 Accelerator 定義並完成準備。

本練習屬於課程

使用 PyTorch 高效訓練 AI 模型

檢視課程

練習說明

  • 呼叫 optimizer 將梯度清零。
  • 更新模型參數。
  • 更新 optimizer 的學習率。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

for batch in train_dataloader:
    # Call the optimizer to zero the gradients
    ____.____()
    inputs, targets = batch["input_ids"], batch["labels"]
    outputs = model(inputs, labels=targets)
    loss = outputs.loss
    accelerator.backward(loss)
    # Update the model's parameters
    ____.____()
    # Update the learning rate of the optimizer
    ____.____()
編輯並執行程式碼