0. 개요
- RAGAS는 1. Generation 부분과 2. Retireval 부분을 평가하는 지표가 각 2개씩 대표적으로 있음
1. 신뢰성(Faithfulness)
- 정의: 생성된 응답의 사실적 정확성을 평가.
- 구성 요소:
- 질문: 사용자로부터 받은 원래 질문.
- 문맥: 질문에 대한 배경 정보 또는 참조 문서.
- 생성된 응답: 모델이 생성한 답변.
- 주장 집합: 생성된 응답에서 식별된 주장들.
- 평가 방법:
- Answer 로 부터 Claim 들을 생성 → 생성된 Claim 들이 context로 추론 가능한가?
- 생성된 응답에서 주장들을 식별.
- 각 주장을 문맥과 비교하여 추론 가능한지 판단.
- 신뢰성 점수 계산: 신뢰성 점수=총 주장 수문맥에서 추론 가능한 주장 수
- $$ \text{신뢰성 점수} = \frac{\text{문맥에서 추론 가능한 주장 수}}{\text{총 주장 수}} $$
- 예시:
- 질문: "프랑스는 어디에 위치하고 수도는 무엇인가요?"
- 문맥: "프랑스는 서유럽에 위치하며, 수도는 파리입니다."
- 생성된 응답: "프랑스는 서유럽에 있으며, 파리가 수도입니다."
- 주장 집합: "프랑스는 서유럽에 있다", "파리가 수도이다"
- 점수 계산: 두 주장 모두 문맥에서 추론 가능 → 신뢰성 점수 = 2/2 = 1
2. 답변 적합성(Answer Relevancy)
- 정의: 생성된 답변이 질문과 얼마나 관련 있는지를 평가.
- 구성 요소:
- 질문: 사용자로부터 받은 원래 질문.
- 문맥: 질문에 대한 배경 정보 또는 참조 문서.
- 생성된 응답: 모델이 생성한 답변.
- 인공 질문들: 생성된 답변에서 역으로 생성된 여러 질문들.
- 평가 방법:
- Answer 로 부터 generated Question 생성 → generated Question과 original Question 과의 유사성 판별
- 생성된 답변에서 여러 인공 질문 생성.
- 생성된 질문들과 원래 질문 간의 평균 코사인 유사도 계산:
- $$ \\text{답변 적합성} = \\frac{1}{N} \\sum_{i=1}^{N} \\cos(E_{g_i}, E_o) $$
- 예시:
- 질문: "프랑스는 어디에 위치하고 수도는 무엇인가요?"
- 생성된 응답: "프랑스는 서유럽에 있습니다."
- 인공 질문들:
- "프랑스는 유럽의 어느 지역에 있습니까?"
- "프랑스는 서유럽에 위치해 있습니까?"
- "프랑스는 유럽의 서쪽에 위치합니까?"
- 점수 계산: 각 인공 질문과 원래 질문 간의 코사인 유사도 계산 후 평균
3. 문맥 정밀도(Context Precision)
- 정의: 검색된 문맥 중 얼마나 많은 관련 항목이 상위에 위치하는지를 평가.
- 구성 요소:
- 질문: 사용자로부터 받은 원래 질문.
- 문맥: 질문에 대한 배경 정보 또는 참조 문서.
- 생성된 응답: 모델이 생성한 답변.
- 관련 항목들: 문맥에서 질문에 대한 답변에 직접적으로 관련된 항목들.
- 평가 방법:
- context → chunk → chunk 마다 유사한지 여부 판단 → 최종 precision 계산
- 질문, 정답 및 문맥을 사용하여 계산.
- 정밀도@K 계산:여기서 vk는 순위 k에서의 관련성 지표.
- $$ \text{문맥 정밀도@K} = \frac{\sum_{k=1}^{K} \left( \text{정밀도@k} \times v_k \right)}{\ 상위 K 결과에서의 관련 항목 수} $$
- 예시:
- 질문: "프랑스는 어디에 위치하고 수도는 무엇인가요?"
- 높은 정밀도 문맥:
- "프랑스는 서유럽에 위치하며, 수도는 파리입니다."
- "파리는 프랑스의 수도입니다."
- 낮은 정밀도 문맥:
- "프랑스는 와인과 고급 요리로 유명합니다."
- "파리는 패션의 중심지입니다."
- 점수 계산: 높은 정밀도 문맥이 상위에 위치 → 높은 점수
4. 문맥 재현율(Context Recall)
- 정의: 질문에 답하기 위해 필요한 모든 관련 정보를 검색할 수 있는지를 평가.
- 구성 요소:
- 질문: 사용자로부터 받은 원래 질문.
- 문맥: 질문에 대한 배경 정보 또는 참조 문서.
- 생성된 응답: 모델이 생성한 답변.
- 관련 항목들: 문맥에서 질문에 대한 답변에 직접적으로 관련된 항목들.
- 평가 방법:
- Ground truth를 sentence로 쪼갬 → sentence 가 context에 속하는지 판단
- 정답과 검색된 문맥 간의 관련성을 비교하여 계산.
- 재현율 계산:
- $$ \text{문맥 재현율} = \frac{\ 정답과 일치하는 관련 문맥 수}{총 관련 문맥 수} $$
- 예시:
- 질문: "프랑스는 어디에 위치하고 수도는 무엇인가요?"
- 문맥: "프랑스는 서유럽에 위치하며, 수도는 파리입니다."
- 생성된 문맥:
- "프랑스는 서유럽에 있습니다."
- "파리가 수도입니다."
- 점수 계산: 생성된 문맥이 모든 관련 정보를 포함 → 문맥 재현율 = 2/2 = 1
이 네 가지 메트릭은 LLM 및 RAG 응용 프로그램의 성능을 평가하고 개선하는 데 중요한 역할을 합니다.
이를 통해 사용자에게 신뢰성 있고 관련성 높은 응답을 제공할 수 있습니다.
자세한 설명은 RAGAS 공식 문서에서 확인할 수 있습니다.