Poner el modelo en modo de evaluación
Ya puedes poner tu modelo de lenguaje en modo de evaluación. Si el modelo no está en modo de evaluación durante la inferencia, capas como batch normalization y dropout modificarán su comportamiento y producirán una calidad de traducción inconsistente. ¡Construye el bucle para evaluar el modelo!
Se han precargado algunos datos: model, eval_dataloader, accelerator y metric.
Este ejercicio forma parte del curso
Entrenamiento eficiente de modelos de IA con PyTorch
Instrucciones del ejercicio
- Pon el modelo en modo de evaluación antes de iterar por los lotes del conjunto de datos.
- Agrega
predictionsylabelsentre dispositivos para calcular las métricas de evaluación con el método.gather_for_metrics()de Accelerator. - Calcula la métrica de evaluación al final.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)