LLM 평가지표 조사

Lee Hyun Jun·2025년 3월 4일
0

근래 정부 과제 수행 계획서 및 제안서를 작성하고 있다. LLM 도메인의 문서를 쓰다보면 필수로 “성과지표”, “평가지표” 등의 파트가 나오는데, LLM의 답변 퀄리티를 어떻게 평가할 수 있을지 막막했다.

예를 들어, “긍정”, “부정”과 같이 명확한 분류 작업의 경우 라벨링된 데이터를 활용해 정확도를 측정하면 되기 때문에 비교적 단순하다. 하지만, 한국어 이해력이나 문맥 파악 능력, 추론 능력 같은 복잡한 언어 능력은 어떻게 평가 할 수 있을까?

그래서 조사해봤던 것들 몇 가지를 정리해보려고 한다. 예시는 GPT4o & Claude Sonnet 3.5의 도움을 받았다.

BLUE(Bilingual Evaluation Understudy)

주로 기계 번역의 품질을 평가하는데 사용되는 지표로 모델이 생성한 문장이 정답 문장과 얼마나 유사한지를 정량적으로 평가하는 것이다.

N-gram 방식을 사용하여 문장의 유사도를 0~1 사이의 값으로 나타낸다.

  • 평가 방법
    • 정답(Reference) 문장과 비교
      • N-gram이란 단어를 묶어서 보는 단위(1-gram=단어, 2-gram=연속된 두 단어)를 뜻하고 이것의 일치율 기반으로 평가한다.
      • 모델이 생성한 문장과 정답 문장간의 N-gram 매칭 비율을 계산한다.
    • BLEU Score 계산
      • Precision(정확도) 기반으로 N-gram 매칭 점수를 합산한다.
      • 너무 짧은 문장이 높은 점수를 받을 확률이 높기 때문에 Brevity Penalty(길이 패널티)를 적용한다.

N-gram 평가 예시

💡 예제 문장

Reference 문장 (정답 문장):

"The cat is on the mat."

Model Output (모델이 생성한 문장):

"The cat is sitting on the mat."


📌 1-gram(단어 단위) 매칭율 계산

N-gramReference (정답)Output (출력)매칭 여부
The✅ 있음✅ 있음
cat✅ 있음✅ 있음
is✅ 있음✅ 있음
on✅ 있음✅ 있음
the✅ 있음✅ 있음
mat✅ 있음✅ 있음
sitting❌ 없음✅ 있음

1-gram 정확도 = 6/7 = 0.86 (86%)

📌 2-gram(두 단어 조합) 매칭율 계산

2-gramReference (정답)Output (출력)매칭 여부
The cat✅ 있음✅ 있음
cat is✅ 있음✅ 있음
is on✅ 있음✅ 있음
on the✅ 있음✅ 있음
the mat✅ 있음✅ 있음
is sitting❌ 없음✅ 있음
sitting on❌ 없음✅ 있음

2-gram 정확도 = 5/7 = 0.71 (71%)

ROUGE(Recall-Oriented Understudy for Gisting Evaluation)

주로 텍스트 요약의 품질을 평가하는데 사용되는 지표이고, 모델이 생성한 문장이 정답 문장과 얼마나 겹치는지 평가한다.

BLEU는 Precision을 중심으로 평가하는 반면 Rouge는 Recall을 중심으로 평가한다.

  • 장점
    • 텍스트 요약 평가 최적화
    • 문장의 길이가 다르더라도 문맥 유지 여부 같은 것이 평가되기 때무에 BLEU 대비 더 자연스러운 평가 가능
  • 한계점
    • 문장의 의미(semantic meaning)를 반영하지 못함
    • 동의어(Paraphrasing) 인식 불가능
