본문 바로가기
C.W.K.
Stream
Lesson 07 of 09 · published

기준선 문제

~22 min · evals, baseline, fundamentals

Level 0추측자
0 XP0/55 lessons0/10 achievements
0/150 XP to next level150 XP to go0% complete

점수만으로는 의미가 없어

‘우리 모델이 평가에서 84%를 받았어.’ 좋은 결과일까? 세 가지 비교 기준이 없으면 알 수 없어. 기준선은 몇 점이야? 이전 버전의 시스템은 몇 점이야? 인간이 낼 수 있는 상한선은 몇 점이야?

기준선이 없으면 숫자는 보여주기에 불과해. 기준선이 있으면 같은 84%도 전혀 다르게 해석돼:

  • ‘GPT-3.5 기준선은 78%, 우리 시스템은 84%, 인간은 91%야. 출시할 만하고 더 개선할 여지도 있어.’
  • ‘GPT-3.5 기준선은 88%야. 복잡한 RAG 시스템을 만든 우리는 84%야. 검색에 비용을 쓰고도 성능이 더 나빠졌어.’

측정해야 할 세 가지 기준선

  1. 단순한 기준선 — 가장 단순한 접근이 받는 점수야. "항상 ‘I don't know’라고 답하기." "가장 최근에 검색된 문서의 첫 문장을 반환하기." "사용자의 질문을 그대로 되풀이하기." 복잡한 시스템이 이런 기준선조차 이기지 못한다면 실질적으로 개선한 게 없는 거야.
  2. 강력한 기준선 — 별도 장치 없이 프롬프트만 잘 구성한 기본 모델이 받는 점수야. 이 점수는 과도하게 설계한 시스템의 점수와 불편할 만큼 가까운 경우가 많아.
  3. 인간 기준선 — 숙련된 평가자가 같은 과제를 수행해 받는 점수야. 현실적인 상한선이지. 시스템이 인간을 이기는 경우는 드물고, 그런 결과가 나왔다면 평가 방식이 잘못됐을 가능성을 먼저 살펴봐야 해.
원칙: 숫자를 축하하기 전에 항상 기준선을 하나 이상 측정해. 첫 평가 질문은 ‘우리 점수가 몇 점이야?’가 아니라 ‘최소 기준은 몇 점이야?’여야 해.

과도한 설계의 함정

팀은 프롬프트만 잘 구성한 단일 호출이 얼마나 해낼 수 있는지 확인하기도 전에 재순위화, 다단계 검색, 에이전트 반복, 미세 조정을 습관적으로 추가하곤 해. 절반쯤은 더 단순한 기준선이 복잡한 파이프라인과 비슷한 성능을 내면서 비용은 10분의 1만 들어. 복잡한 시스템이 이길 거라고 확신하더라도 항상 기준선부터 실행해.

Code

놀랄 만큼 이기기 어려운 단순 기준선·python
# 1) The 'I don't know' baseline — for QA datasets this can score 30%+
#    on calibration metrics because models that admit ignorance are
#    rewarded over confident hallucinations.
def idk_baseline(question):
    return "I don't have enough information to answer that."

# 2) The 'most-common-class' baseline for classification.
from collections import Counter
def majority_class_baseline(train_labels):
    return Counter(train_labels).most_common(1)[0][0]

# 3) The 'echo' baseline for summarization — return the first 2 sentences.
def echo_baseline(article):
    return ". ".join(article.split(". ")[:2]) + "."
강력한 기준선 — 같은 모델, 추가 구성 요소 없음·python
# Run this BEFORE your fancy RAG / agents / fine-tuning pipeline.
# If the fancy thing doesn't beat this by a meaningful margin,
# you don't need the fancy thing.
def strong_baseline(question, model):
    return model.complete(
        system="You are a helpful assistant. Be concise and accurate.",
        prompt=question,
    )

External links

Exercise

코드베이스에서 가장 자신 있는 시스템을 하나 골라. 단순 기준선, 강력한 기준선, 인간 기준선을 정하고 같은 평가 모음으로 모두 평가해. 점수 차이를 정리해. 예상보다 차이가 작다면 바로 그 결과가 중요한 교훈이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.