Accelerator を使ったトレーニングループの構築
言語翻訳サービス向けのトレーニングループを実装する準備が整いました。Accelerator が分散トレーニングのために PyTorch ループをどのように変更するかを確認したので、トレーニングループで Accelerator クラスを活用しましょう。
以下のデータはあらかじめ読み込まれています。
acceleratorはAcceleratorのインスタンスですtrain_dataloader、optimizer、model、lr_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
____.____()