Skip to content

루브릭 기반 LLM 평가

Potato의 루브릭 평가 유형을 사용하여 여러 가중치 기준(MT-Bench 방식)에 따라 LLM 출력을 평가하는 방법.

루브릭은 모호한 판단("이것이 좋은 답변인가?")을 유용성, 정확성, 완전성, 어조, 안전성과 같은 구체적이고 채점 가능한 기준으로 나누고, 각각을 척도로 평가합니다. 이를 통해 LLM 평가가 반복 가능해지고, 어떤 답변이 다른 답변보다 더 나은지가 드러납니다. 이것이 MT-Bench와 같은 벤치마크의 바탕이 되는 구조입니다.

루브릭은 주관적인 품질을 정의된 기준과 척도 눈금으로 이루어진 격자로 변환합니다. 이로써 일치도가 높아지고 결과를 해석하기 쉬워집니다.

루브릭을 사용해야 할 때

  • 출력이 충분히 풍부해서 단일 점수로는 정보가 사라집니다.
  • 전체적인 결론뿐 아니라 어느 차원이 약한지(정확성인지 어조인지)를 알아야 합니다.
  • 채점 전에 이해관계자들이 합의할 수 있는 기준을 마련해 두고 싶습니다.

"어느 쪽이 더 나은지"만 필요하다면 쌍대 비교가 더 저렴합니다. 루브릭은 절대적이고 다차원적인 프로파일이 필요할 때 진가를 발휘합니다.

Potato에서 설정하기

yaml
annotation_schemes:
  - annotation_type: rubric_eval
    name: answer_quality
    description: "Rate the answer on each criterion."
    scale_points: 5
    criteria:
      - {name: Helpfulness, description: "Does it address the user's actual need?"}
      - {name: Accuracy,    description: "Is it factually correct?"}
      - {name: Completeness, description: "Does it cover the important points?"}
      - {name: Tone,        description: "Is the style appropriate?"}

Potato는 이를 격자로 렌더링합니다. 기준이 세로로 나열되고 척도 눈금이 가로로 배치됩니다. 어노테이터는 모든 셀을 채점합니다.

좋은 기준 작성하기

  • 서로 독립적으로 만드십시오. 겹치는 기준("helpful"과 "useful")은 함께 채점되어 잡음을 더합니다.
  • 척도에 기준점을 두십시오. 전체적인 양 끝만이 아니라, 각 기준에 대해 1점과 5점이 어떤 모습인지 기술하십시오.
  • 짧게 유지하십시오. 기준은 보통 네 개에서 여섯 개가 가장 적절합니다. 긴 루브릭은 어노테이터를 지치게 하고 일치도를 떨어뜨립니다.

루브릭과 LLM-as-judge

사람에게 주는 것과 동일한 루브릭을 "LLM 심판"의 프롬프트로 사용하면 저렴한 사전 채점이 가능하고, 그 뒤에 사람이 검증할 수 있습니다. 이는 LLM 사전 어노테이션과 정확히 같은 방식입니다. 심판을 대조할 수 있도록 사람이 채점한 표본을 남겨 두고, 심판 자체의 편향(길이, 서식, 자기 선호)에 주의하십시오.

더 읽어보기