벤치마크는 AI 모델에게 같은 문제를 풀게 해 점수로 성능을 비교하는 표준 시험으로, 새 모델 발표 자료나 리더보드에서 어느 모델이 나은지 빠르게 가늠할 때 쓴다. 벤치마크마다 재는 능력이 다르므로 내가 맡길 일과 맞는 벤치마크를 골라 봐야 하고, 실제로 도입하기 전에는 내 업무로 만든 평가로 다시 확인한다.
| 벤치마크 | 재는 능력 | 문제 형식 |
|---|---|---|
| MMLU | 폭넓은 지식 | 57개 분야 객관식 |
| HumanEval | 코딩 | 설명을 보고 파이썬 함수 작성, 테스트로 채점 |
| MATH | 수학 추론 | 경시대회 수준 문제 풀이 |
| MT-Bench | 대화 품질 | 여러 턴 질문, 강한 LLM이 채점 |
같은 벤치마크라도 예시를 몇 개 보여 줬는지(few-shot), 프롬프트를 어떻게 썼는지, 여러 번 시도해 하나만 맞아도 정답으로 쳤는지(pass@k)에 따라 점수가 달라진다. 그래서 서로 다른 회사의 발표 자료에 실린 숫자를 그대로 나란히 놓고 비교하면 안 된다.
비교할 때는 여러 모델을 같은 조건으로 돌린 공개 리더보드나 Stanford의 HELM 같은 평가 프로젝트를 먼저 본다. 발표 자료의 점수는 회사가 직접 잰 값이라는 점도 기억해 둔다.
가장 큰 문제는 벤치마크 오염(contamination)이다. 테스트 문제가 학습 데이터에 섞이거나 점수를 기준으로 모델을 튜닝하면, 점수는 높아도 실제 일은 그만큼 해내지 못한다. 또 최신 모델들이 만점에 가까워지면 점수 차이로는 우열을 가리기 어려워진다(포화). 그래서 더 어려운 벤치마크가 계속 새로 나온다.
| 보이는 현상 | 의심할 점 | 대응 |
|---|---|---|
| 특정 점수만 유독 높음 | 오염·과적합 | 새로 나온 문제나 비공개 세트 결과 확인 |
| 상위 모델 점수가 비슷함 | 포화 | 더 어려운 벤치마크, 직접 평가 |
| 객관식 점수만 높음 | 실전 능력과 차이 | 실제 작업형 평가로 확인 |
가장 믿을 만한 방법은 실제 업무에서 뽑은 문제로 작은 내부 벤치마크를 만드는 것이다. 실제 입력과 기대하는 답을 수십 개 모아 두고, 후보 모델들에 같은 프롬프트로 돌려 정답률·비용·속도를 함께 기록한다. 모델을 바꾸거나 프롬프트를 고칠 때마다 같은 세트로 다시 돌리면 품질이 떨어졌는지 바로 알 수 있다.
공개 벤치마크를 한꺼번에 돌리고 싶다면 EleutherAI의 lm-evaluation-harness를 쓴다. 설치한 뒤 lm_eval 명령에 모델과 태스크 이름(예: mmlu)을 넘기면 여러 벤치마크를 같은 조건으로 실행해 준다. 직접 띄운 오픈 모델끼리 비교할 때 특히 유용하다.
가장 흔한 쓰임은 새 모델이 나왔을 때 후보를 추리는 것이다. 공개 점수로 후보를 두세 개로 좁힌 뒤, 그다음부터는 내부 평가 세트로 직접 재서 고른다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 모델 발표·리더보드 | 내 작업과 맞는 점수(코딩이면 HumanEval 등)만 골라 보고 후보를 좁힌다 |
| 오픈 모델 비교 | lm-evaluation-harness로 여러 모델을 같은 조건에서 한 번에 돌린다 |
| 모델·프롬프트 교체 | 바꿀 때마다 내부 평가 세트를 다시 돌려 품질이 떨어졌는지 확인한다 |
| 파인튜닝 전후 | 같은 벤치마크로 원하는 능력은 좋아지고 다른 능력은 떨어지지 않았는지 본다 |