LLM evaluation에 대한 정리

장보윤·2025년 3월 2일

잘 만들어진 LLM을 어떻게 평가할 것인지에 대해서는 기존에 마련된 방법이 이미 있었습니다. LLM 모델 역시 하나의 딥러닝 모델이기 때문에, NLP에서 사용되던 혹은 CV에서 사용되던 평가 지표를 이용하면 되었기 때문이죠. 하지만 이것만으로는 LLM을 평가하기에 한계가 있었습니다. 이번 글에서는 LLM Evaluation에 대해 찾아본 자료 두 가지를 정리해보고자 합니다.

LLM Evaluation을 어떻게 할 것인가?

관련 자료: https://huggingface.co/blog/clefourrier/llm-evaluation

LLM을 평가하는 방법은 크게 세 가지로 나눌 수 있습니다. 기존의 지표를 이용하는 것, 인간이 직접 평가하는 것, 그리고 마지막으로는 LLM에게 평가를 맡기는 방법입니다.

1. Benchmarks

서론에서 말했던 것처럼, 이미 기존의 머신러닝 혹은 딥러닝 모델이 사용하던 방식입니다. 평가 데이터와 평가 방법(metric)을 정의하고 자동으로 평가를 진행하는 방식입니다. 매우 간편한 방법이지만 한계점이 존재합니다. 첫 번째로는 정해져 있는 데이터만으로 "수학적 능력"과 같은 일반적인 능력을 평가하는 것이 맞는지에 대한 의문이 존재한다는 것입니다. 두 번째는 벤치마크 역시 공개되어 있는 데이터인 만큼 LLM의 학습데이터에 이미 벤치마크 데이터가 들어가 오염되어있을 수도 있다는 것입니다.

2. Human as a Judge

말 그대로 LLM 모델이 출력한 결과값을 사람에게 직접 평가를 맡기는 방식입니다. 명확한 단점이 존재합니다. 지속적인 평가와 비용에서 문제가 있다는 것입니다. 그 외에는 인간이 직접 평가를 하는 만큼 가장 정확한 평가가 아니냐고 할 수 있지만, 이 또한 한계가 있습니다. 사람들은 실제 사실보다 첫인상에 기반하여 평가하는 경향이 있기 때문에, 모델이 초반에 안 좋은 결과를 가져오면 그 모델의 성능을 좋지 않게 평가한다든지 하는 경향이 있을 수도 있습니다. 즉 인간 평가자도 완벽한 평가자라고는 할 수 없습니다.

3. Model as a Judge

마지막은 최근 LLM의 성능이 많이 좋아진 만큼 가능한 방법으로, LLM 모델에게 직접 평가를 맡기는 방식입니다. 이 방식은 좋은 모델만 쓴다면 앞선 두 방법들의 한계점들을 모두 보완합니다. 하지만 역시나 한계점들이 존재합니다. 먼저 LLM 모델은 사람보다 모델이 만든 결과를 더 높게 채점하는 자가 평가 편향이 존재합니다. 두 번째로 평가자로 학습된 것이 아닌 만큼 일관된 점수를 제공하는 데 익숙하지가 않습니다. 마지막으로 실제 인간의 순위와 일관성이 떨어진다는 단점이 있습니다.

즉 LLM 평가자 역시 아직은 완벽하지 않습니다. 그러나 인간 평가자에 비해 시간적, 비용적인 측면을 확실히 해결하면서 벤치마크보다 더 인간에 가까운 평가가 가능하다는 점에서 LLM 모델을 평가자로 사용하고자 하는 연구는 계속되고 있습니다. 그 중 Model as a Judge (LLM as a Judge)를 실제로 적용하는 방법을 제한한 논문 하나를 짧게 리뷰해보고자 합니다.

Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena

논문 링크: https://arxiv.org/abs/2306.05685

기존의 벤치마크를 이용해 LLM, 그 중에서도 챗봇을 평가할 때는 두 가지 한계점이 존재합니다.

  • LLM 기반 챗봇은 사용자 선호를 높이고 있으나, 전통적인 벤치마크에서는 사용자의 선호도가 잘 반영되지 않고 있습니다.
  • 벤치마크는 실제 모델의 대화 능력보다는 짧은 응답을 요구하는 폐쇄형 질문을 가진 특정 태스크에서의 성능을 평가합니다.

따라서 본 논문에서는 새로운 벤치마크(MT-Bench, Chatbot Arena)를 제안해서 챗봇의 멀티턴 대화 능력을 평가합니다. 이 때 LLM-as-a-Judge 접근법을 이용해 GPT-4와 같은 LLM 기반의 평가가 인간 평가와 높은 일치율을 보인다는 것을 보여줍니다. 즉 LLM의 핵심 능력과 인간 선호도를 동시에 평가할 수 있는 혼합 평가 프레임워크를 도입한 연구 논문입니다.

1. MT-Bench and Chatbot Arena

멀티턴이 가능한 챗봇을 평가할 지표로 본 논문에서는 두 가지 방법을 소개합니다.

MT-Bench

MT-Bench는 80개의 고품질 멀티턴 질문으로 구성됩니다. 따라서 멀티턴 대화 및 instruction 준수 능력을 테스트하도록 설계되어 있습니다. 논문에서는 8개의 사용자 프롬프트 카테고리를 바탕으로 질문을 설계했습니다.

Chatbot Arena

Chatbot Arena는 익명 모델 간의 대결을 통해 평가하는 크라우드소싱 플랫폼입니다. 사용자들이 두 모델에 같은 질문을 던지고, 더 나은 응답에 투표를 하는 방식으로 평가가 됩니다. 질문의 경우 미리 정의된 질문이 아닌 다양한 사용자 관심사를 기반으로 하게 됩니다.

