본문으로 건너뛰기

LLM 사람 평가 및 선호도 데이터 도구 비교

사람 평가자로부터 쌍 선호도와 루브릭 점수를 수집하는 무료 및 유료 도구를 비용, 평가자 간 일치도, DPO용 데이터 면에서 비교합니다.

팀은 Labelbox나 Label Studio 같은 어노테이션 플랫폼, 평가자까지 제공하는 Scale AI나 Surge AI 같은 관리형 서비스, 또는 Argilla, Label Studio Community Edition, Potato 같은 무료 도구로 사람의 선호도 데이터와 LLM 평가를 수집합니다. Potato는 쌍 선호도, 리커트 및 루브릭 점수, 최선-최악 척도법을 위한 Labelbox, Label Studio Enterprise, 관리형 서비스의 소프트웨어 부분에 대한 무료 자체 호스팅 대안이며, 항목마다 여러 평가자를 두고 모든 쌍에 대한 일치도를 보고합니다. Potato는 평가자를 제공하지 않으므로 평가자는 자신의 사람들이나 Prolific에서 모집한 참가자입니다.

언어 모델의 사람 평가는 사람들에게 모델의 출력을 판단하게 합니다. 쌍 선호도 판단에서 평가자는 프롬프트 하나와 응답 두 개를 보고 더 나은 응답을 고르거나 동점으로 처리합니다. 인간 피드백 기반 강화 학습(RLHF)에서는 보상 모델이 선호도 쌍으로부터 학습합니다. 직접 선호 최적화(DPO)는 보상 모델 없이 프롬프트, 선택된 응답, 거부된 응답의 삼중쌍으로 모델을 학습시킵니다. Bradley-Terry 모델은 많은 쌍 결과를 모델마다 하나의 강도 점수로 바꾸며, 공개 리더보드는 이 모델로 투표에서 모델의 순위를 매깁니다. 루브릭은 응답 하나를 이름 붙은 여러 기준으로 채점하며 흔히 리커트 척도를 씁니다. 최선-최악 척도법은 평가자에게 작은 집합에서 가장 좋은 출력과 가장 나쁜 출력을 묻습니다. 레드팀 레이블은 적대적 프롬프트가 해로운 답을 받았는지 기록합니다. LLM-as-a-judge는 출력을 자동으로 채점하며, 표본에 대한 사람의 레이블은 그 심판을 신뢰할 수 있는지 보여 줍니다(Zheng et al., 2023).

이 페이지는 모델 출력에 대한 사람의 판단을 다룹니다. AI 에이전트 평가 도구 비교는 LangSmith, Langfuse, Arize Phoenix, Potato에서 에이전트 트레이스를 사람이 검토하는 방법을 다루고, Potato의 LLM 평가는 Potato의 평가 과제를 한곳에 모아 보여 줍니다.

비교해 볼 만한 LLM 평가 도구

라이선스와 가격은 각 프로젝트의 자체 페이지에서 가져왔으며 2026-10-29에 확인했습니다.

