Configuração do modelo no modo de avaliação
Você está pronto para definir seu modelo de linguagem no modo de avaliação. Se o modelo não estiver no modo de avaliação durante a inferência, camadas como normalização de lote e abandono introduzirão alterações no comportamento do modelo, levando a uma qualidade de tradução inconsistente. Crie o loop para avaliar o modelo!
Alguns dados foram pré-carregados: model
, eval_dataloader
, accelerator
, e metric
.
Este exercício faz parte do curso
Treinamento eficiente de modelos de IA com PyTorch
Instruções do exercício
- Defina o modelo no modo de avaliação antes de percorrer os lotes no conjunto de dados.
- Agregue
predictions
elabels
em todos os dispositivos para calcular as métricas de avaliação com o método.gather_for_metrics()
do Accelerator. - Calcule a métrica de avaliação no 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)