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
Instrukcje do ćwiczenia
- Przed przejściem przez partie danych w zbiorze danych przełącz model w tryb ewaluacji.
- Zagreguj
predictionsilabelsmię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)