Modeli değerlendirme moduna alma
Dil modelini değerlendirme moduna almaya hazırsın. Model çıkarım sırasında değerlendirme modunda değilse, batch normalization ve dropout gibi katmanlar modelin davranışını değiştirir ve tutarsız çeviri kalitesine yol açar. Modeli değerlendirmek için döngüyü kur!
Bazı veriler önceden yüklendi: model, eval_dataloader, accelerator ve metric.
Bu egzersiz, kursun bir parçasıdır
PyTorch ile Verimli AI Model Eğitimi
Egzersiz talimatları
- Veri kümesindeki batch'ler üzerinde döngüye başlamadan önce modeli değerlendirme moduna al.
- Değerlendirme metriklerini hesaplamak için cihazlar arasında
predictionsvelabelsdeğerlerini Accelerator'ın.gather_for_metrics()yöntemiyle birleştir. - Sonda değerlendirme metriğini hesapla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)