도구실행 형태라이선스 또는 가격적합한 용도
ArgillaDocker 또는 Hugging Face Space의 웹 앱, Python SDK 포함Apache-2.0, 무료레코드마다 정해진 수의 응답을 받는 평점, 순위, 레이블, 텍스트, 스팬 질문
Label Studio웹 앱Apache-2.0 Community Edition. Starter Cloud는 월 $99부터. Enterprise는 문의출력 나란히 비교, RLHF 선호도 수집, 응답 채점, 멀티턴 채팅 평가를 위한 템플릿
Prodigy자신의 컴퓨터에서 실행하는 Python 라이브러리와 웹 앱상용. 개인 평생 라이선스 $390, 기업은 좌석당 $490개발자 한 명이 프롬프트와 모델을 빠르게 A/B 비교하며 Glicko 등급으로 토너먼트 순위 매기기
Labelbox호스팅 플랫폼상용. 무료 계정은 월 500 Labelbox Unit를 받으며 사용량은 그 단위로 청구최대 10개 모델과의 실시간 또는 가져온 채팅과 응답의 순위, 선택, 평점
Arena(이전의 LMArena와 Chatbot Arena)공개 웹사이트투표는 무료. 모델 제공업체를 위한 평가는 협의두 모델의 답에 대한 익명 투표로 만든 공개 리더보드
관리형 서비스(Scale AI, Surge AI, Prolific)공급업체가 자체 평가자로 수집을 운영프로젝트별 견적. Prolific의 셀프서비스 플랫폼은 참가자 보수에 기업 42.8%, 학술 및 비영리 고객 33.3%의 수수료를 더함완성된 선호도 데이터, 전문가 평가, 대규모 레드팀 구매
PotatoYAML로 구성하는 Python 웹 서버이며, 자신의 컴퓨터나 서버에서 실행GPL-3.0-or-later, 무료항목마다 여러 평가자, 모든 스킴의 일치도, Prolific 모집이 있는 선호도 및 평가 연구

Argilla 저장소는 원래 저자들이 떠났으며 프로젝트가 버그 수정과 패치는 공개하지만 새 기능은 내놓지 않는다고 밝힙니다. Argilla의 최신 릴리스인 2.8.0은 2025년 3월에 나왔습니다. Label Studio의 레드팀 및 프로덕션 RLHF 채팅 템플릿은 Label Studio Enterprise가 필요하고, 쌍 RLHF와 나란히 비교 템플릿에는 그런 표시가 없습니다. Arena는 두 모델이 익명인 동안 던진 투표만 집계하며, 비식별화한 대화를 공개 연구 데이터셋으로 공개합니다.

어떤 과제에 어떤 도구를

과제적합한 도구
자체 서버에서 자신의 평가자로부터 쌍 선호도 수집Potato, Argilla, Label Studio
여러 사람의 평점과 일치도 보고가 있는 쌍 선호도Potato, Label Studio Enterprise
프롬프트 하나의 출력 세 개 이상에 순위 매기기Argilla(RankingQuestion), Labelbox(최대 10개 모델), Potato(최선-최악 척도법)
기준별 루브릭 또는 리커트 점수Potato, Argilla(RatingQuestion), Label Studio
개발자 한 명이 두 프롬프트나 모델을 빠르게 비교Prodigy(ab.openai.prompts, ab.llm.tournament), Potato Model Arena
프롬프트와 응답에 대한 레드팀 레이블Label Studio Enterprise, Scale AI, Surge AI, Potato(radio, multiselect, error_span 스킴)
익명 투표로 만드는 공개 리더보드Arena
평가자가 포함된 완성된 선호도 데이터Scale AI, Surge AI, Prolific 관리형 서비스
블라인드 사람 레이블로 LLM 심판 확인Potato, Langfuse(사람 점수와 자동 점수 사이의 Cohen의 카파)

관리형 서비스는 서비스의 일부로 평가자를 제공합니다. 나머지 도구는 소프트웨어이며, 소프트웨어를 운영하는 팀이 평가자를 데려옵니다.

Labelbox와 Scale AI의 무료 대안

Labelbox는 선호도 데이터용 어노테이션 플랫폼을 판매하고 Scale AI는 데이터 자체를 판매합니다. Labelbox의 멀티모달 채팅 편집기는 프롬프트 하나를 실시간으로 또는 가져온 대화에서 최대 10개 모델에 보내고, 평가자가 모델 비교나 RLHF를 위해 응답의 순위를 매기고, 선택하고, 평점을 줍니다. Scale AI는 검증된 전문가 네트워크와 표적 레드팀으로 사람의 피드백과 선호도 순위를 판매하며, Scale의 RLHF 페이지는 가격 대신 데모를 제공합니다. Surge AI는 도메인 전문가 레이블링 팀, API가 있는 RLHF 인터페이스, 레드팀을 설명하며, Prolific은 셀프서비스 참가자 풀과 관리형 AI 데이터 수집을 운영합니다.

