C.W.K.
Stream
Lesson 07 of 09 · published

Baseline 문제

~22 min · evals, baseline, fundamentals

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

Score 자체로는 무의미해

'우리 model 이 eval 에서 84% 받았어.' 좋아? 세 가지 reference point 없으면 알 수 없어: baseline 은 뭐 받지? 이전 버전 우리 시스템은 뭐 받지? 인간 ceiling 은?

baseline 없으면 모든 숫자가 연극이야. baseline 있으면 같은 84% 가 둘 중 하나가 돼:

  • 'GPT-3.5 baseline 78%, 우리 시스템 84%, 인간 91%. ship 할 만해. 더 올릴 여지 있음.'
  • 'GPT-3.5 baseline 88%. 우리 복잡한 RAG 시스템은 84%. retrieval 에 돈 쓰고 더 나빠진 거야.'

측정할 만한 baseline 셋

  1. Trivial baseline — 가장 멍청한 접근이 받는 점수. "항상 'I don't know' 답하기." "가장 최근 retrieve 된 문서의 첫 문장 return." "user 질문 그대로 echo." fancy system 이 trivial baseline 도 못 이기면 아무것도 안 만든 거야.
  2. Strong baseline — extra 없는 잘 prompt 된 base model 이 받는 점수. 자주 이 숫자가 over-engineering 한 시스템과 불편할 정도로 가까워.
  3. Human baseline — 같은 task 에서 숙련된 annotator 가 받는 점수. 현실적인 ceiling. 인간 이기는 건 드물고, 보통 eval 이 잘못됐다는 sign.
원칙: 숫자 축하하기 전에 항상 baseline 하나 측정해. 첫 eval 질문은 '우리 점수 뭐야?' 가 아니라 '바닥은 뭐야?' 야.

Over-engineering 함정

팀들은 단일 잘 prompt 된 call 이 뭘 했을지 establish 하기 전에 reranking, multi-step retrieval, agent loop, fine-tuning 을 routinely 추가해. 절반은 simpler baseline 이 complex pipeline 에 10× 낮은 비용으로 매치돼. complex thing 이 이길 거 확신해도 항상 baseline 먼저 돌려.

Code

이기기 surprisingly 어려운 trivial baseline·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]) + "."
Strong baseline — 같은 model, extra 없음·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

코드베이스에서 가장 자랑스러운 시스템 골라. baseline 셋 (trivial, strong, human reference) 써서 eval set 위에 다 돌려. gap 보고해. gap 이 예상보다 작으면 그게 lesson 이야.

Progress

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

댓글 0

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

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