대규모 언어 모델(LLM)을 다뤄보면 그 성능이 얼마나 잘 나오는지, 실제로 얼마나 유용한지를 확인하는 과정이 중요하죠. 그래서 요즘 많은 개발자들이 성능 평가 도구에 관심을 갖고 있어요. 검색해 보면 평가 툴이 정말 많은데, 이걸 다 쓸 수는 없으니 인기 있고 검증된 툴들부터 살펴보는 게 좋습니다. 특히 GitHub에서 평가 도구 몇 가지를 발견했는데, 직접 써볼 가치가 충분해 보이더라고요✨
 
그럼 이제, LLM 성능 평가 도구와 대표적인 리더보드까지 하나하나 알아보겠습니다.


1. 대표적인 LLM 평가 도구: lm-evaluation-harness와 DeepEval

LLM 성능 평가 도구를 찾기 위해 GitHub에서 검색해 보니, lm-evaluation-harness와 DeepEval이라는 두 가지가 특히 인기 있는 걸 알 수 있었어요.

  • lm-evaluation-harness: 2024년 11월 기준, 7k stars로 아주 인기 있는 프로젝트예요. Hugging Face 리더보드에서도 이 툴을 쓰기 때문에 여러 모델을 비교하거나, 직접 만든 모델을 실험해보고 싶을 때 아주 유용합니다. 특히 API를 통해 평가를 할 수 있는 기능도 있어서 활용도가 높죠. lm-evaluation-harness를 활용한 자세한 성능 평가 방법은 다음 포스터에 작성할 예정입니다 😎

https://github.com/EleutherAI/lm-evaluation-harness

 

  • DeepEval: 마찬가지로, 3.6k stars로 비교적 많은 사람들이 사용하고 있어요. 다양한 평가 지표를 제공해 다방면에서 모델의 성능을 볼 수 있는 툴입니다. 다만, DeepEval은 Hugging Face 모델이나 API 기반 모델 평가에 적합하지 않은 경우가 있습니다. 또한, DeepEval은 영어에 기반한 평가를 주로 지원하기 때문에 한국어와 같은 다국어 LLM을 평가하는 데 한계가 있을 수 있습니다.

이 두 도구 모두 공개되어 있어서 직접 평가 코드도 건드려볼 수 있으니, 커스터마이징 해서 원하는 방식으로 모델을 평가하는 데 도움이 될 거예요. 


2. Hugging Face 리더보드 – 모델 성능의 기준점

LLM 평가에는 특정한 기준 지표가 필요해요. 2024년 11월 기준, Hugging Face의 LLM 리더보드에서는 각 모델의 성능을 6가지 주요 항목을 통해 평가합니다. 이 평가 지표들이 모델의 전반적인 성능을 이해하는 데 유용하죠. 아래는 주요 평가 항목입니다: HuggingFace LLM 리더보드에서는 lm-evaluation-harness를 기반으로 평가합니다!

https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard

 