무료 도구 세 가지가 수집 소프트웨어를 다룹니다. Argilla는 무료 Hugging Face Space에서 실행되며 각 레코드에 필요한 응답 수를 min_submitted로 정하고, Argilla 문서는 진행 현황 수치를 설명할 뿐 일치도 통계는 설명하지 않습니다. Label Studio Community Edition은 쌍 RLHF 템플릿과 나란히 비교 템플릿을 포함하며, Label Studio는 일치도 지표, 작업마다 여러 어노테이터를 두는 중첩 설정, LLM-as-a-judge 기능을 유료 요금제에 둡니다. Potato는 일치도, 항목마다 여러 평가자, Prolific 모집, 주의 확인, 정답 항목을 무료로 포함하며, 한계는 Potato가 LLM 평가에서 하지 않는 것에 나와 있습니다.

무료 도구는 어느 것도 평가자를 제공하지 않습니다. 무료 도구는 관리형 서비스가 운영하는 소프트웨어를 대신하며, 평가자의 일에는 여전히 참가자 보수가 듭니다. Prolific의 최저 보수는 시간당 $8.00이고 Prolific은 플랫폼 수수료 전 기준으로 $12.00을 권장합니다.

도구별 평가자 간 일치도와 평가자 모집

두 좋은 답이 품질보다 스타일에서 다를 수 있으므로 선호도 레이블은 자주 엇갈립니다. 따라서 연구는 각 쌍을 여러 평가자에게 보내고 평가자들이 얼마나 자주 일치하는지 보고합니다. 표는 각 도구가 항목 하나를 여러 사람에게 보내는 방법과 그 도구의 문서가 설명하는 일치도 측정치를 보여 줍니다.

도구항목마다 여러 평가자평가자 간 일치도평가자 모집
Argilla데이터셋별 TaskDistribution(min_submitted=N)——
Label Studio유료 에디션의 "Annotations per task" 중첩유료 요금제에서 합의 또는 쌍별 평균—
Prodigyfeed_overlap이 있는 이름 붙은 세션, 또는 평균 annotations_per_task이진, 문서, 스팬 레이블에 대한 metric.iaa 레시피이며 일치율, Krippendorff의 알파, Gwet의 AC2—
관리형 서비스공급업체가 정함—공급업체 자체 평가자
Potatonum_annotators_per_item쌍 선택에는 일치율, Cohen의 카파, Fleiss의 카파, Krippendorff의 알파. 리커트 점수에는 가중 카파와 순서형 알파Prolific 내장. SONA와 다른 패널은 URL 매개변수로

대시는 2026-10-29에 확인한 해당 도구의 자체 문서에서 그 칸에 해당하는 내용을 찾지 못했다는 뜻입니다. 틀린 칸이 있으면 알려 주세요.

Potato에서는 /admin/iaa의 관리자 대시보드가 연구가 진행되는 동안 스킴마다 일치도를 보고합니다. 이진 모드의 쌍 스킴은 A, B, 동점의 명목형 선택으로 채점되고, 척도 모드의 스킴은 연속형 평점으로 채점됩니다. 버전 2.13.1부터 /admin/iaa는 rubric_eval 격자를 기준별로, 그리고 모든 기준을 합쳐서 채점하며, reliability 내보내기는 pairwise 스킴을 다룹니다. 어노테이터는 몇 명이 필요한가요?는 쌍마다 평가자 수를 정하는 데 도움이 됩니다.

위치 편향과 블라인드 처리

LLM 심판은 한 위치의 응답을 선호하는 경우가 많고(Zheng et al., 2023), 사람 평가자도 첫 번째 위치를 선호할 수 있습니다. 항상 같은 모델을 먼저 보여 주는 연구는 품질과 함께 그 선호를 측정하게 됩니다. Arena는 투표 때까지 두 모델의 이름을 숨기고 그 뒤에 이름을 공개합니다. Label Studio의 나란히 비교 템플릿은 두 답을 입력 데이터의 순서대로 보여 주며, Prodigy의 ab.openai.prompts 레시피는 두 프롬프트의 블라인드 비교를 실행합니다. Potato의 Model Arena는 응답 카드에 각 모델의 레이블을 보여 주는 관리자 도구입니다. Model Arena는 연구 팀이 프롬프트를 빠르게 살펴보는 데 적합합니다.

