📌 펄플렉서티(Perplexity, PPL)
1. PPL이란?
**펄플렉서티(Perplexity)**는 언어 모델의 성능을 평가하기 위한 지표입니다.
보통 줄여서 PPL이라 부릅니다.
- 영어 perplexed → “헷갈리는”과 비슷한 의미
- PPL은 모델이 다음 단어를 예측할 때 얼마나 헷갈리는지를 수치로 나타냄
- 값이 낮을수록 모델 성능이 좋음 (높을수록 혼란스러운 모델)
2. PPL의 정의
PPL은 문장의 길이로 정규화된 문장 확률의 역수입니다.
PPL(W)=P(w1,w2,...,wN)−N1
- W : 문장 전체
- N : 문장의 단어 수
Chain Rule 적용
문장 확률은 조건부 확률로 풀 수 있습니다.
P(W)=t=1∏NP(wt∣w1,...,wt−1)
예: Bigram 모델
PPL(W)=(t=1∏NP(wt∣wt−1))−N1
3. PPL의 의미 — 분기 계수(Branching Factor)
PPL은 모델이 다음 단어를 선택할 때 평균적으로 몇 개의 후보를 두고 고민하는지를 나타냅니다.
예:
- PPL = 10 → 평균적으로 10개의 단어 후보 중에서 정답을 고르는 수준
- PPL이 작을수록 모델이 더 **결정적(Confident)**이라는 의미
4. 사용 시 주의사항
- PPL ↓ = 테스트 데이터에서 높은 정확도
→ 사람이 느끼는 "좋은 모델"과 반드시 동일하진 않음
- PPL은 테스트 데이터 의존
→ 모델 비교 시 반드시 같은 데이터셋을 사용해야 신뢰 가능
- 도메인에 맞는 데이터 사용 필수
5. N-gram vs Neural LM — PPL 비교 예시
페이스북 AI 연구팀이 발표한 결과:
모델 | PPL |
---|
5-gram + Interpolated Kneser-Ney | 67.6 |
RNN 기반 Neural LM | ↓ |
LSTM 기반 Neural LM | ↓↓ |
기타 Neural LM 변형 | 더 낮은 값 |
💡 Neural LM(인공 신경망 언어 모델)이 대체로 N-gram 모델보다 PPL이 낮음
→ 더 정확한 다음 단어 예측 가능
6. 결론
- PPL은 빠르게 언어 모델의 성능을 비교하는 지표
- 낮을수록 좋음
- 단, 실제 사용자 경험과 완전히 일치하지 않을 수 있음
- Neural LM이 N-gram 기반 모델보다 PPL이 낮은 경향
📌 정리
- PPL = "헷갈리는 정도" → 낮을수록 좋은 모델
- 계산식은 문장 확률의 역수를 사용
- 모델 비교 시 같은 테스트 데이터로 측정해야 의미 있음