Perplexity (metric) (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

퍼플렉시티 (영어: Perplexity, PPL)는 정보 이론과 머신러닝에서 텍스트 샘플을 예측할 때 언어 모델이 가지는 불확실성 또는 '놀라움'의 척도이다. 낮은 퍼플렉시티는 모델의 확률 분포가 테스트 데이터에 잘 부합함을 나타내며, 높은 퍼플렉시티는 모델이 시퀀스를 잘 예측하지 못함을 의미한다[1].

형식적으로 퍼플렉시티는 확률 분포의 엔트로피에 대한 지수 함수로 정의된다. 이산 분포 p(x)에 대해 2H(p)이며, 여기서 H(p)은 엔트로피이다[2]. 직관적으로 퍼플렉시티는 모델이 각 단계에서 선택하는 '유효한' 선택지의 수로 이해할 수 있다. 퍼플렉시티가 100이라면, 모델의 불확실성이 100개의 동일한 확률을 가진 결과 중 하나를 선택하는 것과 동등하다는 의미이다[3].

이 용어는 1977년 프레더릭 옐리넥이 이끄는 IBM 연구팀에 의해 통계적 음성 인식 분야에서 과제의 '난이도'를 정량적으로 평가하기 위해 처음 도입되었다[4].

언어 모델에서의 퍼플렉시티

자연어 처리(NLP) 분야에서 퍼플렉시티는 언어 모델의 품질을 평가하기 위한 표준적인 내재적(intrinsic) 지표로 자리 잡았다. 이 지표는 모델이 테스트 데이터셋에서 단어 또는 token의 시퀀스를 얼마나 잘 예측하는지를 측정한다.

형식적 정의

테스트 코퍼스 W=w1w2wN와 언어 모델 q에 대해, 퍼플렉시티는 테스트 코퍼스의 역 평균 기하 확률을 단어 수로 정규화한 값으로 계산된다: PP(W,q)=(i=1N1q(wiw1,,wi1))1/N

이 공식은 교차 엔트로피, 즉 평균 로그 손실(negative log-likelihood)의 지수 함수와 동등하다: PP(W,q)=exp(1Ni=1Nlogq(wiконтекст))

퍼플렉시티 최소화는 테스트 데이터에서 모델의 가능도 최대화와 동등하다. 따라서 퍼플렉시티가 낮은 모델이 통계적으로 더 정확한 것으로 간주된다[5].

역사적 활용과 현대의 LLM

역사적으로 퍼플렉시티는 통계적 n-그램 모델을 평가하는 데 널리 사용되었다. 예를 들어, Wall Street Journal 코퍼스에서 유니그램 모델(단어 빈도만 고려)의 퍼플렉시티는 약 962인 반면, 트라이그램 모델(앞 두 단어의 문맥을 고려)은 약 109이다[6]. 이러한 급격한 감소는 모델이 언어 패턴을 얼마나 더 잘 포착하는지를 보여준다.

대형 언어 모델(LLM)의 발전과 함께 퍼플렉시티는 기본 기준 지표로서의 역할을 유지하고 있다. 연구자들은 모델의 '유창성' 지표로서 표준 테스트 세트(예: WikiText)에서의 퍼플렉시티를 보고한다. 예를 들어, GPT-2에 관한 OpenAI 논문에서는 약 1억 1,700만 개의 파라미터를 가진 모델이 WikiText-103 코퍼스에서 약 37의 퍼플렉시티를 달성한다고 명시하고 있다[7]. 퍼플렉시티의 감소는 일반적으로 모델 품질 향상과 상관관계가 있으므로, 이 지표는 훈련 및 최적화 과정에서 편리한 진척도 지표로 활용된다.

지표의 한계와 해석

낮은 퍼플렉시티가 모델에 따른 데이터의 높은 가능도를 나타내지만, 이 지표에는 몇 가지 중요한 한계가 있으며 생성된 텍스트의 실제 품질과 항상 상관관계를 갖지는 않는다.

  • 낮은 퍼플렉시티 ≠ 높은 품질. 퍼플렉시티는 모델의 예측에 대한 확신도를 측정하지, 그 예측의 정확성을 측정하지 않는다. 모델은 통계적으로 그럴듯하지만 무의미한 텍스트(예: 매우 빈번한 단어와 구문의 반복)를 생성하면서도 자신 있게 틀릴 수 있다[3].
  • 데이터 및 토크나이제이션에 대한 민감도. 퍼플렉시티는 아키텍처, 어휘, 또는 토크나이제이션 방식이 다른 모델들을 직접 비교하기에 적합하지 않다. 예를 들어, 문자 단위 모델의 퍼플렉시티가 수치적으로 단어 단위 모델보다 낮을 수 있지만, 이것이 언어 과제를 더 잘 해결한다는 의미는 아니다[3].
  • 의미론 및 장문 맥락 평가 불능. 퍼플렉시티는 다음 token 예측을 평가하는 국소적 지표이다. 이 지표는 모델이 장거리 의존성과 넓은 범위의 의미론적 맥락을 파악하는 능력과는 약한 상관관계를 보인다. 2023년 연구(Hu et al.)에서는 LLM이 긴 텍스트(최대 10만 token)를 이해하는 능력이 퍼플렉시티 지표에 거의 반영되지 않는다는 것을 보여주었다[8].
  • 조작 가능성. 이 지표는 '속임수'에 취약하다. 과적합된 모델은 '기억한' 데이터에 대해 인위적으로 낮은 퍼플렉시티를 보인다. 또한 연구(Wang et al., 2022)에서는 텍스트 일부의 중복이나 문장 끝 마침표의 누락만으로도 실제 텍스트 품질에 영향을 주지 않으면서 퍼플렉시티를 부당하게 낮추거나 높일 수 있다는 것이 밝혀졌다[9].

결론: 오늘날 퍼플렉시티의 역할

앞서 언급한 한계들을 고려할 때, 현대 실무에서 퍼플렉시티는 언어 모델 품질의 보조적, 예비적 지표로 간주된다. 특정 응용 과제에 의존하지 않고 계산이 간단하기 때문에, 모델의 빠른 평가와 디버깅을 위한 유용한 도구로 남아 있다[3].

그러나 LLM을 온전히 평가하기 위해서는 퍼플렉시티만으로는 충분하지 않다. 오늘날에는 반드시 특정 과제에 연결된 외재적(extrinsic) 지표로 보완해야 하며, 그 예시는 다음과 같다:

  • 질의응답 정확도;
  • 사람에 의한 평가(human evaluation);
  • 기계 번역 및 요약을 위한 BLEU/ROUGE.

이러한 방법들과 함께 사용될 때, 퍼플렉시티는 모델의 '놀라움'에 대한 객관적 척도로서 중요한 역할을 계속 수행하지만, 그 결과는 언급된 한계를 고려하여 항상 해석되어야 한다[3].

참조

  • 하브레(Хабр)의 「언어 모델에서의 퍼플렉시티」 글
  • 퍼플렉시티 계산에 관한 Hugging Face 문서

문헌

  • Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
  • Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (3판, 3장: N-gram Language Models). PDF.
  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
  • Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
  • Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
  • Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.

주석

  1. «Перплексия». Википедия. [1]
  2. «Perplexity». Wikipedia. [2]
  3. 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. «Perplexity for LLM Evaluation». Comet AI Blog, 21 Nov 2024. [3]
  4. «README.md · evaluate-measurement/perplexity». Hugging Face. [4]
  5. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
  6. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
  7. «Perplexity number of wikitext-103 on gpt-2 don't match the paper». GitHub, huggingface/transformers, Issue #483. [7]
  8. Hu, H., et al. «Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?». arXiv:2405.06105 [cs.CL], 10 мая 2024 г. [8]
  9. Wang, C., et al. «Perplexity by PLM Is Unreliable for Evaluating Text Quality». arXiv:2210.05892 [cs.CL], 12 окт. 2022 г. [9]