Setarea modelului în modul de evaluare
Ești pregătit să setezi modelul de limbaj în modul de evaluare. Dacă modelul nu se află în modul de evaluare în timpul inferenței, straturi precum normalizarea pe lot (batch normalization) și dropout vor modifica comportamentul modelului, ducând la o calitate inconsistentă a traducerii. Construiește bucla pentru a evalua modelul!
Unele date au fost preîncărcate: model, eval_dataloader, accelerator și metric.
Acest exercițiu face parte din cursul
Antrenament eficient al modelelor AI cu PyTorch
Instrucțiuni pentru exercițiu
- Setează modelul în modul de evaluare înainte de a parcurge loturile din setul de date.
- Agregă
predictionsșilabelspe toate dispozitivele pentru a calcula metricile de evaluare, folosind metoda.gather_for_metrics()a obiectului Accelerator. - Calculează metrica de evaluare la final.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)