Accelerator を使った AdamW
言語翻訳モデルに対して、Accelerator を使ってトレーニングループをカスタマイズし、ベースラインのオプティマイザーとして AdamW を使用しましょう。AdamW を使ったトレーニングループを構築してください。
model、train_dataloader、accelerator など、必要なオブジェクトはあらかじめ定義されています。
この演習はコースの一部です
PyTorch による効率的な AI モデルトレーニング
演習の手順
- ループの前に、分散学習用にトレーニングオブジェクトを準備してください。
- トレーニングループ内で、モデルのパラメータを更新してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
optimizer = AdamW(params=model.parameters())
# Prepare training objects for distributed training
model, optimizer, train_dataloader = ____.____(model, optimizer, train_dataloader)
for batch in train_dataloader:
inputs, targets = batch["input_ids"], batch["labels"]
outputs = model(inputs, labels=targets)
loss = outputs.loss
accelerator.backward(loss)
# Update the model parameters
____.____()
optimizer.zero_grad()
print(f"Loss = {loss}")