始める無料で始める

モデルを評価モードに設定する

いよいよ言語モデルを評価モードに設定しましょう。推論時にモデルが評価モードになっていない場合、バッチ正規化やドロップアウトなどのレイヤーがモデルの動作に影響を与え、翻訳品質が不安定になることがあります。モデルを評価するためのループを構築しましょう。

modeleval_dataloaderacceleratormetric はあらかじめ読み込まれています。

この演習はコースの一部です

PyTorch による効率的な AI モデルトレーニング

コースを見る

演習の手順

  • データセットのバッチをループ処理する前に、モデルを評価モードに設定します。
  • Accelerator の .gather_for_metrics() メソッドを使って、デバイス間で predictionslabels を集約し、評価指標を計算できるようにします。
  • 最後に評価指標を計算します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

metric = evaluate.load("glue", "mrpc")

# Set the model in evaluation mode
____.____()
for step, batch in enumerate(eval_dataloader):
    with torch.no_grad():
        outputs = model(**batch)
    predictions = outputs.logits.argmax(dim=-1)
    # Aggregate values across devices
    predictions, references = ____.____((predictions, batch["labels"]))
    metric.add_batch(predictions=predictions, references=references)
# Compute the evaluation metric
eval_metric = metric.____()
print(eval_metric)
コードを編集して実行