본문 바로가기
AI

[NLP] 언어모델의 평가 지표 - PPL, BLEU score

by jjjaeunn 2023. 11. 21.

이미지 태스크와 달리 NLP에서는 모델의 성능을 평가하기 위해서는 정답 문장과 예측 문장 사이의 연관성을 평가해야 한다.

BLEU score(↑) : 정답 문장과 예측 문장 사이에 n-gram이 겹치는 정도의 기하평균
PPL score(↓) : token 예측 확률 q의 역수를 기하평균 -

“혼란이 적어질수록, 원하는 결과를 얻을 수 있는 확률이 높아진다”

 

BLEU score

BLEU score를 이해하기 위해서는 precisionN-gram에 대한 이해가 선행되어야 한다.

precision : #(correct words) / (length_of_prediction)

N-gram : 연속적인 단어들을 의미

 

-> 둘을 합치면? 각 N-gram 에서의 precision을 구할 수 있다. 

  • BLEU score를 이용하면 각 precision들의 기하평균을 구해 정답문장과 예측문장 길이의 비교까지 진행할 수 있게 된다.
  • 즉, n-gram이 겹치는 정도를 통해 번역된 의미가 어느정도 해석에 성공했는지를 확인할 수 있는 지표이다.

 

PPL score

 

autoregressive, casual language model에서 자주 사용되는 퍼플렉시티(perplexity) 지표이다. 양방향을 고려하는 BERT와 같은 모델에서는 자주 사용되지 않는다.

perplexity의 의미에서 알 수 있듯이,  다음 단어를 예측하는 과정에서 어느 정도의 혼란을 겪는지를 지표로 나타낸 것이다. 한 문장 내에서 일관성 있는 예측이 가능하다면, PPL score는 낮다.

 

  • token 예측 확률 p의 역수를 기하평균한 값을 PPL로 사용한다.
  • PPL은 낮을 수록 높은 성능, 즉 p가 낮아야 혼란 없는 예측 확률이 높고, perplexity가 적은 확실한 예측을 할 수 있다. 

https://donghwa-kim.github.io/BLEU.html

https://huggingface.co/docs/transformers/perplexity