Potato에서 블라인드 연구를 하려면 모델 이름이 들어 있는 필드를 item_properties.private_keys 아래에 나열하세요. 버전 2.13.1부터 Potato는 그 필드를 평가자의 브라우저로 보내는 모든 것에서 빼고 내보내기에는 유지합니다. 이전 버전에서는 항목의 모든 필드가 페이지 소스에 도달하므로, 그 버전에서는 모델 이름을 별도의 키 파일에 보관하세요. pairwise 스킴은 randomize_order: true도 받으며, 이는 각 평가자에게 평가자, 항목, 스킴에서 도출한 순서를 줍니다. 버전 2.13.1부터 내보내기와 일치도 대시보드는 각 응답을 데이터 순서로 읽으므로, A는 항상 데이터 파일의 첫 번째 응답을 뜻합니다. 이전 버전에서는 저장된 응답이 보여 준 위치이므로, randomize_order를 쓰는 연구는 분석 전에 user_state.json에서 각 응답을 응답 쪽으로 다시 대응시킵니다.

쌍마다 평가자 세 명인 선호도 연구

아래 구성은 Prolific에서 모집한 평가자를 위한 블라인드 선호도 연구를 실행합니다. num_annotators_per_item: 3은 모든 쌍을 평가자 세 명에게 보내며, 대시보드는 모든 쌍의 일치도를 보고합니다. 평가자 세 명이면 어떤 평가자도 동점으로 판단하지 않은 쌍에서는 다수가 나옵니다. 동점 옵션은 평가자가 똑같이 좋은 두 답 중 하나를 억지로 고르지 않게 하며, 선택적 이유 상자는 평가자가 길이나 서식에 보상을 주었는지 감사할 수 있게 합니다. 이 구성은 완전하며 Potato의 검증기를 통과합니다.

yaml
annotation_task_name: Chat response preference, three raters per pair
task_dir: .
output_annotation_dir: annotation_output/
data_files:
  - data/pairs.jsonl
item_properties:
  id_key: id
  text_key: prompt
user_config:
  allow_all_users: true
  users: []
 
# Raters arrive from Prolific with the participant ID in the URL
login:
  type: url_direct
  url_argument: PROLIFIC_PID
completion_code: C1ABCDEF
auto_redirect_on_completion: true
 
# Three raters per pair, so agreement can be measured on every pair
assignment_strategy: random
num_annotators_per_item: 3
max_annotations_per_user: 40
 
annotation_schemes:
  - annotation_type: pairwise
    name: preference
    description: Which response better answers the prompt?
    items_key: responses
    labels: [Response A, Response B]
    allow_tie: true
    tie_label: About the same
    justification:
      reason_categories: [More accurate, Follows the instruction, Safer, Better written]
      required: false
    label_requirement:
      required: true

data/pairs.jsonl의 각 줄에는 프롬프트 하나와 이미 섞인 응답 두 개가 모델 이름 없이 들어 있습니다.

json
{"id": "p002", "prompt": "Write a one-line commit message for fixing a typo in the README.", "responses": ["This commit fixes a small typographical error that was present in the README file of the repository.", "Fix typo in README"]}

potato start config.yaml -p 8000으로 서버를 시작하고 Prolific에 연구 URL https://your-server.com/?PROLIFIC_PID={{%PROLIFIC_PID%}}를 주세요. 끝마친 평가자에게는 완료 코드가 보이고 Prolific의 완료 페이지로 돌려보내집니다. 평가자는 1, 2, 그리고 동점은 0 키로 답합니다. 선택 대신 단계별 선호를 받으려면 mode: scale을 설정하고 양 끝의 캡션을 scale.labels 아래에 두며, 쌍 비교에 그 방법이 나와 있습니다. pairwise 스킴에는 options: 키가 없습니다.