ROUGE 지표설명주요 활용 분야
ROUGE-NN-gram(단어 조합)의 일치율 비교 (ROUGE-1, ROUGE-2 등)기계 번역, 요약 평가
ROUGE-L문장에서 LCS(Longest Common Subsequence, 최장 공통 부분 문자열)를 찾고 비교문장 구조 유지 평가
ROUGE-WLCS 기반이지만 가중치를 부여하여 연속적인 단어 매칭을 더 중요하게 평가긴 문장 요약 평가
ROUGE-S단순 N-gram이 아니라, Skip-Bigram(건너뛰며 겹치는 단어 조합) 매칭율을 계산더 유연한 요약 평가

ROUGE-L 평가 방식 (LCS 기반 평가)

ROUGE-L은 LCS(최장 공통 부분 문자열)를 활용하여 평가

✔ 단순한 N-gram 매칭이 아니라, 문장 구조를 고려한 평가 가능

✔ LCS를 찾고, 이를 기반으로 Precision, Recall, F1-score 계산

📌 예제:

Reference 문장 (정답 문장):

"The cat is on the mat."

Model Output (출력 문장):

"The cat sat on the mat."

Step 1: LCS 찾기

LCS = "The cat on the mat" (최장 공통 부분)

Step 2: ROUGE-L 계산

ROUGE-L (Recall) = 4 / 6 = 66.7%

ROUGE-L (Precision) = 4 / 6 = 66.7%

ROUGE-L (F1-score) = 66.7%

ROUGE-S 평가 방식 (Skip-Bigram 기반 평가)

Skip-Bigram이란?

  • 두 단어 사이에 다른 단어가 끼어 있어도 순서가 유지되면 유사도 인정
    더 유연한 평가 가능
    긴 문장에서도 비슷한 의미를 반영하는 경우에 유리

📌 예제:

Reference 문장 (정답 문장):

"The cat is on the mat."

Model Output (출력 문장):

"The cat sat on the mat."

✔ 일반적인 BLEU나 ROUGE-N으로는 "cat sat"이 다르다고 평가되지만, ROUGE-S는 "The cat"과 "on the mat"을 Skip-Bigram으로 인정하여 점수 부여

BERT Score

BLEU, ROUGE는 단순한 N-gram 기반 비교 방식을 이용하므로 동의어 처리에 취약하다. 그에 비해 BERT Score는 Transfomer 기반 언어모델의 임베딩을 활용해서 의미적 유사도를 평가하는 방식으로 단어의 의미(context) 까지 고려해서 평가할 수 있다.

Step 1: 문장을 벡터(임베딩)로 변환

임베딩?
단어, 문장을 컴퓨터가 이해할 수 있는 숫자 벡터로 변환한 것으로 단어의 의미와 문맥을 반영함

✔ 평가할 문장(출력)과 정답 문장(Reference)을 Transformer 모델(BERT, RoBERTa 등)을 사용하여 벡터화

✔ 단어마다 고유한 의미 벡터(임베딩)를 생성

📌 예제 문장:

Reference 문장: "The cat is on the mat."

Model Output: "The feline sits on the rug."

📌 BERT를 활용하여 각 단어를 임베딩 벡터로 변환

"cat"[0.21, 0.45, -0.12, ...]

"feline"[0.22, 0.46, -0.11, ...] (거의 유사)

"mat"[0.33, -0.19, 0.27, ...]

"rug"[0.31, -0.18, 0.25, ...] (유사한 개념)


Step 2: Cosine Similarity를 이용해 유사도 계산

✔ 각 단어의 의미적 유사도를 코사인 유사도(Cosine Similarity)로 측정

"cat" vs "feline"0.95 (매우 유사)

"mat" vs "rug"0.88 (유사)

"on" vs "on"1.00 (동일 단어)


Step 3: Precision / Recall / F1-score 계산

📌 BERTScore는 BLEU와 ROUGE처럼 Precision, Recall, F1-score를 계산하여 최종 점수 산출

BERTScore Precision → 모델의 출력이 정답 문장에서 사용된 단어들과 얼마나 유사한지

BERTScore Recall → 정답 문장이 모델의 출력과 얼마나 유사한지

