LLM-as-a-judge가 제대로 평가하고 있는지 어떻게 확신할 수 있을까?
How do you actually know your LLM-as-a-judge is right?
핵심 요약
LLM을 평가자로 사용할 때 발생하는 편향 문제를 지적하고, 이를 해결하기 위한 검증 및 신뢰도 확보 방안을 공유합니다.
- 평가 편향 — 길이, 자기 모델 선호, 위치, 자신감 등 LLM 평가자가 빠지기 쉬운 오류를 설명함
- 평가 신뢰도 확보 — 추론 과정 출력, 근거 인용, 인간 평가와의 비교, 위치 변경 테스트를 제안함
- 평가자 검증 — 모델이 평가하는 논리를 인간이 직접 확인하여 블랙박스 문제를 방지함
LLM 판정관이 이미 점수를 매긴 답변을 하나 가져와서, 내용이랑 아무 상관 없는 문장 두세 개만 덧붙여 봐. 그러고 나서 다시 점수를 매기면? 십중팔구 점수가 올라감. 정보량은 똑같은데 글자 수만 늘어났는데 점수는 더 잘 받는 거지.
이게 바로 '장황함 편향(verbosity bias)'인데, LLM이 판정관 노릇 할 때 겉으로는 그럴싸해 보여도 실제로는 헛다리 짚는 대표적인 사례 중 하나임.
- 길이 편향(Length bias): 짧고 정확한 답변보다 길고 장황하게 떠드는 답변에 점수를 더 후하게 줌.
- 자기 모델 선호(Self-preference): 판정관 모델이랑 같은 계열 모델이 쓴 답변을 더 높게 쳐줌. GPT가 판정관이면 GPT 답변에 점수를 더 주는 식임.
- 위치 편향(Position bias): 1:1 비교 평가할 때, 순서상 먼저 나온 답변이 무조건 유리함. 그냥 순서 때문에 이기는 경우가 태반임.
- 정확성보다 자신감(Confidence over correctness): 애매하게 맞는 말보다 틀린 말이라도 자신감 넘치게 떠들면 점수가 더 높음. 판정관이 말투를 정확도의 척도로 착각하기 때문임.
더 골 때리는 건, 판정관 모델이랑 평가받는 모델이 이런 맹점을 똑같이 공유한다는 거임. 그래서 점수표만 보면 깔끔해 보여도, 정작 측정하려던 핵심은 완전히 빗나갔을 가능성이 큼.
우리가 점수를 믿을 수 있게 만든 방법은 다음과 같음:
- 점수 매기기 전에 이유부터 쓰게 하고, 그 이유를 직접 읽어볼 것. 그냥 1~5점만 띡 던져주면 알 수가 없음. 판정관이 이유를 먼저 쓰게 하면, 훑어보기만 해도 이상한 점수는 바로 티가 남. 사실을 보고 평가했는지, 아니면 그냥 글빨에 속았는지 바로 각 나오거든.
- 모든 점수에 인용 근거를 달 것. 판정관한테 답변의 근거가 되는 원문 내용을 정확히 짚으라고 강제하셈. 근거를 못 대면 그건 뇌피셜인 거고, 이 규칙 하나만 지켜도 자신감만 넘치는 헛소리들은 대부분 걸러짐.
- 믿기 전에 사람 평가랑 비교부터 할 것. 50~100개 정도는 사람이 직접 라벨링 해보고, 판정관한테도 똑같이 돌려서 코헨의 카파(Cohen's kappa)나 단순 상관관계로 일치도를 확인하셈. 사람이랑 의견이 안 맞는데 어떻게 판정관을 믿음?
- 순서 바꿔서 다시 돌려볼 것. 순서 바꿨는데 점수가 뒤집힌다? 그럼 그건 위치 편향 때문인 거고, 애초에 품질 평가가 제대로 안 된 거임.
결국 대규모 평가를 돌리는 사람들한테 진짜 중요한 질문은 이거임. "어느 정도 수준의 일치도가 나와야 판정관을 믿을 수 있는가?", 그리고 "프롬프트나 모델이 바뀔 때 판정관이 맛탱이 가지 않게 하려면 어떻게 해야 하는가?" 다들 실제로 어떻게 하고 있는지 궁금하네.


