https://arxiv.org/pdf/2309.15217
[1][2] 초록, 서론 핵심 내용
RAGAS란?
"Retrieval Augmented Generation Assessment"의 약자로, 검색 증강 생성(RAG) 시스템을 평가할 수 있는 프레임워크를 의미한다.
RAG 평가에 있어 기존의 한계는?
RAG 시스템의 성능은 여러 가지 요소(검색 모델, 데이터셋, LLM, 프롬프트 설계 등)에 따라 달라질 수 있으며, 각 요소를 최적화하는 데 시간과 노력이 필요하다.
- RAG 시스템은 종종 언어 모델링 과제(예: perplexity 측정)로 평가되는데
- 하지만 이는 실제 성능을 예측하는 데 늘 적합하지는 않을 뿐더러
- 특히 ChatGPT와 같은 closed 모델의 데이터에 접근할 수 없음
- 다른 방법으로는 질문 응답 데이터셋(QA datasets)을 사용하는 평가가 있지만,
- 이는 시스템 사용 방식의 전체 스펙트럼을 포괄하지 못할 수 있음
RAGAS의 핵심 기여
- 사람의 주석(annotation)을 요구하지 않고도 RAG 시스템의 다양한 측면을 평가할 수 있는 지표(metric) 세트 제공
- WikiEval이라는 새로운 데이터셋 소개 - RAGAS 메트릭이 인간의 평가와 얼마나 잘 일치하는지 검증 가능
- llamaindex와 Langchain 통합 + 개발자가 기존 워크플로에 쉽게 RAGAS를 통합할 수 있도록 지원
- 이를 통해 RAG 시스템의 빠른 평가와 개발 가능
[3] Evaluation Strategies 평가 전략
기본 구조
- 질문 q 입력
- 관련 컨텍스트 c(q) 검색
- 검색된 컨텍스트를 바탕으로 답변 as(q)를 생성
- 참조 없는(reference-free) 평가 시작
We now explain how these three quality aspects can be measured in a fully automated way, by prompting an LLM.
거의 모든 단계에서 LLM을 이용하고, prompting을 통해 원하는 바를 달성해냄 -> 따라서 간단하게 느껴질수는 있으나, 그만큼 자원과 비용이 굉장히 많이 요구될 수 있는 방법이라는 점에 대해서 숙지를 하면 좋을 것으로 생각됨.
평가 요소
1. 신뢰성(Faithfulness)
Faithfulness refers to the idea that the answer should be grounded in the given context.
RAG 시스템이 생성한 답변이 주어진 컨텍스트에 얼마나 충실한가?
Faithfulness 측정은 아래와 같은 3단계로 이루어짐.
[1] 답변 분해 단계 | [2] 검증 단계 | [3] 최종 점수 산출 단계 |
평가 대상 모델이 답변을 생성했다면, LLM을 사용해서 명제 집합 S(as(q)) -> 즉 생성된 답변을 더 작은 진술(statements)들로 분해를 한다. ![]() |
[1]단계에서 추출한 각 문장 si에 대해 LLM은 함수 v(si, c(q))를 사용하여 c(q)로부터 si를 추론할 수 있는지를 검증함![]() 즉, [1]단계에서 분해한 여러 개의 statements에 대해 각각이 주어진 컨텍스트로부터 추론 가능한지 LLM을 사용해 판단한다. |
|V|는 LLM에 의해 지지된다고 판단된 진술의 수이고, |S|는 총 진술 수를 의미함![]() 즉, 지지되는 진술의 수를 전체 진술 수로 나눠 최종 점수를 산출 |
2. 답변 적합성(Answer Relevance)
the generated answer should address the actual question that was provided
생성된 답변이 주어진 질문을 얼마나 직접적으로 다루고 있는가?
AR 측정은 아래와 같은 4단계로 이루어짐.
[1] 답변 기반 질문 생성 단계 | [2] 임베딩 생성 단계 | [3] 유사도 계산 단계 | [4] 최종 점수 산출 단계 |
주어진 답변 as(q)를 바탕으로 LLM에게 n개의 잠재적 질문 qi를 생성하도록 요청 여기서 [answer]는 평가하고자 하는 답변을 말하며, 일반적으로 3개의 질문을 생성하여 평가한다고 함. |
생성된 모든 질문과 원래 질문에 대해 임베딩을 생성하는 단계 본 논문 RAGAS에서는 OpenAI API의 text-embedding-ada-002 모델 사용한다고 밝힘 |
각 생성된 질문 qi에 대해, 원래 질문 q와의 유사도 sim(q, qi)를 계산 이 유사도는 해당 임베딩 간의 코사인 유사도로 측정 |
모든 코사인 유사도의 평균을 내어 AR 계산 만약 생성된 답변이 원래 질문을 잘 다루고 있다면, 그 답변으로부터 역으로 생성된 질문들도 원래 질문과 유사할 것이라는 가정에 기반함 |
이 방법은 ground truth answer가 없어도 평가할 수 있는 "reference-free" 메트릭임.
3. 컨텍스트 적합성(Context Relevance)
the retrieved context should be focused, containing as little irrelevant information as possible.
검색된 컨텍스트 c(q)가 주어진 질문 q에 답하는 데 필요한 정보를 얼마나 집중적으로 포함하는가?
- 정의: 검색된 컨텍스트가 질문에 필요한 정보만 포함하는지 여부를 평가
CR 측정은 아래와 같은 2단계로 이루어짐.
[1] 중요 문장 추출 단계 | [2] 최종 점수 산출 단계 |
어진 질문 q와 컨텍스트 c(q)에 대해, LLM(대규모 언어 모델)을 사용하여 q에 답하는 데 중요한 문장들의 부분집합 Sext를 추출 관련 문장이 없거나 컨텍스트로 질문에 답할 수 없다고 판단되면 "Insufficient Information" 반환함. 또한 문장을 추출할 때 원본 컨텍스트의 문장을 변경하지 않고 그대로 사용함. |
분자: LLM이 중요하다고 판단한 문장의 수 분모: 원본 컨텍스트 c(q)에 포함된 총 문장의 수 |
이 평가는 주어진 질문에 대해 검색된 컨텍스트 자체의 품질을 판단하는 것에 초점을 맞추며, LLM이 생성한 답변은 고려하지 않고 있음.
[4] The WikiEval Dataset
RAGAS 프레임워크를 평가하기 위해 새로 만든 데이터셋으로, 이 데이터셋을 통해 RAGAS 프레임워크를 통한 평가 지표가 human annotation - 인간의 평가 지표와 얼만큼 유사한가(to what extent our metrics agree with human assessments)를 확인해 보고자 하였다고 함.
데이터셋 구축 과정
- 50개의 위키피디아 페이지 선택 (2022년 이후 발생한 사건, 최근에 편집된 페이지들을 우선적으로 선택)
- ChatGPT를 사용하여 각 페이지의 소개 섹션을 바탕으로 질문 생성 (특정 규칙을 따르는 프롬프트 사용 - 예를 들어 컨텍스트에서 완전히 답변 가능한 질문, 중간 난이도의 질문 등)
- ChatGPT를 사용하여 생성된 질문에 대한 답변 생성 (해당 페이지의 소개 섹션을 컨텍스트로 제공)
인간 평가자의 주석 작업
두 명의 휴먼 평가자가 모든 질문에 대해 3가지를 직접 평가함(신뢰성, 답변 적합성, 컨텍스트 적합성)
- 평가자들은 영어에 능통하며 각 품질 차원의 의미에 대해 명확한 지침을 받았다고 함
- 신뢰성과 컨텍스트 적합성: 약 95%의 경우에 두 평가자 간 의견이 일치했다고 함
- 답변 적합성: 약 90%의 경우에 두 평가자 간 의견이 일치했다고 함
- 의견 불일치는 평가자들 간의 토론을 통해 해결했다고 함
[5] Experiments 실험
비교 대상
RAGAS의 성능을 맥락화하기 위해 두 가지 기준 방법과 비교
- GPT Score: ChatGPT에 세 가지 품질 차원에 대해 0에서 10 사이의 점수를 할당하도록 요청
- GPT Ranking: ChatGPT에 선호하는 답변/컨텍스트를 선택하도록 요청
실험 결과
- RAGAS의 메트릭들이 두 기준 방법보다 인간의 판단과 훨씬 더 일치했음
- 신뢰성(Faithfulness) 평가에서 RAGAS의 예측은 일반적으로 매우 정확했음(0.95의 정확도).
- 답변 적합성(Answer Relevance) 평가에서는 정확도가 다소 낮았는데(0.78), 이는 주로 두 후보 답변 간의 차이가 매우 미묘한 경우가 많기 때문이었다고 함.
- 컨텍스트 적합성(Context Relevance)이 가장 평가하기 어려운 품질 차원으로 나타났음(0.70의 정확도).
추가 관찰
연구자들은 컨텍스트 적합성 평가에서 특히 긴 컨텍스트의 경우 ChatGPT가 중요한 문장을 선택하는 작업에 어려움을 겪는 것을 관찰했다고 함
[6] Conclusions
생략.