잘 만들어진 LLM을 어떻게 평가할 것인지에 대해서는 기존에 마련된 방법이 이미 있었습니다. LLM 모델 역시 하나의 딥러닝 모델이기 때문에, NLP에서 사용되던 혹은 CV에서 사용되던 평가 지표를 이용하면 되었기 때문이죠. 하지만 이것만으로는 LLM을 평가하기에 한계가 있었습니다. 이번 글에서는 LLM Evaluation에 대해 찾아본 자료 두 가지를 정리해보고자 합니다.
관련 자료: https://huggingface.co/blog/clefourrier/llm-evaluation
LLM을 평가하는 방법은 크게 세 가지로 나눌 수 있습니다. 기존의 지표를 이용하는 것, 인간이 직접 평가하는 것, 그리고 마지막으로는 LLM에게 평가를 맡기는 방법입니다.
서론에서 말했던 것처럼, 이미 기존의 머신러닝 혹은 딥러닝 모델이 사용하던 방식입니다. 평가 데이터와 평가 방법(metric)을 정의하고 자동으로 평가를 진행하는 방식입니다. 매우 간편한 방법이지만 한계점이 존재합니다. 첫 번째로는 정해져 있는 데이터만으로 "수학적 능력"과 같은 일반적인 능력을 평가하는 것이 맞는지에 대한 의문이 존재한다는 것입니다. 두 번째는 벤치마크 역시 공개되어 있는 데이터인 만큼 LLM의 학습데이터에 이미 벤치마크 데이터가 들어가 오염되어있을 수도 있다는 것입니다.
말 그대로 LLM 모델이 출력한 결과값을 사람에게 직접 평가를 맡기는 방식입니다. 명확한 단점이 존재합니다. 지속적인 평가와 비용에서 문제가 있다는 것입니다. 그 외에는 인간이 직접 평가를 하는 만큼 가장 정확한 평가가 아니냐고 할 수 있지만, 이 또한 한계가 있습니다. 사람들은 실제 사실보다 첫인상에 기반하여 평가하는 경향이 있기 때문에, 모델이 초반에 안 좋은 결과를 가져오면 그 모델의 성능을 좋지 않게 평가한다든지 하는 경향이 있을 수도 있습니다. 즉 인간 평가자도 완벽한 평가자라고는 할 수 없습니다.
마지막은 최근 LLM의 성능이 많이 좋아진 만큼 가능한 방법으로, LLM 모델에게 직접 평가를 맡기는 방식입니다. 이 방식은 좋은 모델만 쓴다면 앞선 두 방법들의 한계점들을 모두 보완합니다. 하지만 역시나 한계점들이 존재합니다. 먼저 LLM 모델은 사람보다 모델이 만든 결과를 더 높게 채점하는 자가 평가 편향이 존재합니다. 두 번째로 평가자로 학습된 것이 아닌 만큼 일관된 점수를 제공하는 데 익숙하지가 않습니다. 마지막으로 실제 인간의 순위와 일관성이 떨어진다는 단점이 있습니다.
즉 LLM 평가자 역시 아직은 완벽하지 않습니다. 그러나 인간 평가자에 비해 시간적, 비용적인 측면을 확실히 해결하면서 벤치마크보다 더 인간에 가까운 평가가 가능하다는 점에서 LLM 모델을 평가자로 사용하고자 하는 연구는 계속되고 있습니다. 그 중 Model as a Judge (LLM as a Judge)를 실제로 적용하는 방법을 제한한 논문 하나를 짧게 리뷰해보고자 합니다.
기존의 벤치마크를 이용해 LLM, 그 중에서도 챗봇을 평가할 때는 두 가지 한계점이 존재합니다.
따라서 본 논문에서는 새로운 벤치마크(MT-Bench, Chatbot Arena)를 제안해서 챗봇의 멀티턴 대화 능력을 평가합니다. 이 때 LLM-as-a-Judge 접근법을 이용해 GPT-4와 같은 LLM 기반의 평가가 인간 평가와 높은 일치율을 보인다는 것을 보여줍니다. 즉 LLM의 핵심 능력과 인간 선호도를 동시에 평가할 수 있는 혼합 평가 프레임워크를 도입한 연구 논문입니다.
멀티턴이 가능한 챗봇을 평가할 지표로 본 논문에서는 두 가지 방법을 소개합니다.
MT-Bench는 80개의 고품질 멀티턴 질문으로 구성됩니다. 따라서 멀티턴 대화 및 instruction 준수 능력을 테스트하도록 설계되어 있습니다. 논문에서는 8개의 사용자 프롬프트 카테고리를 바탕으로 질문을 설계했습니다.