선호도 레이블에서 DPO 데이터로

Potato는 항목과 평가자마다 한 행을 CSV, TSV, JSONL, Parquet으로 내보내며, huggingface 내보내기는 어노테이션과 항목을 Hugging Face 데이터셋 저장소로 올립니다. 각 행은 평가자의 선택을 preference.selection 아래에 유지합니다. Potato에는 pairwise 스킴에서 DPO 삼중쌍을 쓰는 내보내기 도구가 없습니다. 버전 2.14부터 llm-dpo 트레이너는 Potato 안에서 이진 pairwise 스킴으로 LLM을 DPO로 파인튜닝하고, reward-model 트레이너는 같은 답으로 보상 모델을 학습시킵니다. Potato 밖에서 학습시킬 때는 짧은 스크립트가 내보내기를 데이터 파일에 조인합니다. 먼저 어노테이션을 내보내세요.

bash
python -m potato.export -c config.yaml -f jsonl -o export/

아래 스크립트는 각 쌍의 다수 선택을 유지하고, 동점과 다수가 없는 쌍은 건너뛰며, Hugging Face TRL이 DPOTrainer와 RewardTrainer를 위해 읽는 prompt, chosen, rejected 필드를 씁니다.

python
import json
from collections import Counter
 
items = {r["id"]: r for r in map(json.loads, open("data/pairs.jsonl"))}
votes = {}
for row in map(json.loads, open("export/annotations.jsonl")):
    choice = row["labels"].get("preference", {}).get("selection")
    votes.setdefault(row["instance_id"], []).append(choice)
 
with open("dpo.jsonl", "w") as out:
    for item_id, choices in votes.items():
        winner, count = Counter(choices).most_common(1)[0]
        if winner not in ("A", "B") or count <= len(choices) / 2:
            continue  # skip ties and pairs without a majority
        item = items[item_id]
        chosen = 0 if winner == "A" else 1
        out.write(json.dumps({"prompt": item["prompt"],
                              "chosen": item["responses"][chosen],
                              "rejected": item["responses"][1 - chosen]}) + "\n")

평가자별 내보내기를 DPO 파일 옆에 보관하세요. 다수 레이블로 학습한 보상 모델은 불일치를 버리지만, 불일치는 어떤 쌍이 어려웠는지 보여 줍니다. Model Arena의 Export DPO 버튼은 아레나에서 관리자가 고른 것으로부터 승자와 패자마다 하나씩 같은 삼중쌍을 씁니다. RLHF와 선호도 데이터는 다차원 선호도와 선호도 데이터의 함정을 다룹니다.

평가자에 대해 LLM 심판 확인하기

LLM 심판은 같은 항목에 대한 블라인드 사람 레이블과 심판의 레이블을 비교한 뒤에야 평가자를 대신할 수 있습니다. Potato의 심판 보정은 항목마다 각 심판을 여러 번 표집하고, 사람들이 심판의 답을 보지 않고 표본에 레이블을 달게 하며, 심판과 사람 사이의 카파, 사람들 사이의 카파, 기대 보정 오차, Brier 점수를 보고합니다. 심판 보정은 radio, select, likert, multiselect, span 스킴을 다룹니다. 선호도 심판을 보정하려면 선호도를 A, B, 동점 레이블의 radio 스킴으로 질문하세요. 관리자 엔드포인트 /admin/api/judge-position-bias는 표집된 각 항목을 한 번은 레이블을 뒤집어 두 번 실행하고 심판의 답이 얼마나 자주 뒤바뀌는지 보고합니다. LLM 심판과 사람의 일치도가 절차를 제시하며, 심판 일치도 계산기가 CSV에 대해 비교를 실행합니다.

