ComenzarEmpieza gratis

Poner el modelo en modo evaluación

Ya estás listo para poner tu modelo lingüístico en modo de evaluación. Si el modelo no está en modo de evaluación durante la inferencia, capas como la normalización por lotes y el abandono introducirán cambios en el comportamiento del modelo, lo que dará lugar a una calidad de traducción incoherente. ¡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

Ver curso

Instrucciones del ejercicio

  • Pon el modelo en modo evaluación antes de recorrer los lotes del conjunto de datos.
  • Agrega predictions y labels en todos los 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 completando 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)
Editar y ejecutar código