RAG 평가
RAG 시스템의 성능을 측정하고 개선하는 방법
RAG 평가의 중요성
측정하지 않으면 개선할 수 없다
RAG 시스템은 검색과 생성 두 단계가 있어 평가가 복잡합니다. 체계적인 평가 없이는 어디를 개선해야 하는지 알 수 없습니다.
- 검색이 잘되어도 생성이 실패할 수 있음
- 생성이 잘 되어도 검색된 문서와 무관할 수 있음
- 정답이 여러 개일 수 있음 (open-ended)
- 사람의 주관적 판단이 필요한 경우가 많음
평가 프레임워크
3가지 평가 영역
RAG 평가는 크게 검색 품질, 생성 품질, End-to-End 품질로 나눌 수 있습니다.
RAGAS 프레임워크
RAG Assessment
RAGAS는 RAG 시스템을 평가하기 위한 표준 프레임워크입니다. LLM을 사용한 자동 평가로, 레이블 없이도 품질을 측정할 수 있습니다.
RAGAS 핵심 메트릭
LLM-as-a-Judge
LLM을 사용한 자동 평가
LLM을 사용하여 다른 LLM의 출력을 평가하는 방법입니다. 사람 평가의 대안으로 널리 사용됩니다.
- Position Bias: 첫 번째/마지막 옵션 선호 경향
- Self-Enhancement: 같은 모델의 출력에 높은 점수
- Verbosity Bias: 긴 답변에 높은 점수 경향
- 중요한 결정은 사람 평가와 병행 권장
평가 데이터셋 구축
테스트 데이터 준비
LLM에게 문서를 주고 다양한 유형의 질문을 생성하게 할 수 있습니다. "이 문서를 읽고 사실 질문 3개, 추론 질문 2개를 만들어주세요"
A/B 테스트 및 비교
변경의 실제 효과 검증
RAG 시스템의 변경(청킹 전략, 임베딩 모델, 프롬프트 등)이 실제로 개선을 가져오는지 비교합니다.
- 동일한 테스트셋 사용
- 충분한 샘플 크기 (통계적 유의성)
- 여러 메트릭 종합 고려
- 비용과 지연 시간도 함께 측정
평가 도구
RAG 평가를 위한 도구들
Python 라이브러리
트레이싱 + 평가
LLM 관찰성
평가 프레임워크
CI/CD 통합
자동화 테스트
| 도구 | 주요 기능 | 적합한 용도 |
|---|---|---|
| RAGAS | 표준 RAG 메트릭, 레이블 불필요 | 빠른 RAG 평가 |
| LangSmith | 트레이싱, 피드백, 데이터셋 관리 | LangChain 프로젝트 |
| TruLens | 커스텀 피드백 함수, 대시보드 | 상세 분석 필요시 |
| DeepEval | pytest 스타일, CI/CD 통합 | 자동화 테스트 |
핵심 요약
- 3가지 평가 영역 - 검색 / 생성 / End-to-End
- RAGAS - Faithfulness, Relevancy, Precision
- LLM-as-Judge - 자동화된 품질 평가
- A/B 테스트 - 변경의 실제 효과 검증