점수 하나가 아니라 행렬로 — HELM
Holistic Evaluation of Language Models (Liang et al., Stanford CRFM, TMLR 2023)
Introduction
3부는 다섯 편에 걸쳐 같은 장면을 다섯 번 반복해서 보여줬다. #10에서 지식·추론 벤치마크는 포화하자마자 다음 벤치마크로 도망쳤다. #11에서 수학·코드는 아예 “검증 가능한” 답으로 도망쳤다. #12에서 개방형 대화는 참조 답이 없으니 모델끼리 비교하는 쪽으로 갔다. #13에서 능력은 지시따르기·긴 문맥·사실성 같은 여러 축으로 쪼개졌다. #14에서는 언어·문화가 다르면 같은 벤치마크도 다른 것을 잰다는 게 드러났다. 다섯 편의 결이 다 다른데도 결론은 똑같다. 단일 숫자 하나로는 안 된다.
이 글은 3부를 닫는 편이다. 그리고 이 결론을 처음으로 인프라 수준에서 구현한 논문을 다룬다. Percy Liang 외 Stanford CRFM(Center for Research on Foundation Models) 연구진 다수가 쓴 HELM(Holistic Evaluation of Language Models, 2022년 arXiv 공개, TMLR 2023년 게재)이다. HELM의 답은 간단하다. “더 좋은 단일 벤치마크를 만들지 말고, 시나리오 × 지표 행렬을 통째로 보고하라.”
이 글의 위치를 명확히 해두자. #4는 벤치마크가 무엇을 재고 있는지 진단했다 — 구성개념이 정의되지 않거나(21.8%), 정의돼도 논쟁적이고(47.8%), 점수 차이가 우연인지 검정한 논문이 여섯 편 중 한 편(16%)도 안 된다는 것. HELM은 그 진단에 대한 처방 쪽이다. 다만 미리 말해두면, 이 처방은 완전한 해법이 아니다. 행렬을 펼쳐 보이는 것과 그 행렬의 칸들이 애초에 옳은 것을 재고 있는지는 다른 문제이기 때문이다.
이 글이 확인할 숫자들을 미리 적어둔다.
- 핵심(core) 시나리오 16개, 전체 시나리오 42개(그중 21개는 기존 주류 LM 평가에서 쓰인 적 없던 시나리오).
- 지표 7개 범주 — accuracy, calibration, robustness, fairness, bias, toxicity, efficiency.
- 평가 모델 30개, 소속 조직 12개.
- 커버리지: HELM 이전 평균 17.9% → HELM 이후 96.0%.
- (시나리오, 지표) 조합 112개(=16×7) 중 실제로 채워진 칸 98개(87.5%).
그리고 이 글만의 기여로, HELM처럼 지표를 여러 개 보고할 때 생기는 통계적 함정 두 가지 — 다중비교 문제와 순위 집계의 임의성 — 를 직접 계산으로 보여준다.
Background
3부가 지금까지 보여준 것을 한 줄로
3부의 다섯 편을 관통하는 패턴을 다시 정리하면 이렇다. 벤치마크는 어려워지면 포화하고, 포화하면 다음 벤치마크로 옮겨가고, 옮겨간 자리에서 또 같은 문제(오염·표층 단서·평가자 편향)가 반복된다. #1과 #4의 언어로 옮기면, 이 반복은 “구성개념 부족”(재려는 능력의 일부만 표본으로 뽑는다)과 “구성개념 무관 분산”(재려는 것과 상관없는 잡음이 점수를 흔든다)이 벤치마크를 갈아치워도 사라지지 않고 새 벤치마크에 옮겨붙는다는 뜻이다.
HELM 저자들이 주목한 것은 이 반복의 원인 중 하나가 보고 관행 자체라는 점이다. 어떤 논문은 정확도만 보고하고, 어떤 논문은 독성만 보고하고, 어떤 논문은 자기 모델이 잘 나오는 시나리오만 골라 보고한다. 각 논문이 부분적으로는 맞는 말을 해도, 독자는 “보고되지 않은 칸”에서 무슨 일이 벌어지는지 알 길이 없다. 이것도 일종의 편의표집이다 — 데이터가 아니라 보고할 지표를 편의적으로 고르는 것이다.
단일 스칼라의 문제 — 압축은 손실이다
벤치마크 점수를 하나의 숫자로 압축해 리더보드에 올리는 관행에는 근본적인 문제가 있다. 모델 A가 정확도에서 이기고 모델 B가 강건성에서 이긴다면, “누가 더 나은 모델인가”라는 질문에는 애초에 하나의 답이 없다. 그런데 리더보드는 이 다차원 정보를 “종합 1위”라는 하나의 문장으로 뭉갠다.
일상 비유를 들면 이렇다. 자동차를 살 때 연비 하나만 보고 사는 사람은 없다. 안전성, 가격, 유지비, 주행감을 함께 본다. 그런데 어떤 자동차 잡지가 “올해의 차”를 딱 한 대만 뽑아 발표한다면, 그 한 문장 뒤에는 “어떤 기준에 얼마의 가중치를 줬는지”에 대한 편집자의 판단이 숨어 있다. LLM 리더보드의 “종합 1위”도 똑같다 — 그 뒤에는 반드시 누군가 내린 가중치 판단이 있는데, 그 판단이 점수만 보면 보이지 않는다.
HELM은 이 손실을 되돌리는 방법으로 압축을 거부하는 쪽을 택했다. 시나리오마다, 지표마다 따로 점수를 매기고 그 전부를 행렬로 공개한다.
Method
HELM의 설계 — 시나리오 × 지표 행렬
HELM의 핵심 개념은 두 축이다.
- 시나리오(scenario): task(질의응답, 요약, 정보 검색 등)와 domain(뉴스, 법률, 의료 등)의 조합. “이 모델을 어떤 상황에 쓸 것인가”를 정의하는 축이다.
- 지표(metric): 그 시나리오에서 “무엇을 잘한다는 것인가”를 정의하는 축. accuracy 하나가 아니라 7개 범주로 쪼갰다.
| 구성 요소 | 규모 |
|---|---|
| 핵심(core) 시나리오 | 16개 |
| 전체 시나리오 | 42개 (핵심 16개 + 목표(targeted) 시나리오 26개) |
| 기존 주류 LM 평가에서 쓰인 적 없던 시나리오 | 21개 |
| 핵심 지표 | 7개 범주 (accuracy, calibration, robustness, fairness, bias, toxicity, efficiency) |
| (핵심 시나리오, 지표) 조합 중 실제로 채워진 칸 | 98개 / 112개 (87.5%) |
| 평가한 모델 | 30개 |
| 모델을 낸 조직 | 12개 (AI21 Labs, Anthropic, BigScience, Cohere, EleutherAI, Google, Meta, Microsoft/NVIDIA, OpenAI, Tsinghua University, Yandex 등) |
| 상위 수준 발견(finding) | 25개 |
이 산수가 87.5%라는 숫자를 그대로 재현한다는 점을 확인해두자 — 16개 핵심 시나리오 각각에 7개 지표를 다 매기려 시도했지만, 모든 조합이 다 채워지지는 않았고 실제로는 87.5%만 채워졌다는 뜻이다. 나머지 12.5%가 비는 이유는 지표의 성격과 시나리오의 형태가 안 맞는 경우다 — 예를 들어 calibration은 모델이 정답 후보에 대한 확률 분포를 내놓아야 계산할 수 있는데, 자유 생성형 시나리오에서는 그 확률 분포 자체를 정의하기 애매하고, robustness·fairness는 “같은 문항의 섭동(perturbation) 버전”을 만들 수 있어야 하는데 모든 시나리오가 섭동을 만들기 쉬운 형태는 아니다.
16개 핵심 시나리오 외에 HELM은 7개 목표(targeted) 평가를 26개 목표 시나리오를 통해 수행한다. 이 7개는 language, knowledge, reasoning, memorization & copyright, disinformation, bias, toxicity라는 이름이 붙어 있는데, 앞의 7개 지표 범주와 이름이 겹치는 것도 있지만 서로 다른 목적이다. 지표 범주가 “모든 핵심 시나리오에 공통으로 적용하는 잣대”라면, 목표 평가는 “특정 현상(예: 저작권이 있는 텍스트를 그대로 암기해 뱉어내는지)을 집중적으로 파고드는 별도 실험”이다.
16개 핵심 시나리오가 구체적으로 무엇인지 감을 잡을 수 있게 대표적인 것만 몇 개 옮겨 적으면, 질의응답 계열(BoolQ, NarrativeQA, NaturalQuestions의 open-book/closed-book 두 변형, QuAC, OpenBookQA, MMLU), 정보 검색(MS MARCO의 두 변형), 요약(CNN/DailyMail, XSUM), 감성분석(IMDB), 독성 탐지(CivilComments), 텍스트 분류(RAFT) 등이 포함된다. 열거에서 보이듯 “질의응답”이라는 하나의 task 이름 안에서도 도메인(뉴스, 위키, 소설 등)에 따라 서로 다른 시나리오로 취급한다 — task와 domain의 곱이라는 정의를 그대로 실천한 것이다.
7개 지표 범주 — accuracy만으로는 안 되는 이유
HELM이 accuracy 하나를 7개로 쪼갠 이유를 하나씩 짚어보자. 각 범주는 서로 다른 실패 양상을 잡아내기 위한 것이라, 하나가 좋다고 다른 것도 좋다는 보장이 없다.
| 지표 | 무엇을 재나 | 왜 별도 축인가 | 이 시리즈에서 |
|---|---|---|---|
| Accuracy | 정답을 맞히는 비율 (exact match, F1, ROUGE 등 시나리오별로 다름) | 가장 기본적인 축이지만, 이것만 보면 아래 6개가 전부 숨는다 | 3부 전체 |
| Calibration | 모델이 내놓은 확신도(확률)가 실제 정답률과 얼마나 맞아떨어지는가 | 정확도가 같아도 “모른다는 것을 아는 모델”과 “틀렸는데도 확신하는 모델”은 실무에서 완전히 다르다 | #25 |
| Robustness | 입력을 살짝 바꿔도(오타, 대비 집합 등) 성능이 유지되는가 — 섭동에 대한 최악의 정확도 | 정확도가 시험 문항 그대로일 때만 높고 살짝만 바뀌어도 무너진다면, 그 정확도는 애초에 “이해”를 잰 게 아닐 수 있다 | #9 |
| Fairness | 방언 변경 등 인구통계적으로 의미 있는 섭동에도 성능이 유지되는가 | 강건성과 계산 방식은 비슷해도, “무엇을 바꾸는가”가 다르다 — 무작위 오타가 아니라 특정 집단이 쓰는 언어로 바꿨을 때의 성능 격차를 잡는다 | — |
| Bias | 생성된 텍스트에 고정관념·인구통계적 편향이 얼마나 담기는가 | 정확도·강건성이 높아도 생성물 자체가 편향된 연상을 강화할 수 있다 — 정답을 맞히는 것과 공정한 텍스트를 쓰는 것은 별개다 | — |
| Toxicity | 유해한 콘텐츠를 생성하는 정도 (PerspectiveAPI 등 자동 탐지기 사용) | 정확도·공정성과 독립적으로 실패할 수 있는 축이다 — 답은 맞히면서 표현이 유해할 수 있다 | — |
| Efficiency | 학습·추론에 드는 계산 비용(연산량, 추론 시간 등) | 정확도가 같다면 비용이 적은 모델이 실무적으로 더 낫다 — 정확도표만 보면 이 트레이드오프가 아예 안 보인다 | #24의 효율 절 |
이 표에서 강건성과 공정성이 같은 계산 방식(섭동 집합에 대한 최악의 정확도)을 쓰면서도 별도 범주로 분리된 것을 주목할 만하다. 같은 수식이라도 “무엇을 섭동시키는가”가 다르면 다른 것을 잰다 — 무작위 오타는 “이 모델이 얼마나 안정적인가”를 재고, 방언 치환은 “이 모델이 특정 집단에게 얼마나 공평한가”를 잰다. 지표를 계산 방식이 아니라 무엇을 위한 것인가로 나눈 설계다.
efficiency도 짚어둘 만하다. 이 지표는 사실 두 개의 서로 다른 비용을 하나의 이름 아래 묶는다 — 모델을 학습시키는 데 든 비용(연산량, 이에 따르는 에너지·비용)과, 학습이 끝난 모델을 한 번 돌리는 데 드는 비용(추론 시간, 하드웨어 요구량)이다. 두 비용은 트레이드오프 관계에 있을 수 있다 — 학습에 막대한 비용을 들인 큰 모델이 추론은 오히려 저렴할 수도 있고, 그 반대일 수도 있다. accuracy 하나만 보는 리더보드에서는 이 구분 자체가 아예 존재하지 않는다는 점에서, efficiency를 별도 축으로 두는 것은 “정확도가 같다면 어느 쪽을 실무에 쓸 것인가”라는, 논문 밖 배포 단계에서야 비로소 중요해지는 질문에 답을 준비해두는 셈이다.
커버리지 분석 — 17.9%에서 96.0%로
HELM이 자기 성과를 내세우는 방식 자체가 흥미롭다. “우리 모델이 SOTA를 찍었다”가 아니라 “우리는 커버리지를 올렸다”는 주장이다.
“Prior to HELM, models on average were evaluated on just 17.9% of the core HELM scenarios… We improve this to 96.0%: now all 30 models have been densely benchmarked on a set of core scenarios and metrics under standardized conditions.” (Liang et al., 2022)
이 문장을 정확히 읽어야 한다. 17.9%는 “HELM이 고른 16개 핵심 시나리오 기준으로, HELM 이전에 각 모델이 실제로 평가받은 시나리오의 비율”의 평균이다. 어떤 모델은 논문 A의 벤치마크에서, 어떤 모델은 논문 B의 벤치마크에서 평가됐는데, 두 논문이 겹치는 시나리오가 거의 없었다는 뜻이다. 그 결과 “모델 X가 모델 Y보다 낫다”는 비교 자체가 애초에 성립하지 않는 경우가 흔했다 — 같은 잣대로 잰 적이 없기 때문이다. HELM은 30개 모델 전부를 같은 16개 핵심 시나리오, 같은 지표, 같은 프롬프트 조건으로 밀도 있게 재평가해 이 비율을 96.0%까지 끌어올렸다.
이 “커버리지”라는 발상 자체가 진단이자 처방이다. 개별 논문이 자기에게 유리한 시나리오만 골라 보고하는 것도 넓게 보면 편의표집이다 — 표본이 아니라 보고할 결과를 편의적으로 고르는 것이다. 커버리지를 측정 가능한 숫자로 만들면 이 선택적 보고가 “그냥 안 함”이 아니라 “결측치”로 드러나서, 누구나 확인할 수 있게 된다.
표준화된 프롬프팅과 5-shot — 왜 “같은 조건”이 중요한가
HELM은 30개 모델 전부에 같은 시나리오, 같은 지표, 같은 프롬프트를 적용했고, 적응(adaptation) 방식으로 5-shot 프롬프팅을 표준으로 썼다. 모델마다 최적화된 프롬프트를 따로 짜주지 않고, 상대적으로 단순하고 일반적인 프롬프트를 모든 모델에 동일하게 적용했다.
왜 이게 중요한가. #9에서 볼 내용을 미리 당겨쓰면, 프롬프트 포맷을 조금만 바꿔도 같은 모델의 점수가 크게 흔들린다. 만약 논문마다 자기 모델에 유리한 프롬프트를 써서 보고한다면, 리더보드에 오르는 점수 차이 중 얼마가 “진짜 능력 차이”고 얼마가 “프롬프트 최적화 차이”인지 분해할 수 없다. 이는 #4의 언어로 구성개념 무관 분산의 전형이다 — 재려는 능력과 무관한 요인(프롬프트 튜닝 노력)이 점수 차를 만든다.
같은 조건을 강제하는 것은 이 잡음원 하나를 통제하는 일이다. #24에서 다룰 재현성 논의와도 정확히 같은 방향이다 — 평가 하네스(harness)가 논문마다 다르면 “같은 벤치마크 이름”이라도 실제로는 다른 것을 측정한 것일 수 있다는 문제의식이다. HELM의 표준화는 이 문제의 한 축(프롬프트 조건)을 30개 모델에 걸쳐 강제로 통일한 시도다. 다만 이 표준화에도 대가가 있다 — 저자들 스스로도 더 정교한 프롬프팅(chain-of-thought 등)을 쓰면 결과가 달라질 수 있다는 점을 한계로 인정한다. “표준화된 조건에서의 비교”이지 “각 모델이 낼 수 있는 최선의 비교”는 아니라는 뜻이다.
HELM의 한계 — 정직하게 보기
HELM은 스스로도 한계를 인정한다. 여기에 이 시리즈의 시각을 더해 정리하면 네 가지다.
| 한계 | 내용 | 관련 |
|---|---|---|
| (a) 다중비교 문제 | 지표·시나리오가 많아질수록 개별 비교(검정) 수가 늘어난다. 보정하면 검정력이 무너지고, 안 하면 위양성이 쌓인다 | #21, 아래 절에서 직접 계산 |
| (b) 순위 집계의 임의성 | 행렬을 다시 “종합 순위” 하나로 합치려면 지표 간 가중치를 정해야 하는데, 그 가중치 선택 자체가 가치 판단이다 | 아래 절에서 토이 예제로 확인 |
| (c) 계산 비용 | 42개 시나리오 × 7개 지표를 30개 모델에 전부 적용하는 것은 저렴하지 않다. 논문에 따르면 상업용 모델 API 비용만 약 $38,000이 들었고, 공개 가중치 모델의 추론에는 GPU 수만 시간이 들었다(약 12B 토큰, 1,700만 건의 쿼리 규모) | 실무에서 이 정도 규모의 재평가는 누구나 반복하기 어렵다 |
| (d) 구성타당도는 별개 문제 | 지표를 7개로 늘렸다고 “제대로 재고 있다”는 보장이 생기는 것은 아니다. 재려는 것(예: fairness란 정확히 무엇인가)을 정의하지 않은 채 지표 이름만 늘리면, 겉보기엔 화려한 행렬이어도 #4가 지적한 구성개념 부족은 그대로 남는다 | #4 |
(d)를 조금 더 풀어보자. HELM의 “fairness” 지표는 방언 섭동에 대한 정확도 하락으로 조작화(operationalize)된다. 그런데 “공정하다”는 구성개념이 정말 “방언을 바꿔도 정확도가 유지되는 것”으로 완전히 정의되는가? 이는 하나의 조작화일 뿐, 유일한 정답은 아니다. 다른 조작화(예: 특정 집단에 대한 응답의 유해성, 대우의 형평성)를 쓰면 같은 이름의 지표라도 다른 숫자가 나올 수 있다. 지표 칸을 채우는 행위 자체는 “무엇을 잴지”를 이미 하나의 방식으로 확정한 결과이지, 그 확정이 옳았는지를 검증해주지는 않는다. 행렬은 압축의 문제(단일 스칼라 대 다차원 정보)는 해결하지만, 정의의 문제(그 축이 애초에 옳은가)는 해결하지 못한다. 이 구분이 이 글에서 가장 중요한 메시지다.
후속 흐름 — HELM Lite, Instruct, Safety
HELM은 2022년 한 번의 논문으로 끝나지 않고, Stanford CRFM이 계속 갱신하는 살아있는 리더보드로 이어졌다. 확인된 확장만 짧게 정리한다.
- HELM Lite (2023): 원래 HELM(현재는 “HELM Classic”으로 불림)을 경량화한 버전이다. 무작위 시드를 3개에서 1개로 줄이고, 강건성·공정성의 섭동 평가와 calibration 계산을 뺐다. 대신 의료(MedQA)·법률(LegalBench)·기계번역(WMT14) 등 새 도메인을 포함한 9개 시나리오(NarrativeQA, NaturalQuestions, OpenbookQA, MMLU, MATH, GSM8K, LegalBench, MedQA, WMT14)로 구성된다. 목적은 명확하다 — 전면적인 다지표 평가는 무겁기 때문에, 가벼운 능력 평가로 새 도메인에 빠르게 확장할 여유를 만드는 것이다.
- HELM Instruct (2024): 지시따르기(instruction-following) 모델을 위한 다차원 평가 프레임워크다. pairwise 비교나 참조 기반 자동 지표 대신, 여러 차원에 대한 절대 평가(absolute rating)로 개방형 생성을 채점한다.
- HELM Safety (2024): 안전성에 특화된 확장이다. v1.0 기준 5개의 안전 벤치마크가 폭력·사기·차별·성적 콘텐츠·괴롭힘·기만 등 6개 위험 범주에 걸쳐 있으며, 24개의 주요 모델을 평가했다.
- 이 밖에도 MedHELM(의료), LegalHELM(법률) 같은 도메인 특화 확장과, 다국어 평가를 위한 CLEVA·ThaiExam 같은 연계 프로젝트가 있다.
이 확장들의 공통점은 하나다. “모든 것을 하나의 거대한 행렬에 다 넣기”가 아니라, 목적별로 행렬을 쪼개는 방향으로 갔다는 것이다. HELM Classic 하나로 능력·안전·지시따르기를 전부 감당하려던 원래 설계에서, 무거운 다지표 평가의 비용((c) 한계)을 줄이기 위해 용도별 경량 행렬로 나뉜 셈이다.
다지표 보고의 통계 문제
여기서부터는 HELM 논문 자체의 내용이 아니라, HELM처럼 여러 지표를 나란히 보고하는 관행이 통계적으로 어떤 대가를 요구하는가를 직접 계산으로 짚는다. 지표를 늘리는 것은 공짜가 아니다.
검정 수가 늘어나면 다중비교 문제가 생긴다
복권을 한 장만 긁으면 당첨될 확률은 낮다. 그런데 백 장을 긁으면 “적어도 한 장은 당첨”될 확률은 훨씬 커진다 — 복권 한 장 한 장의 당첨 확률은 그대로인데, 시도 횟수가 늘어난 탓이다. 여러 지표를 놓고 “유의한 차이가 있는가”를 하나씩 검정하는 것도 똑같다. 검정 하나하나는 정직해도, 검정을 많이 반복하면 그중 무언가는 우연히 “당첨”(위양성)될 확률이 쌓인다.
두 모델을 비교한다고 하자. HELM처럼 (시나리오, 지표) 조합이 98개 있다면, 이 98개 칸 각각에서 “두 모델의 점수 차이가 유의한가”를 검정할 수 있다. 문제는 검정을 98번 하면, 그중 하나라도 우연히 유의하게 나올 확률이 개별 유의수준보다 훨씬 커진다는 것이다.
\(m\)개의 독립적인 검정을 각각 유의수준 \(\alpha\)에서 수행하고, 실제로는 어느 쌍에도 진짜 차이가 없다고 하자. 적어도 하나에서 우연히 유의한 결과(위양성)가 나올 확률, 즉 가족단위 오류율(family-wise error rate)은 다음과 같다.
\[\text{FWER} = 1 - (1-\alpha)^m\]- \(\alpha\): 검정 하나에 설정한 유의수준(보통 0.05).
- \(m\): 수행한 검정의 개수.
- \((1-\alpha)^m\): \(m\)번의 검정 전부에서 위양성이 안 나올 확률. 각 검정이 독립이라 확률을 곱한다.
\(\alpha=0.05\), HELM의 98개 칸을 그대로 \(m=98\)에 대입하면,
\[\text{FWER} = 1 - (0.95)^{98} \approx 1 - 0.0066 \approx 0.993\]두 모델 사이에 실제로는 아무 차이가 없어도, 98개 칸 중 적어도 한 칸에서 우연히 “유의한 차이”가 나올 확률이 99.3%나 된다. 이것이 개별 검정 하나만 보고 “이 지표에서는 A가 B보다 유의하게 낫다”고 말하면 안 되는 이유다. 지표가 늘어날수록 이 함정은 더 커진다. 만약 30개 모델 전부를 쌍으로 비교하려 한다면 조합 수는 \(\binom{30}{2} = 435\)쌍이고, 여기에 98개 칸을 곱하면 \(435 \times 98 = 42{,}630\)번의 개별 검정이 생긴다. 이 정도 규모에서 보정 없이 유의성만 훑으면, 우연한 “유의한 차이”를 대량으로 주워담게 된다.
그렇다고 보정을 하면 문제가 사라지는 것도 아니다. Bonferroni 보정은 개별 유의수준을 \(\alpha/m\)으로 낮춘다. \(m=98\)이면 보정된 기준은 \(0.05/98 \approx 0.00051\), 즉 0.051%다. 이렇게 엄격한 기준을 통과할 만큼 뚜렷한 차이가 아니면 전부 “유의하지 않음”으로 처리되어, 실제로 존재하는 차이까지 놓치는 검정력 붕괴가 일어난다. 보정을 하면 위양성은 줄지만 검정력이 무너지고, 안 하면 위양성이 쏟아진다 — 이 트레이드오프를 어떻게 다루는지(Bonferroni보다 덜 보수적인 Benjamini-Hochberg 절차 등)는 #21에서 자세히 다룬다. 여기서 짚어둘 것은 하나다. 지표를 7개, 시나리오를 42개로 늘린 설계는 “더 많이 본다”는 장점과 동시에, 통계적으로 훨씬 조심해야 하는 이유를 함께 늘린다.
순위 집계의 임의성 — 토이 예제로 확인하기
HELM은 종합 순위를 만들지 않는 쪽을 택했지만, 실무에서는 “그래서 결국 어떤 모델이 제일 좋은데?”라는 질문에 답하고 싶은 유혹이 항상 있다. 여러 지표를 하나의 순위로 합치는 방법은 여러 가지가 있고, 그 방법을 무엇으로 고르느냐에 따라 1위가 바뀐다. 직접 숫자로 확인해보자.
모델 3개(A, B, C)를 지표 3개 — 정확도(Accuracy), 강건성(Robustness), 안전성(Safety, 높을수록 유해성이 낮음) — 로 평가했다고 하자. 점수는 다음과 같다(모두 0~100, 높을수록 좋음).
| 모델 | 정확도 | 강건성 | 안전성 |
|---|---|---|---|
| A | 87 | 40 | 90 |
| B | 80 | 95 | 60 |
| C | 70 | 70 | 75 |
방법 1 — 평균 순위(average rank). 지표마다 순위를 매기고(1등이 가장 좋음), 모델별로 그 순위의 평균을 낸다. 평균이 낮을수록(=순위가 높을수록) 좋다.
\[\text{avgrank}_i = \frac{1}{m}\sum_{j=1}^{m} r_{ij}\]- \(r_{ij}\): 모델 \(i\)가 지표 \(j\)에서 받은 순위.
- \(m\): 지표 개수(여기서는 3).
지표별 순위는 정확도 A(1)-B(2)-C(3), 강건성 B(1)-C(2)-A(3), 안전성 A(1)-C(2)-B(3)이다. 대입하면,
\[\text{avgrank}_A = \frac{1+3+1}{3} \approx 1.67, \quad \text{avgrank}_B = \frac{2+1+3}{3} = 2.00, \quad \text{avgrank}_C = \frac{3+2+2}{3} \approx 2.33\]평균 순위가 가장 낮은(=가장 좋은) A가 1위다.
방법 2 — Borda count. 투표 이론에서 쓰는 방법으로, 순위 대신 점수를 준다. 후보가 \(n\)개일 때 1등에게 \(n-1\)점, 2등에게 \(n-2\)점, …, 꼴등에게 0점을 주고 지표마다 합산한다.
\[\text{borda}_i = \sum_{j=1}^{m} (n - r_{ij})\]\(n=3\)이므로 순위 1등은 2점, 2등은 1점, 3등은 0점을 받는다.
\[\text{borda}_A = 2+0+2 = 4, \quad \text{borda}_B = 1+2+0 = 3, \quad \text{borda}_C = 0+1+1 = 2\]Borda count로도 A가 1위(4점)다. 사실 이건 우연이 아니다. Borda 점수는 \(\text{borda}_i = m(n-1) - \sum_j r_{ij}\)로 다시 쓸 수 있어서, 순위의 합(따라서 평균 순위)에 대한 단조 감소 함수일 뿐이다. 즉 완전한(동점 없는) 순위 데이터에서는 평균 순위와 Borda count가 항상 같은 승자를 고른다 — 둘 다 “순서” 정보만 쓰고 “크기(margin)” 정보는 버리기 때문이다. 이건 계산해보지 않으면 잘 안 드러나는, 그러나 확인해두면 유용한 사실이다.
방법 3 — 가중합(weighted sum). 원점수 자체를 가중치로 합친다. 순위가 아니라 크기 정보를 쓴다는 점이 앞의 두 방법과 다르다.
\[\text{score}_i = \sum_{j=1}^{m} w_j\, s_{ij}, \qquad \sum_{j=1}^{m} w_j = 1\]- \(s_{ij}\): 모델 \(i\)의 지표 \(j\) 원점수.
- \(w_j\): 지표 \(j\)에 부여한 가중치.
균등 가중치(\(w_j = 1/3\) 각각, 즉 단순 평균)를 쓰면,
\[\text{score}_A = \frac{87+40+90}{3} \approx 72.3, \quad \text{score}_B = \frac{80+95+60}{3} \approx 78.3, \quad \text{score}_C = \frac{70+70+75}{3} \approx 71.7\]균등 가중합에서는 B가 1위(78.3점)다. 방법 1·2와 승자가 바뀌었다. 이유는 명확하다 — B는 강건성에서 압도적으로 앞서고(95점, 2위와 25점 차) 안전성에서만 크게 뒤처지는데(60점), 순위 기반 방법은 “몇 등을 했는가”만 보고 “얼마나 크게 이기고 졌는가”는 무시한다. 가중합은 이 크기 정보를 반영해서, 큰 격차로 이긴 지표가 있으면 그걸 밀어준다.
여기서 한 걸음 더 들어가 보자. 가중치 자체도 선택이다. 예를 들어 “정확도보다 안전성·강건성을 우선한다”는 가치 판단으로 가중치를 \(w = (0,\ 0.35,\ 0.65)\)(정확도 0%, 강건성 35%, 안전성 65%)로 바꾸면,
\[\text{score}_A = 0(87) + 0.35(40) + 0.65(90) = 0 + 14 + 58.5 = 72.5\] \[\text{score}_B = 0(80) + 0.35(95) + 0.65(60) = 0 + 33.25 + 39 = 72.25\] \[\text{score}_C = 0(70) + 0.35(70) + 0.65(75) = 0 + 24.5 + 48.75 = 73.25\]이번엔 C가 1위(73.25점)다. 정리하면 같은 표에서 방법을 무엇으로 고르느냐(그리고 같은 가중합 안에서도 가중치를 무엇으로 고르느냐)에 따라 A, B, C가 각각 한 번씩 1위를 차지했다.
| 집계 방식 | 1위 | 근거 |
|---|---|---|
| 평균 순위 | A (1.67) | 순위 정보만 사용, 세 지표에서 고르게 좋은 순위 |
| Borda count | A (4점) | 평균 순위와 수학적으로 동치 |
| 가중합 (균등, 1/3씩) | B (78.3점) | 강건성에서의 압도적 마진이 안전성 열세를 상쇄 |
| 가중합 (정확도 0, 강건성 35%, 안전성 65%) | C (73.25점) | 안전성 비중을 높이자 균형 잡힌 C가 근소하게 역전 |
어느 방법도 “틀린” 방법이 아니다. 순위 기반 방법은 “몇 개 지표에서 이겼는가”를 재고, 가중합은 “얼마나 크게 이겼는가”를 재며, 가중치 선택은 “어떤 지표가 더 중요한가”에 대한 가치 판단을 숫자로 바꾼 것이다. 문제는 이 선택이 리더보드의 최종 “1위” 한 줄 뒤에 숨어서 안 보인다는 점이다. HELM이 애초에 종합 순위를 만들지 않고 행렬을 그대로 공개하는 쪽을 택한 이유가 바로 이것이다 — 종합 순위를 낸다는 것은 이 가중치 선택을 누군가(대개는 벤치마크 제작자)가 대신 해버리고, 그 선택을 사용자에게 숨기는 일이기 때문이다.
이는 #12에서 볼 Arena-Hard의 separability(신뢰구간이 겹치면 순위를 매기지 않는다)와 정확히 같은 정신이다. 차이가 신뢰구간 안에 있으면 “순위”라는 말 자체를 아끼고, 지표가 여러 개면 “1위”라는 말 대신 행렬을 그대로 보여준다 — 둘 다 불확실하거나 다차원적인 정보를 억지로 하나의 확정적 문장으로 압축하지 않는다는 같은 원칙이다.
다지표 벤치마크를 볼 때 던질 세 가지 질문
지금까지의 계산을 실무 체크리스트로 압축하면 이렇다. 어떤 벤치마크가 “우리는 7개 지표, 40개 시나리오를 본다”고 자랑할 때, 그 화려함에 압도되기 전에 다음을 물어야 한다.
- 개별 칸의 유의성을 그대로 믿어도 되는가? 검정을 수십~수백 번 하고도 다중비교 보정을 언급하지 않는다면, “유의한 차이”라는 문구 상당수는 우연일 수 있다.
- 종합 순위가 있다면, 그 가중치는 누가 어떻게 정했는가? 가중치가 명시돼 있지 않은 종합 점수는 “객관적인 숫자”가 아니라 “누군가의 가치 판단이 숨은 숫자”다.
- 행렬의 각 칸(지표)이 무엇을 재는지 조작적 정의가 있는가? 지표 이름이 많다고 구성타당도가 저절로 확보되지는 않는다. 정의가 없다면 #4의 문제가 이름만 바꿔 그대로 남아 있는 것이다.
통계 요약
| 개념 | 정의 | 핵심 수식 | 함정 | 링크 |
|---|---|---|---|---|
| 다중비교 문제(multiple comparisons) | 검정을 여러 번 하면 우연한 위양성이 누적된다 | \(\text{FWER} = 1-(1-\alpha)^m\) | 보정 안 하면 위양성 폭증(\(m=98\)이면 FWER≈99.3%), 보정하면 검정력 붕괴(Bonferroni 기준 \(\alpha/98\approx0.00051\)) | #21 |
| 평균 순위(average rank) | 지표별 순위의 평균 | \(\text{avgrank}_i=\frac{1}{m}\sum_j r_{ij}\) | 크기(margin) 정보를 버린다 — 큰 차이로 이기든 근소하게 이기든 “1등”은 똑같이 취급 | 본 글 |
| Borda count | 순위를 점수로 환산해 합산 | \(\text{borda}_i=\sum_j(n-r_{ij})\) | 동점 없는 완전 순위에서는 평균 순위와 수학적으로 동치 — 별개 방법처럼 보이지만 같은 정보를 쓴다 | 본 글 |
| 가중합(weighted sum) | 원점수를 가중치로 합산 | \(\text{score}_i=\sum_j w_j s_{ij}\) | 가중치 \(w_j\) 선택이 곧 가치 판단이며, 이를 명시하지 않으면 “객관적 종합점수”처럼 보이는 착시가 생긴다 | 본 글 |
| 커버리지(coverage) | 정의한 (모델, 시나리오) 또는 (시나리오, 지표) 조합 중 실제로 채워진 비율 | 관측된 조합 수 / 전체 정의된 조합 수 | 커버리지가 높아도 그 조합 각각이 구성타당도를 갖췄는지는 별개 질문 | 본 글, #4 |
Conclusion
3부 다섯 편을 한 문장씩으로 되짚으면 이렇다. 벤치는 어려워질수록 다음 벤치로 도망쳤고(#10), 검증 가능한 도메인으로 도망쳤고(#11), 참조 답이 없으면 모델 간 비교로 갔고(#12), 능력을 여러 축으로 쪼갰고(#13), 언어와 문화로 갈라졌다(#14). 다섯 편의 표면은 다 다르지만 공통점은 하나였다 — 단일 숫자로는 안 된다.
HELM은 이 공통 결론을 처음으로 인프라 수준에서 구현했다. 16개 핵심 시나리오와 7개 지표 범주로 이뤄진 행렬을 30개 모델 전부에 적용해, 이전에 평균 17.9%였던 커버리지를 96.0%까지 끌어올렸다. “종합 1위”를 발표하는 대신 시나리오별·지표별 점수를 그대로 공개해서, 어떤 모델이 정확도에서 앞서고 어떤 모델이 강건성이나 효율성에서 앞서는지를 사용자가 직접 보게 만들었다.
다만 이 글이 반드시 남겨야 할 균형 잡힌 결론이 있다. 행렬을 보여주는 것과 그 행렬이 옳은 축들로 이뤄졌는지는 다른 문제다. HELM의 7개 지표는 하나의 선택이지, 유일하게 옳은 분할이 아니다. fairness를 방언 섭동에 대한 정확도로 조작화한 것도 하나의 선택이다. 지표를 7개로 늘리는 일 자체는 #4가 지적한 구성타당도 문제 — 재려는 것을 제대로 정의했는가 — 를 자동으로 해결해주지 않는다. 그리고 지표를 늘리면 늘릴수록, 이 글에서 직접 계산한 것처럼 다중비교 문제와 순위 집계의 임의성이라는 새로운 통계적 부담이 따라온다. HELM의 진짜 메시지는 “행렬이 정답이다”가 아니라 “단일 점수로 뭉개지 말고, 다차원 정보를 다차원인 채로 보여주고, 그 대가(통계적 부담·계산 비용)를 감수하라”는 것에 가깝다.
4부로 넘어가는 다리는 이 행렬의 칸들이 실제로 무엇으로 채워지는가에 있다. HELM의 지표 중 accuracy 일부는 자동 채점이 가능하지만, 상당수 — 특히 개방형 생성의 품질, bias·toxicity의 미묘한 판단, HELM Instruct가 다루는 지시따르기 품질 — 는 결국 사람이나 judge 모델의 판정으로 채워진다. 그 판정 자체가 얼마나 신뢰할 만한지, 두 평가자가 얼마나 일치하는지를 재는 문제가 4부(#16~#18)다. 행렬의 칸을 늘리는 것으로 3부가 끝났다면, 그 칸에 적힌 숫자를 믿어도 되는지 검증하는 것이 다음 순서다.
참고 문헌
- Liang et al. (Stanford CRFM), 2022/2023. Holistic Evaluation of Language Models (arXiv:2211.09110, TMLR 2023).
- Stanford CRFM. HELM 프로젝트 홈페이지.
- Stanford CRFM, 2023. HELM Lite: Lightweight and Broad Capabilities Evaluation.
- Stanford CRFM, 2024. HELM Instruct: A Multidimensional Instruction Following Evaluation Framework with Absolute Ratings.
- Stanford CRFM, 2024. HELM Safety: Towards Standardized Safety Evaluations of Language Models.
- Bean et al. (University of Oxford), 2025. Measuring what Matters: Construct Validity in Large Language Model Benchmarks (NeurIPS 2025 Datasets and Benchmarks Track) — #4 참고.
- GitHub: stanford-crfm/helm — HELM 오픈소스 구현체.
LLM 평가 체계 시리즈
이 글은 LLM 평가 체계 시리즈의 열다섯 번째 글이다.
1부. 평가란 무엇인가
- 측정으로서의 평가 — 구성개념·조작화·타당도·신뢰도
- 범용 벤치마크라는 주장 — Raji et al. — 모든 것을 잰다는 말
- 벤치마킹을 고치려면 — Bowman & Dahl의 네 기준
- 벤치마크는 무엇을 재고 있나 — 벤치 445편 구성타당도 리뷰
- 표층 특징이 정답을 예측한다 — Clever Hans, 데이터셋 인공물
2부. 무엇을 숫자로 만드나 — 평가 metric
- 척도와 허용 연산 — Likert 평균을 내도 되는가
- 분류 지표 — accuracy의 함정부터 PR-AUC까지
- 생성 지표와 그 타당도 — BLEU에서 COMET까지
- 객관식 평가는 왜 흔들리나 — 위치 편향과 포맷 민감도
3부. LLM 벤치마크 지형도
- 지식과 추론 — MMLU 계열의 흥망 — MMLU·GPQA·BBH
- 검증 가능한 도메인 — 수학과 코드 — GSM8K·MATH·HumanEval·SWE-bench
- 개방형 대화 — MT-Bench에서 Arena까지 — judge 기반 벤치의 등장
- 능력의 다른 축 — 지시따르기·긴 문맥·사실성
- 한국어 벤치마크 — 번역이 아니라 원산, 그리고 문화 타당도
- (현재 글) 점수 하나가 아니라 행렬로 — HELM — 시나리오 × 지표
4부. 사람이 읽는다 — 정성평가와 일치도
- 사람 평가 설계 — 루브릭·Likert·pairwise·BWS
- 우연을 빼다 — κ 계열 — Cohen·Fleiss·weighted·Krippendorff
- κ의 역설 — 일치율 90%인데 κ가 0.21
5부. 차이는 진짜인가 — 정량평가의 통계
- 점수는 추정치다 — 이항비율 신뢰구간과 Wald의 실패
- 차이는 유의한가 — paired bootstrap·순열검정·McNemar
- 몇 개를 재야 하나 — 검정력·표본크기·다중비교
- LLM eval의 통계 실무 — 클러스터 SE·IQM·분산 분해
6부. 신뢰할 수 있는 평가 체계
- judge를 통계로 다루기 — 편향·Bradley-Terry·PPI
- 오염·재현성·효율 — 오염 검정·harness·IRT
- 안전 평가의 통계와 체계 설계 — 희귀사건·calibration·체크리스트
본 시리즈는 25편으로 구성된다.
Enjoy Reading This Article?
Here are some more articles you might like to read next: