HyperCLOVA의 한국어 모델(2)
HyperCLOVA 모델을 개발하고 그 성능을 테스트 하기 위해 어떠한 지표(Metric)을 구성하고 사용하였는지에 대해 소개한다.
설계 목적
HyperCLOVA가 지표(Metric)을 통해 측정하고자 하는 바를 한 문장으로 표현하면
'모델이 생성한 문장은 얼마나 유창한가' 이다.
문제점들
지표를 모델의 수준을 정량화 하기 위해서는 문장의 유창성(Fluency)을 정의할 수 있어야 하고, 수치적으로 측정할 수 있어야 한다.
하지만 비약적으로 발전한 언어 생성 모델에 비해서, 그것을 평가하는 지표(Metric)은 여전히 2000년대 초반의 번역 모델을 평가하는 수준에 머물러 있다.
당연히 이러한 지표를 사용하여 모델을 평가하면 신뢰성이 없을것이다.
또한, 기존의 지표에는 몇가지 문제점이 존재했다.
- 생성 문장과 레퍼런스 문장 간의 유사성이 문장 품질을 보장하지 않는다.
글1과 글2를 읽어보면, 글1에비해 글2는 동어 반복이 매우 빈번해 내용을 파악하기 어렵고 글에 몰입하기 어렵다.
하지만 생성한 문장과 레퍼런스 문장의 유사도를 측정하는 대표적 지표인 BLEU score 를 측정하면 글 2의 품질이 더 높은것으로 나온다.
이처럼, 그저 레퍼런스와 유사하다는 것만으로도 글의 품질이 좋다고 단정할 수 없다.
- 서로 다른 설정(특히 어휘 집합) 에서 학습한 모델들을 Perplexity(PPL)로 비교하는 것이 부적절하다.
모델의 여러 설정값에 있어서 어휘 집합 이 다르다는것은 모델의 목표가 완전히 달라진 상황을 의미한다. 따라서 당연히 Loss와 PPL의 scale과 Dynamics가 변한다. 그렇기에 이 차이를 모델의 성능 차이로 평가하면 안된다.
예를들어 같은 Training data를 가지고 한 모델은 강아지와 고양이를 분류하고, 한 모델은 장묘종과 단묘종을 분류하는 두 모델을 학습시켰다고 생각해보자.
각 모델은 데이터에 대해 서로 다른 확률 분포로 분류 결과를 출력한다. 따라서 이 확률 분포를 기반으로 한 Loss의 차이를 가지고 모델의 우위를 정하는 것은 부적절하다.
같은 개념을 문장 생성 모델에 대입시키면, 어휘 집합이 다른 두 모델은 서로 다른 토큰화 방식을 사용하기 때문에 모델이 맞추는 토큰 시퀀스가 달라지고 이것은 두 모델이 완전 다른 문제를 풀게 되는 것을 의미한다.
이렇게 서로 다른 토큰 시퀀스로 PPL을 계산할 경우 출력되는 토큰이 다르며 설령 같은 토큰이라 할 지라도 모델이 할당하는 Likelihood, 토큰화의 단위에 따라 PPL 값이 크게 달라진다.
개선 아이디어
따라서 모델 평가에 필요한 새로운 지표는
- 레퍼런스 의존성이 없어야한다.
- Loss가 아닌 생성 텍스트에 기반하여야한다.
위의 조건을 만족하기 위해 튜링테스트와 유사하지만, 사람이 아닌 Real/Fake 문장 데이터를 학습한 모델로 교체한 셋업을 구성하였다.
모델의 능력이 우수할 수록 사람이 생성한 문장과 동일하다는 전제하에 GAN(Generative Adversarial Network)와 같이 인위적인 문장을 구분하는 판별 모델 을 도입해 서로 경쟁시켰다.
판별 모델의 정확도가 낮을수록 문장의 품질이 우수하다는 정량적 평가기준이되며, 이 정확도를 판별 정확도(DA) 라고 정했다.
이 판별 모델을 학습하기 위해서, 생성 모델의 학습데이터에서 제외된 '나무위키 데이터'를 사용하여 학습했다.
전처리를 통해 Promt, Real Data를 추출한 후 다양한 수준의 생성모델에 Prompt를 입력하여 Fake Data를 수집했다.
최종적으로 판별기는 KcBERT Base Modeld 에 Real/Fake를 판별하도록 Fine-Tuning한 세팅을 채택하였고, 몇가지 학습 테크닉과 Hyperparameter Optimization을 적용하여 학습을 하였다.
평가 결과
위의 방법으로 평가한 결과, 예상대로 동일한 크기의 모델에서는 학습을 진행할수록 판별기를 더 잘 속이고, 동일한 Iteration횟수에서는 모델이 충분히 수렴한 지점 이후라면 모델의 크기가 클수록 판별기를 더 잘속이는 것을 확인할 수 있다.
또한 앞서 제기했던 문제인 어휘 집합이 다른 경우에 대해서도 판별 정확도(DA) 점수는 어떠한 어휘 집합을 사용하였는지에 관계 없이 일관된 스케일에서 평가 결과가 나오는 것을 확인할 수 있다.
DA점수에도 한계점이 존재한다.
만약 생성 모델이 판별기 학습에 사용한 데이터와 유사한 분포의 코퍼스를 집중적으로 학습한 상태라면 습득한 정보량에 비해 손쉽게 판별기를 속일 수 있을 것이다.
이런 경우는 생성 모델의 학습 데이터를 통일하거나, 판별 모델의 학습 데이터를 다양화 하여 해결 가능할 것이다.