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

2023. 11. 21. 18:12·AI

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

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

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

 

BLEU score

BLEU score를 이해하기 위해서는 precision과 N-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

 

저작자표시 (새창열림)

'AI' 카테고리의 다른 글

[Python] 자연어처리 - TfidfVectorizer  (0) 2024.07.30
[RecSys] Latent Factor 알아보기  (0) 2024.03.26
[PyTorch] Transformers 라이브러리 #2  (2) 2023.11.01
[PyTorch] Transformer 라이브러리 #1  (0) 2023.10.30
[PyTorch] M1, M2 칩으로 Pytorch GPU 사용하기  (0) 2023.08.10
'AI' 카테고리의 다른 글
  • [Python] 자연어처리 - TfidfVectorizer
  • [RecSys] Latent Factor 알아보기
  • [PyTorch] Transformers 라이브러리 #2
  • [PyTorch] Transformer 라이브러리 #1
jjjaeunn
jjjaeunn
  • jjjaeunn
    eunlogツ
    jjjaeunn
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 논문 리뷰
      • AI
      • Computer Science
      • 알고리즘
  • 블로그 메뉴

    • 홈
    • papers
    • algorithm
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    빅데이터연합동아리
    데이터베이스
    gpu
    MLM
    보아즈
    db
    BERT
    동아리
    pytorch
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
jjjaeunn
[NLP] 언어모델의 평가 지표 - PPL, BLEU score
상단으로

티스토리툴바