지난 글에서 "리더보드를 믿지 말고 당신의 eval을 만들라"고 했다. 좋다, 만들었다 치자. 당신 제품이 실제로 던지는 요청 50개를 골라 정답과 함께 고정했다. 그런데 모델을 바꿀 때마다 답 50개를 사람이 눈으로 다 채점할 수 있나. 프롬프트를 조금 고칠 때마다는? 회귀 테스트를 매일 돌리려면? 못 한다. 그래서 대부분 채점을 다시 LLM에게 맡긴다. LLM-as-judge. 답 두 개를 주고 "어느 쪽이 더 나은가"를 모델에게 물어 점수를 매긴다. 함정은 여기서 시작된다. 심판으로 세운 모델이 선수와 똑같은 버릇을 갖고 있다.
심판은 중립이 아니다
LLM 심판에는 사람 채점자에겐 없는 계통적 편향이 있다. 연구로 반복 확인된 세 가지가 대표적이다.
- 위치 편향. 두 답을 A, B 순서로 보여주면 심판은 앞에 놓인 답을 선호한다. 순서만 뒤집어도 승자가 바뀐다. 어떤 측정에선 첫 번째 응답 선호가 70%대까지 올라갔다. 내용이 아니라 자리가 점수를 정한다.
- 장황함 편향. 길고 자신만만한 답에 높은 점수를 준다. 요점이 같아도 문단이 많고 설명이 두툼하면 이긴다. 짧고 정확한 답이 장황하고 애매한 답에 진다.
- 자기선호 편향. 자기 자신, 또는 같은 계열 모델의 출력을 남의 것보다 후하게 매긴다. 사람이 보면 동급인데 심판은 자기 걸 위로 올린다. 데이터셋에 따라 편차가 크지만, 자기 출력에 10~25%가량 더 높은 점수를 주는 경향이 여러 연구에서 잡혔다.
세 편향의 공통점은 하나다. '좋은 답’이 아니라 '심판이 좋아하게 생긴 답’에 점수가 붙는다. 그리고 선수 모델도 정확히 그런 답을 잘 쓴다. 심판과 선수가 같은 취향을 공유하는 순간, 점수는 품질이 아니라 취향의 메아리가 된다.
왜 자기 걸 좋아하나
자기선호는 단순한 편애가 아니다. 2024년 NeurIPS에 실린 연구는 모델이 "이건 내가 쓸 법한 문장"이라고 알아보는 자기인식(self-recognition) 능력이 자기선호와 강하게 맞물린다는 걸 보였다. 메커니즘은 perplexity로 설명된다. 모델은 자기에게 익숙한, 즉 예측하기 쉬운(낮은 perplexity) 문장에 더 높은 점수를 준다. 낯선 문체는 내용이 옳아도 낮게 본다.
뒤집으면 이렇다. 심판은 정답을 찾는 게 아니라 자기와 닮은 답을 찾는다. 더 나쁜 건, 크고 강한 모델일수록 이 경향이 더 세다는 점이다. 가장 똑똑한 심판이 가장 편향된 심판일 수 있다. 채점 모델과 피채점 모델을 같은 계열로 두면, 당신은 선수에게 자기 경기를 심판 보라고 맡긴 것과 같다.
eval이 없는 것보다 나쁠 수 있다
여기서 반문이 나온다. “그래도 감으로 배포하는 것보단 낫지 않나?” 꼭 그렇지 않다.
감으로 배포하면 최소한 못 믿는다는 걸 안다. 반면 편향된 심판은 매번 일관되게 틀린다. 눈금이 휘어 있는 자다. 자가 휘어 있으면 재는 사람은 자기가 틀리는 줄 모른다. 숫자는 안정적으로 나오고, 그래프는 매끄럽게 올라간다. 팀은 "eval이 통과했다"며 배포한다. 그런데 그 심판은 짧고 정확해진 답을 회귀로 찍어 떨어뜨리고, 길고 그럴싸해진 답을 개선으로 통과시킨다. 점수가 오르는 동안 실제 유저 경험은 반대로 간다. 근거 있어 보이는 오판이 무근거보다 비싸다. 틀린 걸 모른 채 자신 있게 밀기 때문이다.
심판을 감사하라
그렇다고 LLM 심판을 버릴 필요는 없다. 사람이 답 수백 개를 매번 채점할 수는 없고, 잘 세운 심판은 사람 판정과 상당히 일치한다. GPT-4급 심판이 사람과 80%대 일치율을 보였다는 보고도 있다 — 사람끼리의 일치율과 맞먹는 수준이다. 다만 그 숫자는 그 태스크, 그 세팅에서 나온 것이다. 심판을 중립 재판관이 아니라 선수와 상관관계가 있는 계측기로 다루면, 계측기는 이렇게 쓴다.
- 골드셋으로 심판을 먼저 채점하라. 사람이 라벨한 정답 수십~수백 건을 고정하고, 심판의 판정이 그 골드셋과 몇 % 일치하는지부터 잰다. 심판의 일치율을 모르면 그 아래 모든 점수는 근거가 없다. 남이 80%였다는 건 남의 숫자다.
- 위치를 무작위화하고 양방향으로 재라. A/B와 B/A 두 순서로 각각 채점해 평균 낸다. 순서만 바꿔 결과가 뒤집히는 항목은 심판이 못 가르는 항목이니 사람에게 넘긴다.
- 길이를 통제하라. 길이에 페널티를 주거나, 비슷한 길이끼리 비교하도록 강제한다. 장황함이 점수로 새는 걸 막는다.
- 심판은 다른 계열로. 채점 모델을 피채점 모델과 다른 랩·다른 계열로 둔다. 자기 답을 자기가 채점하게 두지 마라.
- 선호가 아니라 루브릭으로. "어느 쪽이 더 나은가"는 편향이 끼기 쉽다. “사실 오류가 있는가/없는가”, "요청한 형식을 지켰는가"처럼 통과·실패로 쪼갠 루브릭은 취향이 덜 낀다.
- 주기적으로 사람이 표본 재검. 심판과 사람의 일치율이 흔들리기 시작하면 심판을 다시 보정한다. 계측기는 한 번 맞추고 끝이 아니라 정기적으로 영점을 맞춘다.
점수를 믿기 전에 심판을 의심하라
당신의 eval이 얼마나 믿을 만한지는 심판을 얼마나 의심했느냐로 정해진다. 벤치마크를 버리고 자기 eval을 만든 건 옳은 결정이었다. 하지만 그 eval의 채점을 편향된 심판에게 통째로 맡겨두면, 당신은 리더보드를 자기 손으로 다시 만든 셈이다. 이번엔 남이 아니라 당신이 속는다는 것만 다르다. LLM-as-judge는 못 쓸 도구가 아니라 보정 없이 믿으면 안 되는 도구다. 자를 대기 전에, 그 자가 휘었는지부터 재라.