평가 세트(eval set)는 어떻게 구축되며, 왜 시간이 지나면 가치가 떨어지는가
요약
평가 세트(eval set)의 구축 과정과 그 가치 하락 원인을 분석합니다. 단순히 다운로드된 파일로 취급할 경우, 데이터셋이 어떤 결정 과정을 거쳤는지 알 수 없어 문제가 발생하며, 출처별 편향을 이해하는 것이 중요합니다.
핵심 포인트
- 평가 세트는 단순한 파일이 아닌, 목적과 규칙, 보정 기록이 필요한 '도구'입니다.
- 공개 벤치마크는 오염(Contamination) 및 과제 선택의 편향을 가질 수 있습니다.
- 합성 데이터는 정답 부분을 삭제하여 모델이 스스로 생성기를 측정하는지 검증할 필요가 있습니다.
- 운영 샘플링은 시스템 변화에 따른 레이블 변화(Label shift)를 감지해야 합니다.
평가 세트는 하나의 도구입니다. 목적과 채점 규칙, 보정 기록, 그리고 만료일이 있습니다. 이를 단순히 다운로드하는 파일로 취급할 때 문제가 발생하기 시작합니다. 이미 그 파일은 결정들을 내렸지만, 그것들을 문서화하지 않았기 때문입니다.
다음 내용은 제가 6개월 후에 방어해야 할 세트라면 원했을 구축 문서입니다. 각 규칙은 공개 출처를 추적하거나 저의 관행으로 표시되어야 합니다.
샘플 출처
네 가지 출처가 있으며, 각각 다른 편향을 가져옵니다.
| 출처 | 얻는 것 | 유입되는 편향 | 문서화된 곳 |
|---|---|---|---|
| 재사용된 공개 벤치마크 | 발표된 수치와의 비교 가능성 | 오염(Contamination); 다른 사람이 선택한 과제 선택 | Sainz et al., 2023-10-27 |
| ... |
행정 데이터(Administrative data). CFPB 불만 데이터베이스는 제가 아는 최고의 예시입니다. 이 데이터베이스의 검색 API는 2026-10-09일 기준으로 CC0 라이선스 하에 18,274,023개의 기록을 보고했으며, last_updated 날짜는 2026-10-08입니다 (CFPB 불만 검색 API, 2026-10-09 읽음). 불만 사항은 회사 측이 응답하거나 혹은 15일 중 먼저 도래하는 시점에만 게시되며, 자산 규모가 100억 달러 미만인 예금 기관을 포함한 다른 규제 기관으로 의뢰된 불만 사항은 게시되지 않습니다 (CFPB API 문서, 2026-10-09 읽음). 해당 기관은 이 데이터베이스가 "시장 내 소비자 경험의 통계적 표본이 아니다"라고 명시하고 있습니다 (CFPB 데이터베이스 페이지, 2026-10-09 읽음). 무작위 추출은 피해를 입은 사람 전체가 아니라 불만을 제기했고 그 불만이 게시까지 살아남은 사람들만 표본으로 삼습니다.
합성 데이터(Synthetic). Gururangan 등은 전제(premise)를 삭제하고 가설(hypothesis)만 읽는 텍스트 분류기가 SNLI에서 약 67%, MultiNLI에서 53%의 성능을 달성했음을 보여주었습니다 (NLI 데이터의 주석 아티팩트, ACL 2018). 이 레이블은 크라우드 워커들이 템플릿을 따랐기 때문에 구문(phrasing)으로부터 복구될 수 있었습니다. 모든 생성 모델에는 이것이 있습니다. 저의 테스트는 다음과 같습니다: 입력에서 정답을 담고 있는 부분을 삭제하고 점수를 다시 매긴 다음, 다수 클래스 비율과 비교하는 것입니다. 만약 정확도가 이보다 훨씬 높게 유지된다면, 해당 데이터셋은 부분적으로 자신만의 생성기를 측정하고 있다는 의미입니다. (저의 방법론)
운영 샘플링(Production sampling). 저는 이 출처를 가장 신뢰하지 않지만 가장 많이 사용합니다. 이는 시스템이 보는 것과 일치하는 항목을 생성하며, 제품 자체가 바뀔 때 그 구성도 변합니다. 레이블 변화(Label shift)는 이러한 실패의 명명된 버전입니다: 주변 확률 $p(y)$가 움직이는 반면 $p(x|y)$는 움직이지 않아, 테스트 레이블 없이 블랙 박스 변화 추정(Black Box Shift Estimation)을 사용하여 측정할 수 있습니다 (Lipton 등, ICML 2018).
무엇이 정답으로 간주되는가
매칭 규칙은 하나의 파라미터이며, 동일한 예측이라도 선택하는 방식에 따라 점수가 다르게 산정됩니다. 네 가지 관례가 있습니다:
| 관례 | 출처에서 작성된 규칙 | 출처 |
|---|---|---|
| 임의의 참조와 정확히 일치하는 경우 | 모든 정답 중 어느 하나와 예측이 정확하게 일치하면 점수를 산정하며, 구두점과 관사는 무시함 | SQuAD, arXiv v3 2016-10-11 |
| ... | ||
| 세 가지를 통해 배운 점. |
누구의 영역인지 명시해야 한다. SQuAD에서 인간이 제시한 숫자는 데이터에서 나옵니다: 두 번째 주석 작성자의 답변은 예측으로 간주되고, 나머지는 정답(ground truth)으로 간주되며, 인간들은 테스트 세트에서 77.0의 정확히 일치하는 점수와 86.8의 F1 점수를 기록했습니다 (SQuAD, arXiv v3 2016-10-11). 규칙 없이 언급된 최고점(ceiling)은 그 과제에 대한 것만큼이나 그 규칙에 대해 많은 것을 말해줍니다.
하나의 발표된 숫자는 열 가지 임계값을 숨길 수 있다. COCO의 헤드라인 탐지 점수는 열 개의 IoU 임계값, 세 개의 탐지 예산(detection budgets), 그리고 재현율 그리드(recall grid)에 걸쳐 평균을 냅니다. 명시된 임계값이 없는 단일 수치는 아무도 검증할 수 없는 주장입니다. 임계값을 선택하고, 발표하고, 버전별로 고정해야 합니다.
제외 여부 질문은 사람들이 건너뛰는 부분이다. SWE-bench Verified는 1,699개의 무작위 샘플 항목 중 93명의 Python 개발자가 주석을 달았으며, 이 중 '문제없음(non-problematic)'으로 검증된 500개 샘플로 구성되어 있습니다. 전체 주석 세트와 평가 기준표(rubric)가 함께 공개되었습니다 (OpenAI, updated 2025-02-24). 이 평가 기준표의 마지막 섹션에서는 샘플을 사용하지 않을 다른 이유가 있는지 여부를 0/1로 질문합니다. 제가 이를 다루는 방식(저의 관행):
- 어노테이션 시작 전에 결정된 제외 사유 코드의 폐쇄 목록.
- 항목을 제외하려면 두 명의 평가자가 동의해야 하며, 한 평가자의 '불분명'은 면제 사유가 아닙니다.
- 제외된 항목은 그 이유 코드를 가진 채 파일에 남아 있어 면제 여부를 감사할 수 있습니다.
- 면제율은 모든 결과 옆에 보고되며, 릴리스 간에 변동하는 경우 질문 내용이 바뀌지 않았더라도 세트가 변경되었음을 의미합니다.
풀링을 통해 구축된 정답(Ground truth)은 구성 방식에 의해 편향됩니다. 테스트 컬렉션은 문서의 일부 샘플만을 판단하여 구축됩니다. 풀(pool)이 컬렉션에 비해 작으면, 판단 세트는 '토픽 제목 단어를 포함하는 관련성 높은 문서를 선호할 수 있다'는 방식으로 편향될 수 있으며, 이는 관련 문서의 개수가 아닌 컬렉션 크기에 따라 달라지는 편향입니다 (Buckley et al., NIST, 2007-07-17). 최신 평가에서는 만약 레이블이 현재 시스템이 반환한 것만 확인하여 나온 것이라면, 레이블 세트는 그러한 시스템들이 표현하는 방식을 가진 항목들을 선호하게 됩니다. 저의 규칙은 다음과 같습니다: 후보 풀 외부에서 무작위 슬라이스를 추출하십시오. (저의 방식)
평가자 간 합의 여부(Whether the raters agree)
합의는 쌍과 설정에 속하는 속성입니다.
Krippendorff's alpha는 1 − Do/De이며, 모든 수의 코더와 누락된 항목을 허용합니다 (Krippendorff, 2011-01-25). 두 명의 평가자의 경우, Landis와 Koch의 1977년 기준(AHRQ 보고서에 재현됨, 2010)을 사용한 Cohen's kappa가 있습니다 (https://www.ncbi.nlm.nih.gov/books/NBK52665/table/ch3.t5).
다음은 설정이 수의 변화에 따라 이동해야 하는 이유입니다. MT-bench에서 첫 번째 시도 결과는 논문의 두 가지 설정에서 다음과 같습니다: S1은 동점 및 불일치 투표를 계산하고, S2는 동점을 제외합니다 (MT-Bench, v4 2023-12-24):
GPT-4 pairwise vs human expert | 66% (n = 1,343) | 85% (n = 859) | MT-Bench, v4 2023-12-24
| ... |
Headline에서 인용되는 내용은 인간의 동의율(human agreement)이 85% 대 81%라는 점이다 (MT-Bench, v4 2023-12-24). 동일한 표는 다른 타이 규칙을 적용했을 때도 같은 심사위원에게서 66%를 보여준다. 설정(setup) 없이 인용된 동의율 수치는 그 어떤 것과도 비교할 수 없다.
분층별로 합의도를 측정하고, 전체 평균으로 계산하지 마세요. ChaosNLI는 3,113개의 SNLI 및 MNLI 예제와 1,532개의 ANLI 예제에 대해 각 예제당 100개씩 총 464,500개의 주석을 수집했다 (Nie et al., 2020-10-08). 모델은 인간이 동의하는 영역에서는 거의 완벽하며, 그렇지 않은 영역에서는 '무작위 추측을 겨우 이길 정도'이다. 그리고 이러한 낮은 합의도 항목들이 대부분 오류를 포함한다.
크기 결정(Sizing). 합의도 연구를 위해서는 카파(kappa) 최소 표본 크기 테이블(Bujang and Baharum, EBPH 14(2), 2017)부터 시작하세요. 두 시스템을 비교할 때는 검정력 분석(power analysis)을 사용하세요: Miller는 MDE 공식(Miller, 2024-11-01)을 제시하며, 질문당 답변 수를 1개에서 10개로 늘리는 것이 MDE를 13.2%에서 7.5%로 이동시킨다고 보여주었습니다. 그의 예시 표에서는 HumanEval의 가상의 83.6% 점수를 받은 164개 질문이 3.2%의 표준 오차(standard error)를 갖습니다 (Miller, 2024-11-01). 만약 항목들이 같은 문서나 템플릿과 같이 그룹으로 도착한다면, 군집 표준 오차(clustered standard errors)를 계산하세요 (Miller, 2024-11-01, Table 4); DROP의 경우 이는 각각 1.34와 0.44였습니다.
제 규칙: 필요한 합의도 구간(agreement interval)에 대한 보정 슬라이스 크기, 탐지하고자 하는 효과(effect)에 대한 점수화 슬라이스 크기를 결정하고, MDE보다 낮은 격차는 보고하는 것을 거부합니다. (저의 관행)
세트가 부패하는 이유 (Why the set rots)
| 데이터 감쇠 (Decay) | 증상 (Symptom) | 제가 취하는 조치 (What I do) |
|---|---|---|
| 오염 (Contamination) | 한 세트는 개선되지만 관련 없는 다른 세트들은 그렇지 않음 | 항목 날짜와 프롬프트 해시를 유지하고; 오래된 세트는 역사적 데이터로 취급함 |
| ... |
오염의 정도는 "측정하기 쉽지 않아 알려져 있지 않으며", 존재하더라도 성능을 과대평가합니다(Sainz et al., 2023-10-27). 저는 학습 코퍼스(training corpora)를 감사할 수 없으므로, 날짜는 유지하고 노출 기간(exposure window)을 인정합니다.
포화(Saturation)는 세트 자체의 실패가 아닙니다: GLUE의 성능은 비전문가 인간 수준에 도달했으며, 이것이 SuperGLUE(Wang et al., 2019-05-02)를 촉발한 요인이었습니다. 벤치마크 선택 자체는 취약합니다: 태스크(tasks)를 교체하는 것만으로도 방법론이 변하지 않았음에도 불구하고 순위가 재배열될 수 있습니다(Dehghani et al., 2021-07-14). 이 두 가지 모두 여러 개의 세트를 유지해야 하는 이유입니다.
분류 체계 표류(Taxonomy drift)는 공개적인 기록을 남깁니다. CFPB의 2026년 9월 릴리스 노트에는 "소비자 불만 서술형 데이터가... 데이터베이스에서 제거되었다"고 기록되어 있습니다. 2026년 6월 릴리스에서는 해당 필터들이 사라진 지 오래되었음에도 불구하고 'Consumer disputed'와 'Consumer consent provided'를 수출 항목에서 제거했습니다. 2023년 5월 릴리스에서는 우편번호(ZIP code) 필드를 2019년 인구 조사 추정치로 재기준화했습니다(CFPB release notes, read 2026-10-09). 이러한 서술형 데이터에 기반하여 구축된 세트는 한 달 전부터 유지보수가 불가능해졌습니다. 같은 페이지에는 일반적인 규칙이 설명되어 있습니다: 이 데이터베이스는 "소비자가 불만을 제출한 시점에 양식에서 사용 가능한 옵션과 일치하는 소비자의 원래 제품, 하위 제품, 문제 및 하위 문제 선택 사항"을 보여줍니다(CFPB database page, read 2026-10-09). 라벨은 제출 시점에 고정되지만, 분류 체계(taxonomy)는 계속 움직이고 있습니다.
유지보수성을 확보하는 방법
(제가 실제로 사용하는 방식이며, 일부 개념을 빌려와 이름을 붙인 것)
- 세트를 버전 관리하라(Version the set). 추가 및 제외 사항은 버전 번호를 올리고 변경 로그를 남겨야 하며, 항목을 조용히 수정해서는 안 된다.
- 두 가지 슬라이스(Two slices)를 사용하라. 비교 가능성을 위한 고정된 슬라이스와 최신성을 위한 롤링 윈도우를 사용한다. LiveCodeBench와 LiveBench는 같은 아이디어의 공개 버전이다.
- 메타데이터를 기록하라(Write the metadata down). 데이터시트(datasheet) (Gebru et al., 2018, CACM 2021)나 Croissant 레코드 (2024-03-28)를 작성하여, 다음 사람이 수집 과정을 추론할 필요가 없게 만든다.
- 검증 가능한 탈감각화 규칙(desensitisation rule)을 만들라. CFPB의 ZIP 규칙은 좋은 템플릿이다: 인구조사 지역이 20,000명 미만인 경우를 제외하고는 5자리 ZIP 코드를 게시하고, 더 넓은 지역에 20,000명 이상이 거주하는 경우에 한해 3자리만 사용하며, 그렇지 않으면 아무것도 사용하지 않는다 (CFPB 필드 참조, read 2026-10-09). 임계값으로 명시된 규칙은 재실행할 수 있지만, '개인 정보를 제거했다'는 것은 할 수 없다.
- 면제율(exemption rate)을 주시하라. 이는 평가 기준이 데이터에 맞지 않게 되었음을 나타내는 선행 지표이다.
- 사각지대(blind spot)를 한 문장으로 명시하라. SQuAD의 메트릭은 구두점과 관사를 무시하며, COCO의 헤드라인 평균은 10개의 임계값을 사용한다. 둘 다 제한 사항이 레이블에 있다는 전제 하에서는 괜찮다.
- 폐기 계획을 세워라(Plan the retirement). 세트가 포화되거나 분류 체계가 변경되면, 이를 고정하고 날짜를 지정한 후 동일한 시드 항목들로 다음 세트를 구축한다.
내가 확인할 수 없었던 것
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기