始める無料で始める

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
    ____.____()
コードを編集して実行