언어 모델 평가 지표 PPL 알아보기

언어 모델 평가 지표 PPL 알아보기
Photo by Rex / Unsplash

이번 시간에는 언어 모델을 평가할 때 사용하는 지표인 PPL(Perplexity) 에 대해서 알아봅니다.

PPL의 의미

A와 B 두가지 언어 모델이 있다고 가정해봅시다. 두가지 중 어떤 언어 모델의 성능이 더 좋다고 말할 수 있을까요?
모델 간 성능 비교를 위해서는 평가 지표라는 것이 필요합니다. 언어 모델(Language Model)을 평가할 때 사용하는 지표 중 하나가 바로 PPL 입니다. PPL은 테스트 문장을 이용하여 빠르고 간단하게 모델을 평가할 수 있다는 것이 특징입니다.

PPL(Perplexity)는 perplexed라는 영어 단어에서 의미를 따왔습니다. perplexed는 한국어로 헷갈리는 이라는 의미를 가지고 있습니다. PPL이란 언어 모델이 문장을 생성할 때 헷갈리는 정도를 의미합니다.
PPL이 낮다는 것은 그만큼 언어 모델이 문장을 생성할 때 덜 헷갈린다는 뜻입니다. 즉, PPL이 낮을수록 대체로 성능이 좋은 언어모델을 뜻합니다.
하지만 여기서 주의할 점은 PPL이 낮다고 무조건 좋은 언어 모델은 아니라는 것입니다. PPL이 낮은 모델에서 생성한 문장이라도 사람 입장에서는 어색한 문장일수 있습니다. 따라서 PPL을 측정할 때는 많은 양의 그리고 도메인에 알맞는 테스트 문장들을 이용했는지 확인해야합니다.

PPL 어떻게 구할까요?

PPL은 아래와 같은 수식으로 구할 수 있습니다.

위 식에서 P(w1​,w2​,w3​,...,wN​) 은 언어 모델에서 주어진 문장이 나타날 확률을 의미합니다. 확률값들의 기하 평균을 구하고, 역수를 취한 것이 바로 PPL입니다. 이때 N은 문장의 길이를 의미합니다. 만약 언어 모델이 주어진 문장을 생성할 확률이 높다면 PPL이 낮아지게 됩니다. 여기서 PPL을 측정할 때는 미리 준비한 테스트 문장들을 사용합니다.

Q. 확률값들의 기하평균을 취해주는 이유는 무엇인가요?
A. 문장을 생성할 확률인 P(w1​,w2​,w3​,...,wN​) 은 문장이 길어질수록 매우 작은 확률값을 가지게 됩니다. 왜냐하면 조건부확률의 연쇄법칙에 의해 1보다 작은 확률값들을 계속 곱해주기 때문입니다. 이를 방지하기 위해 곱의 평균을 의미하는 기하 평균을 취해주게 되는 것입니다.

위 식을 n-gram 에 대해서도 적용할 수 있습니다.
연쇄 법칙 을 이용하면 아래와 같이 나타낼 수 있습니다.

여기에 n-gram을 적용하면 아래와 같습니다.

PPL과 분기(Branch)

PPL은 모델이 단어를 선택할 때 가지는 분기(branch)의 개수를 의미하기도 합니다.

한가지 예제를 들어보겠습니다. 1부터 6가지의 숫자가 쓰인 주사위가 있습니다. 이 주사위를 N번 던졌을 때 얻는 수열에 대한 PPL은 아래와 같이 6이 나오게 됩니다.

이는 매 time-step마다 6가지의 분기가 있음이라고 해석할 수 있습니다.

마찬가지로 어떤 언어 모델의 PPL이 10이라면 해당 언어 모델은 다음 단어를 선택할 때 평균 10개의 단어 후보 중에서 선택한다고 볼 수 있습니다. 즉, PPL이 높을수록 단어 선택의 후보군이 많다는 의미로, 모델이 단어 선택을 헷갈리고 있다는 뜻입니다.

PPL과 엔트로피

PPL을 엔트로피 개념에 접목시키면 아래와 같은 수식을 얻을 수 있습니다.

CrossEntropy의 확률값에 지수 함수를 취해주면 간단하게 PPL을 구할 수 있습니다. 이러한 성질덕분에 모델 학습시 PPL을 유용하게 사용할 수 있습니다.

자세한 유도 과정은 링크를 참고해주시기 바랍니다.

Reference

Read more

[논문 리뷰] Learning Retrieval Augmentation for Personalized Dialogue Generation

[논문 리뷰] Learning Retrieval Augmentation for Personalized Dialogue Generation

이번 시간에는 Personalized dialogue generation을 RAG와 결합하여 시도한 "Learning Retrieval Augmentation for Personalized Dialogue Generation" 논문을 살펴봅니다. 특히 최근에 개인화된 AI가 주목 받고 있는데요, AI가 사용자의 페르소나, 정보, 성격 등을 반영한다면 더욱 풍성하고 도움이 되는 답변을 생성할 수 있습니다. 이를 Personalized dialogue generation이라고 하는데요. 연구팀은 어떻게 해당 문제를

By Yongwoo Song
[독서] 나는 왜 생각이 많을까?

[독서] 나는 왜 생각이 많을까?

✒️발상을 바꿔야 한다. 앞으로는 '불안해하지 말아야지'가 아니라 '불안과 더불어 살아가야지'라고 생각하자.나는 왜 생각이 많을까? | 홋타 슈고 | 서사원- 교보ebook머릿속의 스위치를 끄고 싶을 때 보는 뇌과학 이야기, 심플한 사고법은 아무나 가질 수 없다! 그러나 누구나 해 볼 수 있다! 짧게 생각하고 빠르게 행동하기 위한 필독서!

By Yongwoo Song
[독서] 자기 경영 노트 - 피터 드러커

[독서] 자기 경영 노트 - 피터 드러커

✒️성과를 올리는 모든 사람들은 목표를 달성하기 위한 실행 능력을 갖추고 있다. 이 실행 능력은 기업에서 일하든, 정부기관에서 일하든, 병원의 관리자이든, 대학의 학장이든 똑같다.피터 드러커 자기경영노트 | 피터 드러커 | 한국경제신문- 교보ebook어떻게 ‘성과를 내는 경영 리더’가 되는가 지식작업자를 위한 변화와 혁신의 5가지 법칙! 이 책의 주제는 성과를 내는 능력을 향상시키기 위한

By Yongwoo Song