본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 29. 17:14

더 나은 LLM Judge? 루브릭(Rubric)이 내 소형 모델을 더 나쁘게 만들었다

요약

LLM Judge 성능 향상을 위해 모델 크기와 루브릭(Rubric) 설계의 상관관계를 분석합니다. 상세한 루브릭은 거대 모델의 평가 정확도를 높이지만, 소형 모델에게는 오히려 혼란을 주어 성능을 저하시킬 수 있음을 실험으로 증명합니다.

핵심 포인트

  • 상세한 루브릭은 거대 모델의 평가 일치도를 높임
  • 복잡한 루브릭은 소형 모델의 성능을 오히려 저하시킴
  • 단순한 루브릭을 가진 거대 모델은 소형 모델보다 성능이 낮을 수 있음
  • 효과적인 평가를 위해 모델 크기에 맞는 적절한 루브릭 설계가 필수적임

Part 2에서 저는 가능한 가장 게으른 LLM Judge를 만들었습니다. 아주 작은 모델(Qwen2.5-1.5B)과 단 한 줄의 루브릭 (Rubric)을 사용했죠. 그 결과 인간의 투표와 일치하는 경우는 약 43%에 불과했고, 모든 점수가 7~8점 구간에 몰려 있었으며, 인간이 쉽게 구분할 수 있었던 비교 대상의 3분의 1을 동점 처리했습니다.

그 Judge에는 두 가지 문제가 있었고, 사람들은 보통 그중 하나만 해결하곤 합니다:

  1. 모델이 너무 작았습니다.
  2. 루브릭 (Rubric)이 모델에게 거의 아무것도 알려주지 않았습니다.

저는 각각을 독립적으로 수정하고 그 효과를 측정했습니다. 결과는 제가 예상했던

대부분의 사람들이 작성하고 멈춰버리는 방식이 바로 단순한 루브릭 (naive rubric)입니다:

