포스트

RAG 연습 (7) — 평가 점수가 올라갔는데 좋아진 게 없을 때 쓰는 용어들

RAG 연습 (7) — 평가 점수가 올라갔는데 좋아진 게 없을 때 쓰는 용어들

RAG 연습 (6)에서 “키워드를 바꿨더니 점수가 올랐는데 그건 오버피팅이었다”고 적었습니다. 거기서 한 줄 곁들였던 criterion contamination(평가 기준 오염)이 사실 핵심 용어였는데, 한 단락으로는 다 못 풀어 따로 정리합니다.

평가 설계를 혼자 하다 보면 비슷한 함정을 여러 모양으로 만납니다. 이름이 없으면 같은 실수를 다른 형태로 반복하기 쉽습니다. 이 글은 RAG 평가에서 자주 뭉뚱그려 쓰는 용어 다섯 개를 분리합니다.

Criterion Contamination — 평가 기준 오염

피측정 대상(모델 출력)이 측정 기준(ground truth, 키워드)에 영향을 주는 현상입니다. 심리측정학에서 나온 용어인데, 성과 평가에서 관리자가 직원의 최종 결과를 먼저 알고 나서 평가 기준을 소급 적용하는 상황을 부르던 말입니다.

RAG 평가에 옮기면 이렇습니다.

1
2
Before: 키워드 = ["총액", "순액", "주된 책임"]   ← 도메인 지식으로 설계
After:  키워드 = ["통제권", "책임"]              ← 모델이 쓴 단어로 교체

키워드를 바꾼 뒤 점수가 올랐다면 그 점수는 “시스템이 좋아졌다”는 증거가 아닙니다. 기준이 낮아진 것입니다.

오버피팅과 헷갈리기 쉬운데 방향이 반대입니다.

1
2
3
4
5
[일반 오버피팅]
훈련 데이터 ──→ 모델            (모델이 끌려감)

[Criterion Contamination]
모델 출력  ──→ 평가 기준         (기준이 끌려감)

결과는 같습니다. 점수는 오르는데 실제 성능은 그대로거나 나빠집니다.

Benchmark Gaming — 벤치마크 게이밍

벤치마크 점수를 올리는 것 자체가 목적이 되고, 실제 능력 향상은 뒤따르지 않는 경우입니다. 공개 리더보드가 있을 때 자주 보입니다. 모델이 벤치마크 테스트 셋에 특화되어 학습되면 그 벤치마크에선 높은 점수를 받지만 실제 운영 환경에선 기대만큼 작동하지 않습니다.

사내 RAG에 적용하면 이런 모양입니다.

1
2
3
골든셋 20문항을 외운 것처럼 최적화된 시스템
→ 골든셋 점수: 92%
→ 운영 환경 실제 질문: 67%

발생 위치가 criterion contamination과 다릅니다. 벤치마크 게이밍은 시스템 쪽에서, criterion contamination은 평가 기준 쪽에서 일어납니다. 결과(점수가 의미를 잃음)는 같지만 손볼 곳이 다릅니다.

Goodhart’s Law

“측정 지표가 목표가 되는 순간, 좋은 지표가 아니다.” 경제학자 Charles Goodhart가 통화정책 맥락에서 제시한 법칙인데, ML 평가에 그대로 적용됩니다.

키워드 매칭 점수 80% 달성이 목표가 되면 이런 일들이 벌어집니다.

  • 키워드가 포함된 문서가 검색 상위로 올라오게 튜닝한다
  • 키워드를 직접 언급하도록 프롬프트를 조작한다
  • 키워드 기준 자체를 낮춘다 (= criterion contamination)

세 가지 모두 점수를 올립니다. 세 가지 모두 실제 답변 품질과는 관련이 없습니다. Goodhart’s Law는 위 두 용어(criterion contamination, benchmark gaming)를 포괄하는 상위 원리입니다. “왜 이런 일이 반복적으로 발생하는가”를 설명합니다.

Evaluation Leakage — 평가 누출

평가 데이터의 정보가 학습이나 시스템 설계에 역류하는 경우입니다. 전통 ML에선 테스트 셋이 훈련 데이터에 섞이는 상황을 가리켰습니다. RAG에선 의미가 좀 더 넓어집니다.

  • 골든셋 질문과 비슷한 문서를 의도적으로 코퍼스에 추가
  • 골든셋 질문에 최적화된 청크 크기·오버랩 선택
  • 골든셋을 보면서 프롬프트 설계

이 중 일부는 합법입니다(코퍼스 추가는 시스템 성능 루프). 일부는 경계가 모호합니다(프롬프트 설계). 골든셋이 유일한 테스트 셋일 때 특히 위험합니다 — 검증할 다른 셋이 없으니 누출이 일어났는지 알 길이 없습니다.

Specification Gaming

의도한 목표는 달성하지 못한 채 명시된 규격(specification)만 충족하는 행동입니다. AI 안전 연구에서 자주 인용되는 개념입니다.

RAG에선 이런 모양으로 나타납니다.

  • “출처를 표시하라”는 지시에 [출처: 참고 문서 확인 불가]를 기계적으로 붙이는 LLM
  • “키워드를 포함하라”는 암묵적 압력에 반응해 키워드를 나열하지만 논리적으로 연결하지 않는 LLM

앞선 네 용어는 평가 설계의 문제입니다. specification gaming은 모델의 행동입니다. 그래서 발견 지점이 다릅니다 — 답변을 한 번이라도 사람이 읽으면 잡힙니다.

한눈에

용어발생 위치증상원인
Criterion contamination평가 기준기준이 모델 출력을 따라감평가자가 출력을 보고 기준 수정
Benchmark gaming시스템/모델점수 ↑, 실제 성능 제자리벤치마크 특화 최적화
Goodhart’s Law목표 설정지표가 목표가 됨지표와 실제 목표 분리 실패
Evaluation leakage데이터 파이프라인테스트 셋 정보가 학습에 유입데이터 격리 실패
Specification gaming모델 행동규격 충족, 목적 미달보상 신호 설계 결함

공통점이 하나 있습니다. 모두 점수가 올라가는데 실제 성능은 그대로거나 나빠진다는 점입니다. 그래서 발견이 늦습니다.

평가 점수를 수정하기 전에 스스로 물을 다섯 가지

  1. 기준을 바꾸는가, 시스템을 바꾸는가? — 기준을 바꾸면 criterion contamination 위험.
  2. 바꾸는 근거가 도메인 지식인가, 모델 출력인가? — 모델 출력이면 오염.
  3. 골든셋이 유일한 테스트 셋인가? — 그렇다면 evaluation leakage에 취약.
  4. 점수가 오르는데 답변이 더 나빠 보이는가? — benchmark gaming 또는 criterion contamination.
  5. 지표 자체가 실제 목표인가? — Goodhart’s Law 경보.

점수가 올라갔다고 시스템이 좋아진 게 아니다. 기준이 낮아진 것일 수도 있다.

(클로드 코드의 도움을 받았습니다.)

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.