Impostare il modello in modalità valutazione
Sei pronto a impostare il tuo modello di linguaggio in modalità valutazione. Se il modello non è in modalità valutazione durante l'inferenza, livelli come batch normalization e dropout possono modificare il comportamento del modello, portando a una qualità di traduzione incoerente. Costruisci il loop per valutare il modello!
Alcuni dati sono stati precaricati: model, eval_dataloader, accelerator e metric.
Questo esercizio fa parte del corso
Efficient AI Model Training with PyTorch
Istruzioni dell'esercizio
- Imposta il modello in modalità valutazione prima di iterare sui batch dell'insieme di dati.
- Aggrega
predictionselabelstra i dispositivi per calcolare le metriche di valutazione con il metodo.gather_for_metrics()di Accelerator. - Calcola la metrica di valutazione alla fine.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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)