쌍대 비교와 최선–최악 척도
평점 대신 비교 판단을 사용해야 하는 경우, 쌍대 비교와 최선-최악 척도(MaxDiff), 그리고 이를 Potato에서 설정하는 방법을 설명합니다.
사람은 안정적인 절대 점수를 매기는 데에는 서툴지만 비교는 잘합니다. 비교 어노테이션은 이 점을 활용합니다. "이것을 1~5점으로 평가하세요"라고 하는 대신 "A와 B 중 어느 것이 더 나은가요?"라고 묻습니다. 주요 형태는 두 가지로, 쌍대 비교와 최선–최악 척도입니다. 이 둘은 현대 AI의 선호 데이터를 떠받치는 근간입니다.
배경 지식은 Pairwise comparison과 MaxDiff를 참고하시기 바랍니다.
쌍대 비교
두 항목을 보여주고 어느 것이 이기는지 묻습니다. 간단하고 일치도가 높으며, 인간 피드백 기반 강화학습을 위한 인간 선호 데이터를 수집할 때 쓰이는 형식입니다.
annotation_schemes:
- annotation_type: pairwise
name: preference
description: "Which response better answers the question?"
mode: binary
allow_tie: true
sequential_key_binding: true무승부를 허용하면 어노테이터가 실제로 없는 차이를 만들어내는 일을 막을 수 있습니다. 얼마나 더 나은지를 포착하려면 mode를 척도로 바꾸면 됩니다(예: "A가 훨씬 나음 … B가 훨씬 나음"). 쌍대 선호 쇼케이스는 실제로 동작하는 예시입니다.
많은 쌍대 판단은 Elo 평점 시스템이나 Bradley–Terry 모델과 같은 모델을 통해 하나의 순위로 변환할 수 있습니다.
최선–최악 척도 (MaxDiff)
작은 집합(보통 네 개 항목)을 보여주고 최선과 최악을 고르도록 요청합니다. 각 판단은 집합의 양 끝을 한 번에 고정하기 때문에 단일 쌍대 투표 하나보다 더 많은 정보를 담습니다.
annotation_schemes:
- annotation_type: best_worst_scaling
name: fluency
description: "Pick the most and least fluent translation."
tuple_size: 4
best_label: "Most fluent"
worst_label: "Least fluent"최선–최악 척도는 단순한 선택으로부터 신뢰할 수 있고 거의 등간에 가까운 점수를 산출하며, 여러 어노테이터로부터 보정된 순위를 만드는 데 널리 쓰입니다.
평점보다 비교를 택해야 할 때
- 구성 개념을 절대적으로 기준점에 고정하기 어렵습니다(유머, 유용성, 미적 품질).
- 높은 일치도가 필요한데 Likert 척도가 잡음이 많습니다.
- 모델을 학습시키거나 정렬하기 위한 선호 데이터를 구축하고 있습니다.
대가는 상대적인 정보만 얻는다는 점입니다. 절대 점수를 복원하려면 모델(Elo, Bradley–Terry)이 필요할 수 있습니다.
더 읽어보기
- 평점 척도, 절대 점수 방식의 대안
- 모델 쌍대 비교, AI 출력 비교
- RLHF 선호 데이터