ChatGPT(2022년 11월 30일) [1] 등장 이후 수 많은 대규모 언어 모델(Large Language Model, LLM)이 마치 경쟁이라도 하듯이 생겨났습니다. 2024년만 해도 Gemini 1.5 pro(2월 15일) [2], LLaMA 3(4월 18일) [3], GPT-4o(5월 13일) [4], Claude 3.5 Sonnet(6월 21일) [5], LLaMA 3.1(6월 23일) [6] 등이 나왔는데요. 새로운 모델은 늘 기존 모델보다 성능이 좋아졌다고 말합니다. 더 좋고 나쁜 건 어떻게 평가할 수 있을까요?
두 모델의 성능을 비교하려면 둘을 나란히 놓고 직접 비교를 하거나 '시험'을 봐서 점수를 비교를 해볼 수 있습니다. LLM 평가(Evaluation)라고 할 수 있겠지요. LLM 평가가 중요한 이유가 무엇일까요? 간단히 말하면, LLM이 정말로 우리가 원하는 대로 작동하는지 확인하기 위해서 입니다. LLM이 해야 할 목표를 설정하고, 그 목표를 얼마나 잘 달성하는지 판단해 보는 거죠. 예를 들어, 번역은 얼마나 정확하게 하는지, 질문에 얼마나 정확히 답변하는지, 과학 문제를 얼마나 잘 푸는지, 사회적 편견 없이 얼마나 공정하게 답변하는지 등을 평가합니다.
LLM 평가는 생각보다 복잡합니다. LLM은 다양한 기능을 가지고 있어서 하나의 지표로 평가하기 어렵고, 기능만이 아니라 생성된 글의 품질도 봐야 합니다. 최근에는 '인간의 선호도 또는 추구하는 가치'와 얼마나 일치하는지도 중요한 평가 요소가 되었습니다. 특히 LLM이 개인정보를 유출하거나 위험한 내용을 생성하지 않는지, 편견을 강화하거나 잘못된 정보를 퍼뜨리지 않는지 등도 꼼꼼히 살펴봐야 합니다.
LLM 평가 프로세스
평가는 크게 세가지 부분으로 나눌 수 있습니다 [7]. 무엇을, 어떤 데이터로, 어떻게 평가할지를 봐야하는데요. 자세히 살펴볼까요?
1. 무엇을 평가할지
- 정확도는 생성된 내용이 사실에 부합하는지,
- 유창성은 문장이 자연스럽고 읽기 쉬운지,
- 일관성은 내용이 논리적으로 일관되어 있는지,
- 관련성은 텍스트가 주제와 얼마나 잘 맞는지,
- 자연스러움은 사람이 작성한 것처럼 보이는지,
- 사실 부합성은 정보가 정확한지,
- 편견은 사회적 편견이 포함되어 있는지,
- 유해성은 생성된 내용에 유해한 내용이 있는지,
강건성은 잘못 입력된 텍스트에 대해서도 올바르게 출력 하는지 평가합니다.
생성 능력 이외에도 전통적인 NLP 태스크들인 감정분석, 텍스트 분류, 자연어 추론 능력, 번역, 요약, 대화, 질의응답, 개체명 인식등도 중요한 평가 요소 중 하나입니다. 전통적인 NLP 태스크 평가 뿐 아니라 STEM(과학, 기술, 공학, 수학) 분야의 전문지식을 평가하거나 특정 분야(예: 금융, 법률, 의학 등)에 대한 이해도를 평가하기도 합니다.
2. 어떤 데이터로 평가할지
‘어떤 데이터로 평가할지’는 평가를 위한 시험을 정하는 과정입니다. 데이터를 시험 문제라고 볼 수 있는데요. 모든 모델이 같은 시험을 보아야 공정하겠지요? 따라서 우리는 같은 데이터셋에 기반해 시험을 봅니다. 이런 데이터셋을 벤치마크 데이터셋이라고 부르고, 거의 대부분의 모델을 이 벤치마크 데이터를 사용해 평가합니다. 새로운 모델이 나올 때 마다 ‘우리가 제일 좋다’라고 이야기 하는 많은 경우, ‘벤치마크 데이터를 가지고 평가했는데 가장 높은 점수를 얻었다’라는 뜻입니다. 대표적인 벤치마크 데이터셋을 몇 가지 알아볼까요?
MMLU (Massive Multitask Language Understanding)
UC Berkeley에서 만든 이 벤치마크는 이름 그대로, 종합적인 언어 이해도를 평가하는 데이터셋입니다 [8]. 이 데이터셋은 STEM, 인문학, 사회과학 및 법, 윤리와 같은 보다 전문적인 분야를 포함한 57가지 다양한 주제들로 이루어져 있습니다. 문제는 대략 16,000개로 이루어져 있는데요. 난이도 범위가 초등학생에서 전문가 수준까지 넓어, 모델의 다양한 언어 이해도를 평가할 수 있는 도구입니다. 문제는 주로 객관식으로 이루어져 있습니다. 실제 데이터 예시를 슬쩍 볼까요?
(그림 출처) [8]
베이스라인인 랜덤선택(찍기)은 25%, 비전문가인 일반인들의 테스트는 34.5%의 정확도를 보이고, 당시(2020년) GPT-3는 43.9%의 정확도를 보였습니다. 현재(2024년 8월) MMLU 벤치마크의 1등은 Gemini 1.0 Ultra [9] 이며 90.0%의 정확도를 보여줍니다. 인간 전문가의 정확도인 89.8%를 살짝 넘어서며 4년만에 LLM의 발전이 매우 빠르게 일어났다는 사실을 보여줍니다.
GPQA (A Graduate-Level Google-Proof Q&A Benchmark)
구글에서 만든 GPQA 역시 이름 그대로, 대학원 수준의 문제들로 구성된 벤치마크 데이터셋입니다 [10]. 물리학, 화학, 생물학 분야의 전문가들이 작성한 448개의 객관식 문제로 구성되어 있는데요. 해당 분야의 박사 학위 소지자나 박사 과정 학생의 문제 풀이 정확도는 65%, 고도로 훈련된 비전문가의 정확도는 34%에 불과합니다. 그만큼 GPQA는 매우 어려운 과제입니다. 논문이 출판된 2023년 11월 기준 GPT-4가 39%의 정확도를 보였는데요. 아직까지 매우 어려운 벤치마크 데이터셋으로 평가 됩니다. 아래에 실제 데이터 예시가 있습니다. 문제만 이해해도 다행이라는 생각이 들 정도로 어려워 보이는 문제입니다.
(그림 출처) [10]
2024년 8월 기준, GPQA 벤치마크의 1등은 Claude 3.5 Sonnet [5] 으로, 정확도는 59.4%를 보여줍니다. 최근 MMLU의 점수인 90.0%에는 아직 한참 못 미치지만 최근의 AI 발전의 속도를 보면 GPQA 데이터 셋의 정확도도 빠르게 높아지리라 예상할 수 있습니다.
HumanEval
OpenAI에서 만든 데이터셋으로, python docstring으로부터 python 함수를 잘 생성하는지를 평가하기 위해 만들어졌습니다. [11]. 총 164개의 프로그래밍 과제로 이루어져있고 문제당 평균 7.7개의 테스트가 포함되어 있는데요. 이 문제들은 프로그래밍 언어, 알고리즘, 간단한 수학 등의 이해도를 평가하기 위함인데, 마치 전형적인 소프트웨어 면접 질문 같습니다.
함수를 잘 생성하는 정도는 어떻게 평가할 수 있을까요? HumanEval은 생성된 코드들이 사전에 정의된 단위 테스트들을 통과하는지 여부를 통해 정확성을 평가합니다. 즉, 모델이 생성한 코드가 단위 테스트를 통과하면 정답으로 간주하지요. 이 접근 방식은 정확하고 기능적인 코드를 생성하는 모델의 실질적인 능력에 중점을 두기 때문에 단순히 코드의 텍스트만 단순 비교하는 평가보다 훨씬 유용한 평가 방법 입니다. 아래에 실제 데이터 예시가 있습니다.
(그림 출처) [11] 하얀 바탕에 있는 코드가 입력 프롬프트이고 노란 바탕에 있는 코드가 모델이 출력한 코드 입니다.
OpenAI에서는 이 문제를 풀기 위해 Codex-12B라는 모델을 만들었고, 이 모델은 28.8%의 문제를 해결하였습니다. 2021년 당시, GPT-3 모델은 거의 0%에 가까운 성공률을 보였습니다. 현재 HumanEval의 1등은 LDB 모델이며 정확도는 98.2%입니다 [12].
벤치마크 데이터셋
LLM 평가 벤치마크 데이터셋은 매우 다양합니다. 살펴볼까요?
- ARC Challenge: 초등학교 수준(미국 기준 3학년 ~ 9학년) 과학 시험을 통해 모델의 추론 능력을 평가하는 벤치마크
- HellaSwag: 일상적 상황에서 발생할 수 있는 다양한 시나리오를 예측하고, 이를 통해 상식 추론 능력을 평가하는 벤치마크
- TrustfulQA: 답변을 생성할 때 모델의 진실성을 평가하기 위해 만든 벤치마크
지금까지 소개한 데이터셋은 모두 영어 기반입니다. 그럼 모델의 한국어 능력을 평가하고 싶으면 어떻게 해야 할까요?
물론, 한국어 벤치마크 셋이 준비되어 있습니다. 대표적인 데이터셋으로는 셀렉트스타와 upstage가 공동으로 만들고 관리하는 Open Ko-LLM Leaderboard2 [13] 가 있습니다. Open Ko-LLM Leaderboard (version 1) [14] 는 위에서 언급한 ARC, HellaSwag, MMLU, TrustfulQA 등 기존에 영어 데이터로 존재하는 벤치마크 데이터셋을 한글화한 데이터셋입니다. Leaderboard2는 GPQA, GSM8K등 기존 영어 데이터를 번역한 데이터셋과 셀렉트스타에서 만든 한국인의 사회적 가치관 및 기본 지식 등이 얼마나 일치하는지를 평가하는 KorNAT [15] 데이터셋이 새로 추가 되었습니다. 여러분들이 만든 한국어 모델들을 평가할 때 아주 유용하겠지요?
마치며
모델이 인간의 수준을 넘어서는 영역이 늘어남에 따라, 평가 기준과 방법론도 계속해서 진화해야 합니다. 윤리, 다국어 능력, 실제 세계에서의 적용 가능성 등 복잡한 요소를 어떻게 평가에 반영할 지도 중요한 과제이지요.
우월한 성능뿐 아니라 실생활에 미치는 영향까지도 고려할 때, 우리는 진정으로 인간에게 도움이 되는 AI를 만들고 있다고 할 수 있습니다.
참고자료
- https://openai.com/index/chatgpt/
- Gemini 1.5 pro, https://blog.google/technology/ai/google-gemini-next-generation-model-february-2024/
- LLaMA 3, https://ai.meta.com/blog/meta-llama-3/
- GPT-4o, https://openai.com/index/hello-gpt-4o/
- Claude 3.5 Sonnet, https://www.anthropic.com/news/claude-3-5-sonnet
- LLaMA 3.1, https://ai.meta.com/blog/meta-llama-3-1/
- https://arxiv.org/abs/2307.03109
- https://arxiv.org/abs/2009.03300
- https://deepmind.google/technologies/gemini/ultra/
- https://arxiv.org/abs/2311.12022
- https://arxiv.org/abs/2107.03374
- https://arxiv.org/abs/2402.16906
- https://huggingface.co/spaces/upstage/open-ko-llm-leaderboard
- https://huggingface.co/spaces/choco9966/open-ko-llm-leaderboard-old
- https://arxiv.org/abs/2402.13605
- https://arxiv.org/abs/2402.01383