BERTScore F1-score → Precision과 Recall을 조합한 최종 평가 점수

Benchmark

MMLU

MMLU(Massive Multitask Language Understanding)는 LLM(대형 언어 모델)의 지식 및 추론 능력을 평가하는 벤치마크로 57개 과목(문과, 이과 포함)에서 모델이 얼마나 정답을 맞히는지 테스트한다.

MMLU는 Zero-shot, Few-shot 평가가 가능하도록 설계되었다. 일반적으로 AI를 학습할 때는 라벨링된 데이터를 이용하여 학습하는데, 예를 들어 AI가 여러 동물 사진 중에서 강아지를 인식하게 하려면 강아지 사진 수천 장을 미리 학습시키는 방식이다.

하지만 Zero-shot 학습은 사전 학습 없이도 AI가 특정 작업을 수행할 수 있도록 하는 방식이다. 즉, 강아지 사진을 한 번도 본 적이 없어도, 지금까지 학습된 데이터를 바탕으로 강아지를 인식하는 것이다.

반면 Few-shot 학습은 적은 수의 예제를 참고하여 유사한 작업을 수행하는 능력을 평가하는 방식이다. 예를 들어, 몇 개의 강아지 사진 예시를 제시한 후, AI가 새로운 강아지 사진을 올바르게 인식할 수 있는지를 테스트하는 것이다.

MMLU는 이러한 학습 방식을 테스트하기 위해 설계되었으며, AI가 다양한 주제에 대한 지식과 문제 해결 능력을 갖추고 있는지 평가하는 데 사용된다.

또한, MMLU는 GitHub에서 공식적인 평가 코드를 제공하므로, 향후 LLM 개발 시 직접 테스트해 볼 수 있다.

추가로, 2024년 5월에는 MMLU-PRO 데이터셋이 공개되었다.

github : https://github.com/TIGER-AI-Lab/MMLU-Pro?utm_source=pytorchkr&ref=pytorchkr

huggingface : https://huggingface.co/datasets/TIGER-Lab/MMLU-Pro

Winogrande

LLM의 상식(Common Sense Reasoning) 능력을 평가하는 벤치마크로 일상적인 상식을 기반으로 문맥 이해 능력을 평가한다.

데이터셋은 2개의 질문으로 구성되고, 각 질문의 정답을 뒤집는 트리거 단어가 포함되어 있다. 주어진 문맥에서 트리거 단어가 지칭하는 대상을 정확이 이해하고 문맥에 맞게 해석하는 능력을 평가한다.

https://arxiv.org/pdf/1907.10641

github : https://github.com/allenai/winogrande

HellaSwag

LLM(대형 언어 모델)의 상식(Common Sense) 및 논리적 추론(Logical Reasoning) 능력을 평가하는 벤치마크로, 주어진 문장의 맥락(Context)을 고려하여 가장 자연스러운 다음 문장을 선택하는 문제 방식으로 평가한다.

huggungface에 잇는 데이터셋을 확인해보니 스토리와 몇 가지 지시사항이 주어지고, 객관식 문제 중에서 가장 최적의 답을 찾는 형식의 데이터셋이었다. 그래서 추론 능력을 Accuracy 기반으로 측정을 할 수 있다는 것도 나름 유의미한 장점이 아닐까싶다.

리더보드를 확인해보니 GPT4가 10-shot 학습으로 측정했을 때 거의 사람만큼의 성능을 내고있음을 확인할 수 있다.

https://rowanzellers.com/hellaswag/

huggingface : https://huggingface.co/datasets/Rowan/hellaswag?row=1

LLM-as-a-judge

