CommencerCommencer gratuitement

Mise en place du modèle en mode évaluation

Vous êtes prêt à mettre votre modèle linguistique en mode évaluation. Si le modèle n'est pas en mode évaluation pendant l'inférence, des couches telles que la normalisation des lots et l'abandon introduiront des changements dans le comportement du modèle, ce qui entraînera une qualité de traduction incohérente. Construisez la boucle pour évaluer le modèle !

Certaines données ont été préchargées : model, eval_dataloader, accelerator, et metric.

Cet exercice fait partie du cours

Entraînement efficace de modèles d'IA avec PyTorch

Afficher le cours

Instructions

  • Placez le modèle en mode évaluation avant de parcourir les lots de l'ensemble de données.
  • Agréger predictions et labels sur l'ensemble des appareils pour calculer les mesures d'évaluation à l'aide de la méthode .gather_for_metrics() d'Accelerator.
  • Calculer la métrique d'évaluation à la fin.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code