NAIVE_RUBRIC = (
    '정확성과 유용성을 바탕으로 1점(최악)에서 10점(최고) 사이의 점수를 매기세요. '
    '반드시 다음과 같이 응답하세요:\nSCORE: <숫자>'
...

좋은 루브릭 (good rubric)은 명시적인 기준을 명명하고, 척도를 고정 (anchors the scale) 하며 (2/5/8/10점이 무엇을 의미하는지), 점수를 매기기 전에 추론을 요구합니다:

GOOD_RUBRIC = (
    '당신은 전문 평가자입니다. 정답성 (CORRECTNESS), 완전성 (COMPLETENESS), '
    '지시 이행 (INSTRUCTION-FOLLOWING)을 기준으로 답변을 평가하세요. 고정된 ' 
    '1-10 전체 척도를 사용하세요:\n'
...

2x2 (두 번 실행, 두 개의 서로 다른 거대 평가자)

Part 2와 동일한 인간 투표 기반의 Chatbot Arena 쌍 (N=30)을 사용하였으며, 동일한 독립적 단일 답변 채점 방식을 적용했습니다. 변경된 유일한 요소는 모델과 루브릭 (rubric)뿐입니다. 이 효과가 특정 모델의 특이 현상이 아니라는 것을 확인하기 위해, OpenRouter를 통해 거대 평가자 (big judge)를 두 번deepseek/deepseek-v4-proqwen/qwen3-32b — 실행했습니다. 소형 베이스라인 (small baseline)은 양쪽 모두 동일한 로컬 Qwen2.5-1.5B를 사용했습니다.

거대 평가자 = DeepSeek:

조건일치도 (결정적)일치도 (전체)무승부척도
소형 + 단순67%47%9/302–10
...

거대 평가자 = Qwen 32B (동일한 패턴, 더 완만한 차이):

조건일치도 (결정적)무승부
소형 + 단순67%9/30
...

두 결과 모두 루브릭 (rubric) 열을 주의 깊게 읽어보십시오. 좋은 루브릭은 소형 모델에게 해를 끼쳤지만 (67%→54% — 두 실행 모두 동일), 거대 모델에게는 도움을 주었습니다 (DeepSeek: 65%→79%, +14pt 상승; Qwen: 70%→71%이지만 무승부가 훨씬 적음). 유능한 모델을 날카롭게 만들었던 상세하고 다각적인 기준의 지시 사항들이 1.5B 모델에게는 그저 _혼란_만 주었습니다.

DeepSeek 실행에서 드러난 한 가지 사실이 더 있습니다: 거대 + 단순 조합은 결정적 일치도 65% / 전체 일치도 37%를 기록했습니다 — 이는 소형 모델보다 나을 것이 없었으며, 무승부 횟수도 가장 많았습니다. 게으른 루브릭 (rubric)을 가진 더 크고 비싼 평가자는 아무런 이득을 주지 못했습니다. 79%로의 도약은 거대 모델과 제대로 된 루브릭 (rubric)이 함께 사용되었을 때에만 나타났습니다.

핵심 요점

저는 "더 나은 루브릭 (rubric)은 저렴한 승리(cheap win)가 될 것이다"라고 예상했습니다. 하지만 데이터는 더 유용한 사실을 말해주었습니다: 좋은 루브릭은 하나의 지시 사항 (instruction)이며, 모델은 이를 따를 수 있을 만큼 충분히 유능해야 합니다.

  • 더 큰 모델은 실제 루브릭과 결합되었을 때만 도움이 되었습니다. 게으른 루브릭 (lazy rubric)을 사용할 경우, 큰 모델은 작은 모델보다 나을 것이 없었습니다 (DeepSeek big+naive는 실제로 67%/65%를 기록하며 — 정체됨 — 최악의 동점 횟수를 보였습니다).
  • 더 나은 루브릭은 유능한 모델에서만 효과를 보았습니다. 작은 모델의 경우, 세심한 루브릭은 두 번의 큰 모델 평가 (big-judge runs) 모두에서 게으른 한 줄짜리 루브릭보다 결과가 좋지 않았습니다.

따라서 이 두 가지 해결책은 단순히 합산할 수 있는 독립적인 레버가 아닙니다. 약한 모델에 정밀한 루브릭을 건네면 평가 결과가 아무것도 하지 않았을 때보다 더 나빠질 수 있으며, 큰 모델을 사용하면서 루브릭을 생략한다면 아무것도 얻지 못한 것과 같습니다. 최고의 평가자 (judge)는 그 조합, 즉 큰 모델 그리고 실제 루브릭의 결합이었습니다 (DeepSeek는 79%를 달성했습니다). 하지만 이 결과가 주는 교훈은 그 양 끝에 놓인 두 가지 함정입니다.

LLM 평가자 (LLM judge)는 하나의 도구입니다. 모델은 센서 (sensor)이고, 루브릭은 교정 (calibration)입니다. 저렴한 센서에 정밀한 교정을 적용하면 교정을 전혀 하지 않은 것보다 더 나쁜 값을 읽을 수 있습니다. 두 가지를 모두 명시하고, 항상 인간의 라벨 (human labels)과 대조하여 확인하십시오. 직관(저의 경우를 포함하여)은 이를 틀리기 때문입니다.

시리즈를 마치며

세 개의 에피소드, 하나의 맥락: 지표 (metric)는 그것을 측정한 조건만큼만 정직합니다.

  • 에피소드 1 — 정확도 (accuracy)는 모델이 조용히 포기해버린 클래스 (classes)들을 숨겼습니다.
  • 에피소드 2 — LLM 평가자의 확신에 찬 점수는 그것이 인간과 의견이 다르다는 사실을 숨겼습니다.
  • 에피소드 3 — "더 나은" 루브릭은 강력한 모델에는 도움이 되었지만 약한 모델에는 해를 끼쳤습니다. 헤드라인은 이 사실을 숨겼습니다.

평가 (Evaluation)는 한 번 체크하고 영원히 인용할 수 있는 체크박스가 아닙니다. 그것은 당신이 명시하고, 교정하며, 정답 (ground truth)과 계속 대조하며 확인해야 하는 도구입니다. 왜냐하면 편리한 수치는 언제나 당신을 기분 좋게 속일 것이기 때문입니다. 함께해주셔서 감사합니다.

📓 Kaggle에서 실행 가능한 전체 노트북: https://www.kaggle.com/code/sumannath88/ep03-better-judge-model-and-rubric

Hugging Face Transformers (소형 판사 모델, 로컬) + OpenRouter (대형 판사 모델: deepseek-v4-pro 및 qwen3-32b)를 사용하여 구축되었습니다. 데이터: LMSYS Chatbot Arena. 질문이나 수정 사항은 댓글로 환영합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0