Mengatur model ke mode evaluasi
Anda siap menempatkan model bahasa Anda dalam mode evaluasi. Jika model tidak berada dalam mode evaluasi saat inferensi, lapisan seperti batch normalization dan dropout akan mengubah perilaku model, sehingga menghasilkan kualitas terjemahan yang tidak konsisten. Bangun loop untuk mengevaluasi model!
Beberapa data telah dimuat sebelumnya: model, eval_dataloader, accelerator, dan metric.
Latihan ini merupakan bagian dari kursus
Pelatihan Model AI Efisien dengan PyTorch
Instruksi latihan
- Atur model ke mode evaluasi sebelum melakukan loop melalui batch dalam himpunan data.
- Gabungkan
predictionsdanlabelsdi seluruh perangkat untuk menghitung metrik evaluasi dengan metode.gather_for_metrics()milik Accelerator. - Hitung metrik evaluasi di akhir.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)