2. LLM as a Judge

평가방법 두 가지를 정의했으니, 이제는 LLM을 평가에 사용해볼 차례입니다. 왜냐하면 사람이 직접 평가를 하는 LLM 챗봇 평가 방법은 인력과 비용을 상당히 많이 요구하기 때문입니다. 또한 MT-Bench와 Chatbot Arena는 질문에 정답이 정해져있지 않고, 평가하기 위한 measure를 정의해서 프로그래밍하기 어렵기 때문입니다. 특히 ROUGE, BLEU 등의 전통적인 평가 지표는 개방형 질문에 효과적이지 않습니다. 다행인 것은 LLM이 많이 성장한 만큼 인간 평가자를 대체할 가능성은 충분하다는 것입니다.

Types of LLM-as-a-Judge

LLM을 평가자로 사용할 때 세 가지 방법이 가능합니다.

  • Pairwise comparison: 질문에 대해 두 가지 답변을 받고, 더 나은 답변을 판단하는 방법
  • Single answer grading: 평가자가 답변에 대한 점수를 직접 부여하는 방법
  • Reference-guided grading: 특정 케이스에서의 답변을 제공하여 평가의 유용성을 높이는 방법

Advantages & Limitations of LLM-as-a-Judge

LLM 평가자의 장점으로는 인간의 개입을 줄이고 확장 가능한 평가 기준과 빠른 반복이 가능하다는 것이 하나 있고, 또한 단순 점수 제공 외에도 결과에 대한 설명을 함께 제공하여 이해 가능성을 높일 수 있다는 점이 있습니다.

그러나 한계점은 크게 네 가지가 존재합니다.

  • Position bias: 답변이 어느 위치에 있는지에 따라 답변 선호도가 다르다는 것입니다. 예를 들어 GPT-4는, 그리고 대부분의 LLM 평가자들은 첫 번째 위치의 응답을 더 선호하는 경향이 있다고 합니다. 따라서 답변의 위치를 바꾸면 결과가 달라지기도 합니다.
  • Verbosity bias: LLM 평가자가 명확성이나 품질과 관계 없이 긴 응답을 선호한다는 것입니다. 모든 LLM들이 이 verbosity bias에 취약하지만, GPT-4는 상대적으로 방어 능력이 높았다고 합니다.
  • Self-enhancement bias: LLM 평가자가 스스로 생성한 답변을 선호한다는 것입니다. 단, 본인이 아닌 서로 다른 모델을 선호하는 경향도 보여 self-enhancement bias가 있다는 것이 확실하지는 않다고 합니다.
  • Limited capacity in grading math and reasoning questions: LLM은 수학적인, 그리고 추론 능력이 제한적이라는 것입니다.

이러한 한계점을 보완하는 방법 역시 다행히 존재합니다.

  • Position bias 해결법: 두 답변의 순서를 바꿔서 평가 호출을 두 번 진행함으로써 해결합니다. 만일 결과가 일관되지 않으면 동점으로 간주함으로써, 답변의 위치로 인해 평가가 부정확해지는 것을 방지합니다.
  • Few-shot judge: few-shot 예제를 통해 평가의 일관성을 향상시킬 수 있습니다. 다만 앞선 Position bias도 그렇고 단점이라면 API 호출 비용이 증가한다는 것입니다.
  • Chain-of-thought & reference-guided judge: 독립적인 질문에 대해 응답을 한 후 채점을 시작하도록 하는 것입니다. 문맥에 의해 오판할 가능성이 존재하는데, 이 때 참조가 될 만한 답변을 사용하여 실패율을 감소시킵니다.
  • 평가 모델을 fine tuning: 논문에서는 Vicuna-13B 모델을 Arena 데이터로 미세 조정해서 사용합니다.

Multi-turn judge

챗봇 평가를 위한 멀티턴 평가를 할 때, 예를 들어 MT-Bench의 경우 모든 질문이 두 개의 턴으로 구성됩니다. 즉 만일 두 어시스턴트를 비교해야 한다면 두 개의 질문과 네 개의 답변이 존재한다는 것입니다. 따라서 프롬프트 설계가 복잡해집니다. 논문에서는 두 가지 프롬프트를 제안합니다. 첫 번째로는 두 턴을 두 개의 프롬프트로 분리하는 것인데, 그렇게 될 경우 LLM 평가자는 이전 응답을 찾기 어려워집니다. 두 번째 방법은 전체 대화를 하나의 프롬프트에 표기하는 방법입니다.

3. Discussion

논문 요약인 만큼 Evaluation은 본 글에서는 생략하겠습니다.

본 눈문은 챗봇을 평가할 수 있는 방법론과 동시에 LLM을 평가자로 활용하는 방법을 동시에 소개했습니다. 하지만 더 개선해야 할 부분으로는 (1) 더 넓은 범주의 기준으로 챗봇을 평가하는 것이 필요하다는 것, (2) 인간 선호에 맞춘 오픈 소스 LLM 평가자 개발, (3) 공개 모델의 수학 및 추론적 능력을 향상시키는 것입니다.

특히 비용적인 측면 때문에 LLM을 평가자로 사용하려는 연구는 지속되고 있습니다. 물론 LLM 평가자 역시 완전하지는 않습니다. 그러나 전체적으로 모델이 잘 학습되었는지를 빠르게 확인하는 방법으로는 기존의 벤치마크보다 유용하지 않을까 라는 생각을 해봅니다. 물론 아직은 최종 평가는 벤치마크나 인간을 활용하는 것이 더 정확할 것이라고 봅니다.

profile
머신러닝 엔지니어, 취미사진가

0개의 댓글