Chatbot Arena는 익명 모델 간의 대결을 통해 평가하는 크라우드소싱 플랫폼입니다. 사용자들이 두 모델에 같은 질문을 던지고, 더 나은 응답에 투표를 하는 방식으로 평가가 됩니다. 질문의 경우 미리 정의된 질문이 아닌 다양한 사용자 관심사를 기반으로 하게 됩니다.
평가방법 두 가지를 정의했으니, 이제는 LLM을 평가에 사용해볼 차례입니다. 왜냐하면 사람이 직접 평가를 하는 LLM 챗봇 평가 방법은 인력과 비용을 상당히 많이 요구하기 때문입니다. 또한 MT-Bench와 Chatbot Arena는 질문에 정답이 정해져있지 않고, 평가하기 위한 measure를 정의해서 프로그래밍하기 어렵기 때문입니다. 특히 ROUGE, BLEU 등의 전통적인 평가 지표는 개방형 질문에 효과적이지 않습니다. 다행인 것은 LLM이 많이 성장한 만큼 인간 평가자를 대체할 가능성은 충분하다는 것입니다.
LLM을 평가자로 사용할 때 세 가지 방법이 가능합니다.
LLM 평가자의 장점으로는 인간의 개입을 줄이고 확장 가능한 평가 기준과 빠른 반복이 가능하다는 것이 하나 있고, 또한 단순 점수 제공 외에도 결과에 대한 설명을 함께 제공하여 이해 가능성을 높일 수 있다는 점이 있습니다.
그러나 한계점은 크게 네 가지가 존재합니다.
이러한 한계점을 보완하는 방법 역시 다행히 존재합니다.
챗봇 평가를 위한 멀티턴 평가를 할 때, 예를 들어 MT-Bench의 경우 모든 질문이 두 개의 턴으로 구성됩니다. 즉 만일 두 어시스턴트를 비교해야 한다면 두 개의 질문과 네 개의 답변이 존재한다는 것입니다. 따라서 프롬프트 설계가 복잡해집니다. 논문에서는 두 가지 프롬프트를 제안합니다. 첫 번째로는 두 턴을 두 개의 프롬프트로 분리하는 것인데, 그렇게 될 경우 LLM 평가자는 이전 응답을 찾기 어려워집니다. 두 번째 방법은 전체 대화를 하나의 프롬프트에 표기하는 방법입니다.
논문 요약인 만큼 Evaluation은 본 글에서는 생략하겠습니다.
본 눈문은 챗봇을 평가할 수 있는 방법론과 동시에 LLM을 평가자로 활용하는 방법을 동시에 소개했습니다. 하지만 더 개선해야 할 부분으로는 (1) 더 넓은 범주의 기준으로 챗봇을 평가하는 것이 필요하다는 것, (2) 인간 선호에 맞춘 오픈 소스 LLM 평가자 개발, (3) 공개 모델의 수학 및 추론적 능력을 향상시키는 것입니다.
특히 비용적인 측면 때문에 LLM을 평가자로 사용하려는 연구는 지속되고 있습니다. 물론 LLM 평가자 역시 완전하지는 않습니다. 그러나 전체적으로 모델이 잘 학습되었는지를 빠르게 확인하는 방법으로는 기존의 벤치마크보다 유용하지 않을까 라는 생각을 해봅니다. 물론 아직은 최종 평가는 벤치마크나 인간을 활용하는 것이 더 정확할 것이라고 봅니다.