LLM 성능평가를 위한 지표들

LLM 성능평가를 위한 지표들
생성형AI의 성능평가는 일반 ML/DL 모델과 어떻게 다를까?

기존의 머신러닝/딥러닝 성능 평가 지표(Metrics)

생성형 AI(generative AI)가 널리 보급되면서 인공지능 모델이 생성해 내는 텍스트나 이미지는 점점 더 자연스러워지고 있다. 이에 따라 사람들은 인공지능이 얼마나 사람과 비슷한 창작물을 생성해 내는지 지대한 관심을 가지게 되었다. 하지만 여전히 대부분의 머신러닝&딥러닝 모델은 지도학습(Supervised Learning)을 통해 라벨링 된 훈련 데이터를 학습한다. 인공지능은 이때 학습한 데이터를 바탕으로 처음 보는 데이터가 주어졌을 때 정답을 예측한다.

이처럼 라벨링 된 데이터라는 정답지가 있는 경우 인공지능 모델의 성능을 평가하는 것은 매우 간단한 일이다. 정답지와 인공지능 모델이 예측한 값을 서로 비교해 보고 몇 개나 맞추었는지 혹은 틀렸는지만 확인해 보면 되기 때문이다. 예를 들어 자연어 해석(Natural Language Understanding, NLU)에 특화된 BERT 모델을 사용해 만든 텍스트 분류 모델(Text Classification Model)에 특정 문장을 집어넣고 그 문장이 ‘긍정’인지 혹은 ‘부정’인지를 판단하는 매우 간단한 케이스를 생각해 보자. 이때 언어모델이 해당 문장을 어떻게 분류해 내는지 우리는 라벨링 데이터라는 정답지 덕분에 쉽게 판단할 수 있다. 

(출처 : ResearchGate)

이때 사용되는 것이 AUC 곡선이나 정밀도(Precision) 그리고 재현율(Recall)과 같은 평가 지표들(Metrics)이다. 기존의 수치형 데이터(Numeric Data)를 활용한 회귀 모델(Regression Model)과 분류 모델(Classification Model) 등 많은 ‘정답이 있는’ 머신러닝 모델의 성능을 평가할 때 우리는 여전히 위와 같은 지표들을 많이 쓴다.

생성형 언어모델의 성능평가 지표

그렇다면 생성형 AI의 성능은 어떻게 평가할까? GPT-4.0의 성능이 이전 모델인 GPT-3.5 보다 개선되었는지 아닌지를 어떤 지표를 근거로 판단할 수 있을까? 아마 초거대언어모델(LLM)에 대한 평가는 답변을 받아들이는 사람의 그날 기분과 개인적인 선호도에 따라 달라질지도 모른다. 혹은 어떤 사람에게는 매우 그럴듯해 보이는 문장이 또 다른 사람에게는 매우 어색하게 느껴질지도 모른다. 

이처럼 객관적인 정답이 뚜렷하게 없는 초거대언어모델과 같은 생성형 인공지능 모델의 성능은 평가하는 일은 매우 까다로운 일이다. 이번 시간에는 초거대언어모델의 성능을 평가하는 대표적인 지표들에 대해 알아보자.

BLEU 와 ROUGE – 생성형 언어모델 평가의 대표적인 두 가지 지표

BLEU와 ROUGE는 프랑스어로 파랑과 빨강을 의미하기도 한다(출처 : Freepix)

초거대언어모델은 방대한 양의 토큰(Token)으로 구성된 말뭉치(Corpus)를 사전 학습(Pre-trained)한 언어모델이다. (사실 위에서 예시로 든 BERT 역시 문장 해석에 특화된 일종의 초거대언어모델이라고 볼 수 있다.) GPT(Generative Pre-trained Transformer)와 같은 생성형 언어모델이라고 해도 사람이 제공해 주는 텍스트 데이터를 사전에 학습하고 그것을 바탕으로 그럴듯한 문장을 생성해 낸다는 점에서 큰 틀에서 기존의 인공지능 모델들과 비슷한 원리로 작동한다.

따라서 생성형 언어모델에도 일종의 ‘정답지’가 존재한다. 이처럼 생성형 언어모델에도 정답지가 존재한다는 생각에서 탄생한 두 가지 지표가 바로 지금부터 소개할 BLEU와 ROUGE이다. 지금부터 비교를 위해 정답이 되는 문장을 참조 문장(Reference Sentence)이라고 하며, 이에 대비되는 언어모델이 생성해 낸 문장을 생성된 문장(Generated Sentence)이라고 하자.

1. BLEU(Bilingual Evaluation Understudy)의 개념과 계산법

BLEU는 주로 기계 번역(Machine Translation)의 품질을 평가하는 데 사용되는 지표이다. 기계 번역 결과와 사람이 번역한 결과 간의 단어나 구(Phrase)의 일치도를 측정하는 방식으로 생성형 언어모델이 생성한 문장의 적합성을 판단한다. BLEU의 식은 다음과 같다.

BLEU : #{wgen∈Sref|wgen∈Sgen}/|Sgen|

