https://arxiv.org/abs/2311.09476
ARES: An Automated Evaluation Framework for Retrieval-Augmented Generation Systems
Evaluating retrieval-augmented generation (RAG) systems traditionally relies on hand annotations for input queries, passages to retrieve, and responses to generate. We introduce ARES, an Automated RAG Evaluation System, for evaluating RAG systems along the
arxiv.org
2023.11
Jon Saad-Falcon, Christopher Potts, Omar Khattab, Matei Zaharia
공식 깃허브 : https://github.com/stanford-futuredata/ARES
GitHub - stanford-futuredata/ARES
Contribute to stanford-futuredata/ARES development by creating an account on GitHub.
github.com
0. Abstract
RAG(Retrieval-Augmented Generation) 시스템의 평가에는 전통적으로 입력 쿼리, 검색할 문서, 생성할 응답에 대한 인간의 개입이 필요한 수작업 주석이 필요했다. 이 논문에서는 이러한 평가를 자동화할 수 있는 ARES(Automated Rag Evaluation System)를 소개한다. ARES는 RAG 시스템을 "Context Relevance", "Answer Faithfulness", "Answer Relevance" 3가지 측면에서 평가한다.
1. Introduction
RAG 평가의 도전 과제: 평가시스템을 만들기 위해서 어떤 점이 고려되어야할까?
RAG 시스템의 복잡성: RAG 시스템은 검색 메커니즘, 언어 모델, 프롬프트 엔지니어링 프로세스 등 다양한 구성 요소로 이루어져 있다. 이러한 시스템을 전체적으로 평가하는 것은 각 구성 요소의 성능 문제를 파악하기 어렵게 만든다. 따라서 각 구성 요소를 독립적으로 평가할 수 있는 자동화된 시스템이 필요하다.
RAG 아키텍처의 가변성: RAG 시스템은 도메인 및 사용 가능한 데이터에 따라 성능이 크게 달라질 수 있다. 자동화된 평가 시스템을 통해 다양한 설정을 신속하게 A/B 테스트하여 특정 사용 사례에 가장 적합한 구성을 찾을 수 있다.
빠른 평가 프레임워크의 필요성: 다른 AI 시스템과 마찬가지로, RAG 모델의 성능은 지속적인 반복, 개선 및 재평가를 통해 향상된다. 자동화된 시스템은 이러한 주기를 가속화하여 빠른 발전을 가능하게 할 수 있다.
비용 문제 : 기존의 많은 RAG 평가 프레임워크는 채점을 위해 상당한 사람이 작성한 주석이 필요로한다. 광범위한 수작업 주석은 시간과 비용이 엄청나게 많이 들고 불일치가 발생할 수 있어 문제로 여겨진다.
2. ARES
ARES는 기존의 평가방식과 달리 3가지 input만을 요구하면서 데이터 효율성을 크게 향상시킨다.
- 도메인 내 통과 세트
- 약 150개 이상의 주석이 달린 데이터 포인트로 구성된 인간 선호도 검증 세트
- 합성 데이터 생성에서 LLM을 촉구하는 데 사용되는 도메인 내 쿼리 및 답변의 퓨샷 예제
문서 코퍼스와 RAG 시스템이 주어져있을때 ARES는 3가지 평가 점수를 제공한다.
- context relevance (검색된 정보가 질문과 얼만큼 관련성이 있는지)
- answer faithfulness (검색된 정보들로 부터 적절하게 대답이 생성되었는지)
- answer relevance (대답이 질문과 얼만큼 관련성이 있는지)
이를 어떻게 얻을 수 있을까? 이는 3가지 step에 기반한다.
1단계. 합성 데이터 세트의 LLM 생성
ARES는 대규모 언어 모델을 이용해서 특정 도메인에 관련된 ‘질문, context, 응답’ 형식의 데이터 세트를 만든다. 구체적으로 다음과 같은 절차를 따르는데
- 특정 도메인에 관한 구문 집합과 몇 가지 예제 문장을 언어모델에 입력한다. 이 구문들은 해당 도메인의 전문적인 지식이나 일상적인 질문을 반영할 수 있다.
- 긍정 예제 생성 : 언어 모델은 입력된 context에 기초하여 적절한 질문(쿼리)를 만들고 그에 대한 답변을 생성한다.
- 부정 예제 생성 : 동시에 언어모델은 관련이 없거나 모순된 답변을 생성하여 부정적인 예제도 만든다. 예를 들어 무작위로 샘플링한 구문을 사용하여 질문이나 답변을 만들거나 질문과 모순된 답변을 만듦으로써 수행할 수 있다.
- 이렇게 데이터 세트를 형성할 수 있다.
2단계. LLM 판정자 준비하기
특정 평가 지표에 대해서 LLM 판정자를 훈련하는 단계이다. 이때 평가지표는 다음과 같다. 앞서 보았던 평가 점수 제공 기준과도 같다.
- context relevance : 사용자의 질문과 제공된 정보의 콘텍스트가 서로 관련이 있는지 여부를 판단
- answer faithfulness : 답변이 제공된 문맥 정보와 일치하는지를 판단
- answer relevance : 쿼리와 주어진 맥락을 고려했들때 답변이 얼만큼 관련성이 있게 생성되었는지를 판단
각각의 지표에서 각각의 LLM은 이진 분류로 긍정 예제인지 부정 예제인지 미세조정된다. 미세조정을 하기 위해서 ARES는 인간 선호도 검증 세트를 사용하여 성능을 평가하면서 훈련된다. (소규모의 인간 주석 데이터가 사용되는 부분이다.)
3단계. 신뢰 구간으로 RAG 시스템 순위 매기기
ARES는 fine-tuning된 판정자들을 이용해 각 평가 지표에 대해 여러 RAG 시스템의 쿼리-문맥-답변 출력에 점수를 매긴다.
# Scoring a RAG system's output
query, context, answer = rag_system.generate(input)
rel_score = context_relevance_judge(query, context)
faith_score = answer_faithfulness_judge(answer, context)
ans_rel_score = answer_relevance_judge(answer, query, context)
신뢰도 추정
robust한 평가를 위해 ARES는 인간 선호도 검증 세트를 사용하는 예측 기반 추론 (PPI)를 사용한다.
PPI는 단순하게 말해, 판정자들의 점수를 보정하는 통계 기법이다. 이 방법은 판정자가 부여한 점수와 실제 기준 정답간의 관계를 학습해 판정자의 점수를 신뢰할 수 있는 구간으로 변환한다.
3. ARES Ranking
위의 설명한 방법들로 ARES를 통해 RAG 시스템의 순위를 매길 수 있는데 아래의 표를 보면 다양한 데이터넷(ex. NQ, HotpotQA, …)를 이용해 RAG 시스템을 평가한 결과를 볼 수 있다.
- Kendall’s Tau: 각 시스템의 순위와 샘플된 주석, RAGAS, GPT-3.5 판정자의 순위 간의 켄달 순위 상관 계수를 나타낸다. 이 계수는 예측된 순위와 실제 순위 간의 상관관계를 측정하며, 값이 1에 가까울수록 완벽한 일치를 의미한다.
- C.R과 A.R은 앞서 우리가 위에서 보았던 문맥 관련성 Context Relevance와 답변 관련성 Answer Relevance를 평가한 점수로 높을수록 관련이 있다는 의미이다.
- RAGAS Accuracy, GPT-3.5 Judge Accuracy, and ARES Accuracy는 각 시스템에 대한 정확성을 평가하는 지표로, RAGAS, GPT-3.5 판정자, 그리고 ARES 판정자의 평가 결과를 나타낸다.
4. Conclusion
ARES는 이러한 접근을 통해 RAG 시스템의 핵심 기능을 자동화하고, 개발자들이 빠르게 반복하고 실패 모드를 분석하며 목표 최적화를 구현할 수 있도록 지원한다. 자동화된 평가 프레임워크(ARES)의 도입은 RAG 시스템의 성능을 신속하게 평가하고 개선하는 데 중요한 역할을 할 수 있다.
5. Limitations
ARES의 한계는 3가지가 존재한다.
- 인간 주석 데이터의 한계 : 이는 해당 도메인에서 전문적으로 주석을 달 수 있는 사람이 필요하다는 문제이다. 상대적으로 데이터 크기가 작지만 어쩔 수 없이 비용과 시간이 소요되는 과정이다.
- 하드위어 요구사항 : 고성능 GPU가 사용되며 파인튜닝 및 합성 데이터 생성 작업에 오랜 시간이 소요된다.
- 언어의 한계 : ARES에서 사용된 모든 데이터셋은 영어라서 다양한 언어로의 확장을 고려해야한다.
이러한 한계들에도 불구하고, ARES는 여전히 RAG 시스템의 성능을 평가하고 개선하는 데 매우 유용한 도구이다.
Reference
'AI&ML > paper review' 카테고리의 다른 글
[paper review] 3Difftection: 3D Object Detection with Geometry-aware diffusion features (2) | 2024.07.07 |
---|---|
[paper review] RAG의 시작 (0) | 2024.05.02 |
[paper review] inception의 발달 과정 (0) | 2023.04.07 |
[ML/DL] 각광받지 못한 1등, GoogLeNet (0) | 2023.03.21 |
댓글