ComeçarComece de graça

Colocando o modelo em modo de avaliação

Agora você vai colocar seu modelo de linguagem em modo de avaliação. Se o modelo não estiver em modo de avaliação durante a inferência, camadas como batch normalization e dropout vão alterar o comportamento do modelo, levando a uma qualidade de tradução inconsistente. Construa o loop para avaliar o modelo!

Alguns dados já foram pré-carregados: model, eval_dataloader, accelerator e metric.

Este exercício faz parte do curso

Treinamento Eficiente de Modelos de IA com PyTorch

Ver curso

Instruções do exercício

  • Coloque o modelo em modo de avaliação antes de iterar pelos lotes no conjunto de dados.
  • Agregue predictions e labels entre os dispositivos para calcular as métricas de avaliação usando o método .gather_for_metrics() do Accelerator.
  • Calcule a métrica de avaliação ao final.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código