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