말 그대로 LLM이 다른 모델의 출력을 평가한다는 것이다. 처음에는 이게 유효한 것인가? 라는 의심이 가장 먼저 떠올랐는데 관련 논문(https://arxiv.org/abs/2306.05685)을 확인해보면, GPT-4 judge와 사람의 선호 일치도가 80% 이상으로 사람의 평가와 유사한 성능을 보인다고 한다.

생각해보면, 전문가가 평가한다고 해도 사람이 학습한 지식을 바탕으로 주관적인 판단을 하는 것이니까 오히려 LLM을 이용한다면 더 효율적으로 할수도 있겠다싶다.

먼저 기존 GPT 같은 LLM들은 RLHF(Reinforcement Learning From Human Feedback) 기법이라는 인간의 피드백을 기반으로 학습이 되어 있다.

RLHF(Reinforcement Learning from Human Feedback)는 LLM이 인간 피드백을 통해 점진적으로 개선되는 과정이며, 보통 2~3단계를 반복하면서 성능을 최적화한다.

  1. Supervised Fine-Tuning(SFT)
    대규모 데이터셋을 이용해 지도 학습 기반의 파인튜닝을 진행하고 기본적인 응답 생성 능력을 확보한다.
  2. Reward Model 학습
    인간 평가자가 1단계 SFT 모델이 생성한 여러 응답을 평가하고, 좋은 응답과 나쁜 응답을 선호도 순위로 정리하여 점수화한 데이터셋을 구축한다. 이를 바탕으로 보상 모델(Reward Model)을 학습해서 좋은 응답일수록 높은 점수를 부여하는 방식으로 동작한다.
    ex)
    프롬프트: "여름철 에어컨 사용 최적화 방법은?"
    응답 A: "에어컨 필터를 청소하고 26도로 설정하세요" (점수: 7/10)
    응답 B: "그냥 끄세요" (점수: 2/10)
    응답 C: "적정 온도(26-28도) 설정, 필터 청소, 차양막 활용으로 효율적 냉방" (점수: 9/10)
    이 데이터를 이용해 Reward model이 “좋은 응답”을 판단하는 기준을 학습한다.
  3. Reward Model을 활용해 강화학습 수행
    보상 모델의 학습이 완료되면 PPO(Proximal Policy Optimization) 알고리즘을 사용해서 LLM이 높은 보상을 받는 응답을 생성하도록 학습한다.
    ex)
    초기 응답: "에어컨을 26도로 설정하세요" (보상: 6/10)
    개선된 응답: "에어컨을 26도로 설정하고, 2시간마다 환기하며, 차양막으로 직사광선을 차단하세요" (보상: 9/10)
    최종 응답: "에어컨 필터 청소로 효율을 높이고, 26도 설정과 함께 선풍기를 병행 사용하며, 차양막으로 열기 차단, 2시간마다 환기하여 최적의 냉방 효과를 얻으세요" (보상: 10/10)

PPO(Proximal Policy Optimization)?
정책 기반의 강화학습 알고리즘, 여기서 정책은 상태(state)에서 action을 선택하는 확률 분포
1. 초기 정책 학습
2. Action 수행 및 보상 계산
3. 정책 업데이트 및 Clipping 기법으로 급격한 정책 변화 방지
4. 반복학습

이 과정을 통해 LLM은 단순히 텍스트를 생성하는 것이 아니라, 생성된 응답의 품질을 스스로 평가하거나 다른 모델을 판단할 수 있는 능력을 갖추게 된다.

Human Evaluation

이전에 작성되었고 선정된 기획서 & 제안서를 살펴보니, Human Evaluation 방식으로 성과지표를 설정한 문서가 굉장히 많았다. 이 것은 주로 특정 도메인 특화된 LLM, sLLM 관련 사업 문서에서 주로 사용되는 것 같다.

  • 도메인 전문가로 평가단을 구성 하고 평가 항목(정확성, 문맥 이해도 등)을 설정하여 점수를 측정
  • AI의 결과와 전문가의 결과를 무작위 배치하고 블라인드 테스트

이 방법은 수치 달성이 필수일 경우 매우 유용하게 사용된다. 왜냐하면 어떻게든 목표를 달성할 수 있게 만들수 있으니..

profile
My Secondary Brain

0개의 댓글