RAG(Retrieval Augmented Generation) 시스템은 정보 검색(Retrieval)과 텍스트 생성(Generation)이라는 두 가지 핵심 요소로 구성됩니다. 이 시스템의 성능을 효과적으로 평가하기 위해서는 각 요소를 독립적으로, 그리고 전체 시스템을 통합적으로 평가하는 것이 중요합니다. 이 글에서는 RAG 시스템 평가에 사용되는 다양한 방법론과 메트릭에 대해 살펴보겠습니다.
1. RAG 평가의 기본 개념
RAG 시스템은 일반적으로 Retrieval(검색)과 Generation(생성) 부분으로 나누어 평가합니다. 하지만 Retrieval의 성능이 Generation의 성능에 직접적인 영향을 미치기 때문에, 두 요소를 완벽하게 분리해서 평가하는 것은 불가능합니다. 이러한 복잡성을 고려하여 RAG 평가는 크게 두 가지 접근 방식으로 진행됩니다.
- 정성적 평가: 주관적 판단에 기반한 평가
- 정량적 평가: 수치화된 메트릭을 통한 객관적 평가
이 두 방식을 적절히 조합하여 RAG 시스템의 성능을 종합적으로 판단할 수 있습니다.
2. 정성적 평가 방법
정성적 평가는 연구자나 도메인 전문가의 주관적 판단에 의해 이루어지는 평가 방식입니다.
1) 장점
- 도메인 전문가의 지식과 경험을 바탕으로 한 심층적인 평가 가능
- 맥락과 의미를 고려한 질적 평가 가능
- 수치화하기 어려운 미묘한 차이나 뉘앙스 포착 가능
2) 단점
- 평가자의 주관에 따라 결과가 달라질 수 있음
- 대규모 평가에 시간과 비용이 많이 소요됨
- 재현성이 낮을 수 있음
3) 적용 분야
- Retrieval: Langsmith와 같은 추적 도구를 사용하거나 답변 생성 과정 출력을 통해 검색된 컨텍스트를 직접 확인
- Generation: 최종 답변의 적합성, 허위 정보 포함 여부, 컨텍스트와의 일치성 등을 판단
정성적 평가는 특히 도메인 전문가의 판단이 중요한 분야에서 정량적 평가보다 더 신뢰할 만한 결과를 제공할 수 있습니다.
3. 정량적 평가 방법
정량적 평가는 객관적인 수치를 통해 시스템의 성능을 측정하는 방식입니다.
1) 장점
- 판단을 수치화하여 객관적인 비교 가능
- 평가 데이터셋 구축이 선행되어야 함
- 재현성이 높고 대규모 평가에 적합
2) 고려사항
- 평가 데이터셋의 품질과 다양성이 결과에 큰 영향을 미침
- 데이터셋 구축 시 "어느 정도의 양이 필요한가"에 대한 고민 필요
- 정성적 평가와 정량적 평가를 융합한 새로운 메트릭 개발 가능성 존재
3) 적용 분야
- Retrieval: Context Precision, Context Recall 등의 메트릭으로 검색 성능 평가
- Generation: Faithfulness, Answer Relevancy 등의 지표로 생성 품질 평가
- Total Process: Answer Correctness, Answer Semantic Similarity 등으로 전체 파이프라인 평가
4. Ragas 평가 메트릭 상세 분석
Ragas는 RAG 시스템 평가를 위한 주요 메트릭을 제공하는 프레임워크입니다. 각 메트릭은 0~1 사이의 값을 가지며, 높을수록 더 좋은 성능을 의미합니다.
1) Generation 평가 메트릭
Faithfulness (충실도)
- 목적: 생성된 답변이 얼마나 제공된 컨텍스트에 충실한지 평가
- 의미: 답변이 컨텍스트에 기반하여 생성되었는지, 아니면 LLM의 사전 지식에 의존했는지 판단
- 중요성: 컨텍스트가 잘못되었는데도 LLM이 자체 지식으로 올바른 답변을 생성하는 경우도 hallucination으로 간주될 수 있음
Answer Relevancy (답변 관련성)
- 목적: 생성된 답변이 주어진 질문에 적절히 대응하는지 평가
- 평가 방식: 생성된 답변을 기반으로 LLM을 통해 역으로 질문을 생성한 후, 이 질문과 실제 질문 간의 코사인 유사도 계산
- 중요성: 답변이 질문의 의도를 정확히 파악했는지 확인 가능
2) Retrieval 평가 메트릭
Context Precision (컨텍스트 정밀도)
- 목적: 검색된 컨텍스트 중 질문과 관련된 정보의 비율 측정
- 고려사항: 검색할 문서 개수에 따라 점수가 달라질 수 있음
- 중요성: 검색된 정보의 품질과 관련성 평가
Context Recall (컨텍스트 재현율)
- 목적: 검색된 컨텍스트가 필요한 정보를 얼마나 포함하는지 평가
- 평가 방식: Ground truth에 포함된 statement 중 검색된 컨텍스트에 포함된 비율 계산
- 중요성: 답변 생성에 필요한 정보가 누락 없이 포함되었는지 확인
Context Relevancy (컨텍스트 적합성)
- 목적: 컨텍스트에 관련 없는 내용이 얼마나 포함되었는지 평가
- 계산 방식: 전체 추출한 컨텍스트 문장 수 중 적합 문장의 비율 계산
- 고려사항: 컨텍스트 길이에 따라 값이 달라질 수 있음 (길이가 길수록 오류 정보도 많이 포함될 가능성)
3) End-to-End 평가 메트릭
Answer Semantic Similarity (답변 의미적 유사도)
- 목적: 생성된 답변과 Ground Truth 간의 의미적 유사성 평가
- 계산 방식: 벡터 임베딩을 통한 유사도 평균 계산
- 의미: 답변이 정답과 얼마나 의미적으로 가까운지 측정
Answer Correctness (답변 정확도)
- 목적: 생성된 답변의 사실적 정확성 평가
- 특징: 단순한 문장 유사성이 아닌 사실적 내용의 정확성 평가
- 의미: Semantic Similarity와 달리 내용의 정확성에 중점
5. RAG 평가의 실제 적용
RAG 시스템 평가를 실제로 적용할 때 고려해야 할 점들입니다.
1) 통합적 평가의 중요성
- Retrieval과 Generation 각각의 평가뿐만 아니라 전체 시스템의 성능 평가 필요
- 개별 구성 요소의 성능이 좋아도 전체 시스템의 성능이 반드시 우수하다고 볼 수 없음
2) 도메인 특성 고려
- 특정 도메인에 따라 중요시되는 메트릭이 다를 수 있음
- 의료, 법률 등 정확성이 중요한 분야에서는 Faithfulness와 Answer Correctness가 더 중요할 수 있음
- 일반적인 질의응답에서는 Context Relevancy와 Answer Relevancy가 더 중요할 수 있음
3) 평가 데이터셋 구축
- 다양한 질문 유형과 난이도를 포함한 균형 잡힌 데이터셋 필요
- 도메인 전문가의 검증을 거친 Ground Truth 구축
- 정기적인 데이터셋 업데이트로 시스템 발전 추적
4) 정성적 평가와 정량적 평가의 균형
- 두 평가 방식의 장단점을 상호 보완하는 평가 체계 구축
- 정량적 메트릭으로 대규모 평가 후, 중요 사례에 대해 정성적 평가 진행
- 사용자 피드백과 전문가 평가를 함께 고려
RAG 시스템의 평가는 여러가지 벤치마크 데이터셋이 존재하고 다양한 기법이 존재합니다. 그 중 상황에 맞게 알맞은 방법을 선택하고 평가를 진행할 수 있도록 많은 공부가 필요하겠다는 생각이 들었습니다.
참고자료
https://velog.io/@cathx618/RAG-%ED%8F%89%EA%B0%80-%EB%B0%A9%EB%B2%95-%EC%A0%95%EB%A6%AC
'LLMops' 카테고리의 다른 글
[Prompt Engineering] 프롬프트 엔지니어링의 기초 기법들 (0) | 2025.04.29 |
---|---|
[LLM 평가]LLM 및 RAG 평가 프레임워크 비교 분석 (0) | 2025.04.18 |
[LLM 평가] LLM 모델 자체 평가 (1) | 2025.04.07 |
[LLM 서빙] vLLM vs sglang (0) | 2025.04.04 |
[LLMops] Opik으로 LLM 평가하기 (0) | 2025.03.28 |