평가 함수는 예측과 정답을 지표로 바꿔
Trainer는 평가 시점마다 compute_metrics(pred)를 불러. pred.predictions에는 logit이나 예측, pred.label_ids에는 정답이 들어 있고, 함수가 dict를 돌려주면 Trainer가 기록하고 추적해.
표준 지표는 Evaluate에서 불러와
evaluate.load('accuracy')처럼 accuracy, F1, BLEU, ROUGE, BERTScore, perplexity, exact match를 Hub에서 불러올 수 있어. 한 번에 계산할 때는 compute(), 여러 batch를 누적할 때는 add_batch()를 사용해.
편한 지표가 아니라 실패를 드러내는 지표를 골라
균형 분류에는 accuracy, 불균형 분류에는 F1이 더 적합해. 번역과 요약의 BLEU·ROUGE는 사람 판단과 어긋날 수 있으므로 대화 평가에서는 BERTScore나 embedding 유사도, 사람 검토를 함께 써.