즉 생성된 문장의 토큰 수 중에 참조(정답) 문장에 포함된 토큰 수로 나눈 값이 되는 것이다. 예를 들어서, 모델이 생성한 문장이 "나는 오전에 밥을 먹으러 갔다"였고 정답은 "나는 그날 오전에 밥을 먹었다."라고 한다면 BLEU는 다음과 같이 구할 수 있다.

generated sentence : 나는 오전에 친구와 밥을 먹으러 갔다. (생성된 문장 중 정답에 포함된 n-gram 수 : 3)

reference sentence : 나는 그날 오전에 밥을 먹었다. (문장의 전체 n-gram 수 : 5)

위의 식에 따르면 계산 결과는 3/5(0.6)이 된다. 이처럼 BLEU는 일치하는 n-gram의 수를 계산하는 n-gram 일치도를 활용한다. BLEU 점수는 0에서 1 사이의 값으로 나타나며, 1은 완벽한 일치를 의미한다. 실제로는 이 값을 백분율 형태로 표시하여 0~100% 사이의 값으로 나타낼 수 있다.

2. ROUGE (Recall-Oriented Understudy for Gisting Evaluation)


ROUGE는 주로 문서 요약(Text Summarization)의 품질을 평가하는 데 사용되는 지표다. ROUGE는 자동으로 생성된 요약과 사람이 작성한 기준 요약 간의 일치도를 측정하는 지표인데, 이때 다양한 지표를 사용한다. 가장 널리 알려진 것은 단어나 구의 재현율을 측정하는 것이다.

ROUGE에는 여러 하위 유형이 있으며, 각각 다른 측정 방법을 사용한다. 예를 들어, ROUGE-N은 n-gram 일치도를 기반으로 하며, ROUGE-L은 가장 긴 공통부분 열(Longest Common Subsequence)을 기반으로 한다. ROUGE의 식은 다음과 같이 표현할 수 있다.

ROUGE : #{wref∈Sgen|wref∈Sref}/|Sref|

generated sentence : 나는 오전에 친구와 밥을 먹으러 갔다. (생성된 문장의 전체 n-gram 수 : 6)

reference sentence : 나는 그날 오전에 밥을 먹었다. (정답 문장 중 생성된 문장에 포함된 n-gram 수 : 3)

마찬가지로 위의 식에 따르면 ROUGE는 3/6 즉 0.5가 된다. ROUGE 역시 BLEU와 마찬가지로 0에서 1 사이의 값을 가진다. 생성된 문장이 정답 문장과 완전히 일치한다면 1, 하나도 일치하지 않는다면 0이 된다.

그 밖의 평가 지표들

지금까지 생성형 언어모델의 성능을 평가하는 대표적인 두 가지 지표인 BLEU와 ROUGE를 소개했다. 이 외에도 생성형 인공지능 모델의 성능을 평가하기 위한 다양한 지표들이 있다. 예를 들면, METEOR (Metric for the Evaluation of Machine Translation Output)와 TER(Translated Error Rate) 등의 지표는 각기 다른 측면에서 생성된 결과물의 품질을 평가한다. 

실제로 GPT-4.0이나 GPT-3.5 같은 모델의 성능을 평가할 때는, 통계적인 지표만 사용하는 것이 아니라 사람들의 주관적 평가도 큰 영향을 미친다. 모델이 생성한 텍스트가 얼마나 자연스럽고, 문맥에 맞게 생성되었는지를 사람들이 직접 평가하기 때문이다. 결국 언어라는 것은 사람이 사용하는 것이기 때문에 이러한 사람에 의한 평가(Human Evaluation) 역시 언어모델 평가의 중요한 요소이다.

하지만, 주관적 평가에는 한계가 있다. 어떤 사람은 생성된 텍스트를 매우 자연스럽다고 생각할 수 있지만, 다른 사람은 그렇지 않다고 생각할 수 있다. 따라서, 모델의 성능을 평가할 때는 여러 가지 지표와 방법을 복합적으로 사용하여 종합적인 판단을 내리는 것이 중요하다.

마지막으로, GPT-4.0이나 GPT-3.5와 같은 초거대언어모델은 특정 데이터 셋에서의 성능이 아니라, 일반적인 자연어 처리 능력, 다양한 주제에 대한 반응, 새로운 문제 상황에서의 적응력 등 다양한 측면에서 평가된다. 이러한 평가를 통해 모델이 얼마나 유연하고, 다양한 상황에서도 효과적으로 작동하는지를 알 수 있다. 

다양한 관점에서 언어모델 성능을 측정하는 방법들을 알아보았다. 초거대언어모델의 성능을 자칫 주관적일 수 있는 개개인의 관점에서 판단하는 것이 아니라 다양한 지표와 이론에 근거하여 판단함으로써 모델에 대한 보다 객관적이고 정확한 평가를 하려는 시도는 앞으로도 계속될 것이다.







문과 출신으로 AI 스타트업에서 데이터 사이언티스트로 일하고 있습니다. 


* 슈퍼브 블로그의 외부 기고 콘텐츠는 외부 전문가가 작성한 글로 운영 가이드라인에 따라 작성됩니다. 슈퍼브 블로그에서는 독자분들이 AI에 대한 소식을 더 쉽고 간편하게 이해하실 수 있도록 유용한 팁과 정보를 제공하고 있습니다.