HuggingFace에서는 아래와 같은 지표들을 사용합니다 🙄

  • MMLU-Pro (Massive Multitask Language Understanding - Pro): 이 지표는 다양한 분야의 지식을 평가하기 위해 설계되었습니다. 예를 들어, 생물학, 역사, 경제학 등 여러 분야의 객관식 질문을 통해 모델의 전반적인 지식수준을 측정합니다.
    • 예시 질문: "다음 중 DNA 복제 과정에서 작용하는 효소는 무엇입니까?" a) 리가아제 b) 헬리케이스 c) 폴리메라아제 d) 프라이메이스
  • GPQA (Graduate-Level Question Answering): 전문가들이 작성한 고난도의 질문으로 구성되어 있으며, 모델의 심층적인 지식과 이해도를 평가합니다.
    • 예시 질문: "양자 역학에서 파동 함수의 확률 해석에 대한 코펜하겐 해석의 주요 개념은 무엇입니까?"
  • MuSR (Multistep Soft Reasoning): 복잡한 시나리오를 제시하고, 모델이 여러 단계를 거쳐 추론할 수 있는 능력을 평가합니다.
    • 예시 시나리오: "한 마을에서 A 씨는 B 씨의 집을 방문했습니다. B 씨는 C 씨와 함께 있었고, C 씨는 D 씨의 친구입니다. D 씨는 E 씨의 형제입니다. E 씨는 A 씨의 직장 동료입니다. A 씨와 D 씨의 관계는 무엇입니까?"
  • MATH: 고등학교 수준의 수학 문제를 통해 모델의 수학적 추론 능력을 평가합니다.
    • 예시 문제: "2차 방정식 x² - 5x + 6 = 0의 해를 구하시오."
  • IFEval (Instruction Following Evaluation): 특정 지시를 모델이 얼마나 정확하게 따르는지를 평가합니다.
    • 예시 지시: "다음 문장을 영어로 번역하되, 모든 단어를 대문자로 작성하시오: '안녕하세요, 오늘 날씨가 좋네요.'"
  • BBH (BigBench Hard): BigBench 데이터셋에서 선정된 어려운 문제들을 통해 모델의 고급 추론 능력을 평가합니다.
    • 예시 문제: "다음 문장에서 '그녀'가 지칭하는 인물은 누구입니까? '마리아는 안나를 만났고, 그녀는 그녀의 책을 빌려주었다.'"

이 지표들이 모여 모델 성능의 ‘평균 점수’를 매기고, 이를 통해 각 모델이 얼마나 뛰어난지 한눈에 알 수 있게 됩니다.


3. 한국어 관련 LLM 평가 도구와 리더보드

한국어 LLM 평가도 다양한 방향으로 발전하고 있습니다. lm-evaluation-harness에는 이미 한국어 태스크가 몇 가지 준비되어 있어요. 예를 들어 haerae, kmmlu, kobest, kormedmcqa, paws-x, csatqa 등의 태스크를 통해 한국어 데이터 세트를 활용한 평가가 가능합니다.
또한, Open-Ko-LLM-Leaderboard라는 한국어 LLM 리더보드가 Hugging Face에 준비되어 있어요 (초기 실행하는 데 버퍼가 좀 있습니다ㅎㅎ). Upstage와 NIA가 협업해 만든 이 리더보드는 한국어 데이터와 평가 도구를 활용해 한국어 LLM을 평가할 수 있습니다. 주요 지표는 다음과 같습니다:

  • Ko-GPQA, Ko-Winogrande, Ko-GSM8k: 복잡한 한국어 지식 문제와 논리적 추론을 위한 테스트
  • Ko-EQ Bench, Ko-IFEval: 지시와 형식 준수 능력을 확인하는 평가 항목
  • KorNAT-CKA, KorNAT-SVA: 한국어에서의 자연 언어 처리 능력을 측정하는 지표
  • Ko-Harmlessness, Ko-Helpfulness: 모델의 안전성과 유용성을 평가합니다.

아쉽게도 한국어 리더보드의 데이터 세트는 비공개 처리되어 있으며😥, 모델을 평가하려면 직접 모델을 제출해야 합니다.


4. LogicKor로 보는 또 다른 한국어 평가 방법

또 하나의 평가 방식으로 LogicKor이 있습니다. 여기서는 vllm이나 aprodite 엔진으로 생성된 LLM 출력OpenAI GPT-4와 같은 고성능 LLM으로 평가합니다

✔ 이에 따라서 등록된 OpenAI나 Azure API key가 필요합니다..!

 

LogicKor는 총 42개의 질문을 통해 논리성과 정확성을 검증하며, 한국어 LLM의 특성을 잘 살펴볼 수 있게 합니다.


마무리하며

LLM 성능을 평가할 때, 단순히 점수만 보지 않고 다양한 벤치마크와 평가 지표를 통해 모델의 강점과 약점을 파악하는 것이 중요합니다. 한국어 모델의 경우도 점차 발전 중이며, 여러 도구와 리더보드가 평가를 지원하고 있습니다. 한국어 평가 도구는 계속 늘어날 전망이니, 앞으로 다양한 평가 방식이 추가되기를 기대해 봐도 좋겠네요!