주제: 6-4 실험 해석 (Baseline 대비 결과 읽기)
실험 목적
RAG 시스템에서는 새로운 방법을 제안할 때 기존 방법(baseline)과 비교하여 성능 개선 여부를 확인합니다.
실험 해석의 핵심 질문:
- baseline 대비 성능이 실제로 개선되었는가?
- 개선이 어떤 조건에서 발생하는가?
- 정량적/정성적으로 의미 있는 차이인가?
1. Baseline 정의
baseline은 비교 기준이 되는 기존 방법입니다.
예:
| 방법 | 설명 |
|---|---|
| BM25 | 전통적 검색 |
| Dense Retrieval | embedding 기반 검색 |
| RAG | retrieval + generation |
실험 목표:
기호 의미
- Metric(model) : 제안 방법 성능
- Metric(baseline) : 기존 방법 성능
왜 필요한가
새로운 방법의 효과를 객관적으로 평가합니다.
주의점
baseline 선택이 실험 신뢰도를 결정합니다.
2. 정량 평가 (Quantitative Evaluation)
실험 결과는 보통 수치로 평가됩니다.
| Metric | 설명 |
|---|---|
| Accuracy | 정답 비율 |
| Recall@k | top-k 검색 정확도 |
| MRR | 정답 위치 기반 점수 |
| BLEU / ROUGE | 생성 품질 평가 |
예:
| 모델 | Recall@10 |
|---|---|
| Baseline | 0.62 |
| Proposed | 0.71 |
개선:
왜 중요한가
성능 개선을 객관적으로 비교할 수 있습니다.
3. 기대값 관점
많은 평가 metric은 평균 성능을 측정합니다.
기호 의미
- x : 테스트 샘플
- score(x) : 샘플 점수
왜 필요한가
전체 데이터에 대한 평균 성능을 평가합니다.
주의점
평균값은 일부 실패 사례를 숨길 수 있습니다.
4. 정성 평가 (Qualitative Evaluation)
정량 평가만으로는 모델 행동을 완전히 이해하기 어렵습니다.
따라서 사례 분석이 필요합니다.
Question: Who invented the telephone?
Baseline answer: "Alexander Graham Bell"
Proposed answer: "Alexander Graham Bell invented the telephone in 1876."
분석
- 정보 정확성
- 설명 품질
- hallucination 여부
5. Error Analysis
실험 해석에서 중요한 단계는 오류 분석입니다.
| Error Type | 설명 |
|---|---|
| retrieval error | 관련 문서 검색 실패 |
| generation error | LLM 답변 오류 |
| ranking error | rerank 실패 |
목표:
왜 중요한가
시스템 개선 방향을 찾을 수 있습니다.
6. Ablation Study
ablation study는 시스템 구성 요소의 영향을 분석합니다.
| 모델 | Recall@10 |
|---|---|
| Full model | 0.71 |
| without reranker | 0.64 |
| without retrieval | 0.52 |
왜 필요한가
각 구성 요소의 기여도를 파악합니다.
7. 통계적 유의성
작은 개선은 우연일 수 있습니다.
통계 검정을 사용합니다.
기호 의미
- p-value : 우연 발생 확률
왜 필요한가
개선 결과의 신뢰도를 검증합니다.
8. 실험 해석 절차
1. baseline 설정
2. metric 비교
3. error analysis
4. ablation study
5. qualitative inspection
코드-수식 연결
| 개념 | 코드 | 설명 |
|---|---|---|
| metric 계산 | sklearn.metrics.accuracy_score() |
정확도 평가 |
| recall@k | topk_recall() |
retrieval 성능 |
| 통계 검정 | scipy.stats.ttest_ind() |
유의성 테스트 |
자주 하는 오해 5개
- baseline 없이 실험 결과를 해석할 수 있다고 생각한다
- metric이 높으면 항상 좋은 모델이라고 생각한다
- 정량 평가만으로 모델을 평가할 수 있다고 생각한다
- 작은 성능 개선도 항상 의미 있다고 생각한다
- ablation study는 선택 사항이라고 생각한다
체크리스트 (스스로 설명 가능해야 하는 질문)
- baseline은 실험에서 어떤 역할을 하는가?
- 정량 평가와 정성 평가의 차이는 무엇인가?
- ablation study는 왜 필요한가?
- error analysis는 어떤 정보를 제공하는가?
- 왜 통계적 유의성을 검증해야 하는가?
데이터 / 모델 / 하이퍼파라미터
| 구성 | 설정 |
|---|---|
| Dataset | QA retrieval benchmark |
| Embedding | bi-encoder |
| Vector DB | FAISS |
| Top-k retrieval | 10 |
| Reranker | cross encoder |
Baseline 대비 비교
| 방법 | Recall@10 |
|---|---|
| Dense Retrieval | 0.62 |
| RAG + Rerank | 0.71 |
결과 해석
- reranker가 retrieval noise를 줄임
- retrieval quality가 generation 품질에 영향
실패 원인
- embedding mismatch
- query ambiguity
- long context truncation
다음 실험 계획
- hard negative mining 적용
- reranker 모델 확장
- query expansion 실험