使用 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()