Potato가 LLM 평가에서 하지 않는 것

  • 평가자가 없습니다. Prolific, SONA 피험자 풀, 다른 패널에서 평가자를 모집하거나 자신의 팀을 초대하세요.
  • pairwise 스킴에서 DPO 내보내기가 없습니다. 위 스크립트가 JSONL 내보내기에서 삼중쌍을 만듭니다. 버전 2.14부터 llm-dpo 트레이너는 Potato 안에서 pairwise 답으로 학습합니다.
  • 루브릭 격자에 대한 일치도가 없습니다. 기준별 일치도가 중요하면 각 기준을 likert 스킴으로 질문하세요.
  • Model Arena는 빠른 확인용일 뿐입니다. 아레나는 모델 레이블을 보여 주는 관리자 페이지이며, 선택을 메모리에 최대 1,000개까지만 보관하고 서버를 다시 시작하면 선택과 리더보드가 사라집니다.
  • 공개 리더보드가 없습니다. Arena는 대중으로부터 투표를 수집하고, Potato는 초대한 평가자로부터 판단을 수집합니다.
  • 프로덕션 트레이싱이 없습니다. 실시간 트래픽은 관측 도구에서 채점하고, AI 에이전트 평가 도구 비교가 설명하듯 표본을 Potato로 가져오세요.
  • 서버가 필요합니다. 누군가 pip로 Potato를 설치하고 평가자가 접근할 수 있는 곳에서 서버를 실행해야 합니다.

각 프로젝트의 자체 문서와 요금 페이지를 기준으로 2026년 10월에 확인했습니다.

자주 묻는 질문

RLHF 선호도 데이터를 위한 Scale AI의 무료 대안이 있나요?

있습니다. Potato, Argilla, Label Studio Community Edition은 직접 모집한 평가자로부터 쌍 선호도를 수집하는 무료 도구입니다. Potato는 모든 쌍에 대한 일치도와 Prolific 모집을 더합니다. Scale AI와 Surge AI처럼 훈련된 평가자를 제공하는 무료 도구는 없습니다. 무료 도구를 쓰는 팀은 예컨대 Prolific을 통해 최저 시간당 $8.00에 플랫폼 수수료를 더해 평가자에게 직접 보수를 지급합니다.

Chatbot Arena는 쌍 투표에서 어떻게 모델의 순위를 매기나요?

이전에 LMArena와 Chatbot Arena였던 Arena는 익명의 쌍 투표에 Bradley-Terry 모델을 맞춥니다. 투표자는 이름이 없는 모델의 답 두 개를 보고 하나를 고릅니다. 이름이 공개되기 전에 던진 투표만 순위에 반영됩니다. 오픈 소스 Arena-Rank 패키지는 Bradley-Terry 적합과 길이, 서식 같은 답의 스타일을 통제하는 확장을 구현합니다. Potato의 Model Arena와 Bradley-Terry 계산기는 자신의 평가자의 선택으로 같은 방식으로 모델의 순위를 매깁니다.

쌍 비교에서 어떤 응답이 먼저 나오는지 무작위로 하려면 어떻게 하나요?

데이터 파일을 쓸 때 각 항목의 두 응답을 섞고, 어느 모델이 각 응답을 썼는지는 별도의 키로 보관하세요. 그러면 각 모델이 쌍의 약 절반에서 먼저 나타나고 모든 평가자가 같은 순서를 봅니다. 내보내기와 일치도 수치에는 보정이 필요 없습니다. Potato는 randomize_order: true로 평가자별 무작위화도 하며, 버전 2.13.1부터 내보내기와 일치도 수치는 각 응답을 데이터 순서로 읽습니다.

더 읽어 보기

참고 문헌

  1. Rafailov, R., Sharma, A., Mitchell, E., Ermon, S., Manning, C. D., & Finn, C. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. Advances in Neural Information Processing Systems 36 (NeurIPS 2023). https://arxiv.org/abs/2305.18290
  2. Zheng, L., Chiang, W.-L., Sheng, Y., et al. (2023). Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena. NeurIPS 2023 Datasets and Benchmarks. https://arxiv.org/abs/2306.05685