Accelerator 導入前後のトレーニングループ
MPRCの文言い換えデータセットを使って翻訳を簡略化する言語モデルに、Accelerator を使用するよう PyTorch のトレーニングループを修正しましょう。分散トレーニングに対応できるよう、トレーニングループを更新してください。
以下のデータはあらかじめ読み込まれています。
acceleratorはAcceleratorのインスタンスですtrain_dataloader、optimizer、model、lr_schedulerはすでに定義され、Acceleratorで準備済みです
この演習はコースの一部です
PyTorch による効率的な AI モデルトレーニング
演習の手順
Acceleratorがデバイスへの配置を管理するように、.to(device)の行を更新してください。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()