Zacznij terazZacznij za darmo

Przełączanie modelu w tryb ewaluacji

Czas przełączyć model językowy w tryb ewaluacji. Jeśli model nie jest w tym trybie podczas wnioskowania, warstwy takie jak normalizacja wsadowa i dropout mogą zmieniać jego zachowanie, co prowadzi do niespójnej jakości tłumaczeń. Zbuduj pętlę do ewaluacji modelu!

Następujące dane zostały wstępnie załadowane: model, eval_dataloader, accelerator i metric.

To ćwiczenie jest częścią kursu

Efektywne trenowanie modeli AI z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Przed przejściem przez partie danych w zbiorze danych przełącz model w tryb ewaluacji.
  • Zagreguj predictions i labels między urządzeniami, aby obliczyć metryki ewaluacji – użyj do tego metody .gather_for_metrics() obiektu Accelerator.
  • Na końcu oblicz metrykę ewaluacji.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod