Machine Learning/RAG

[RAG]기술의 각 방법론 및 성능 평가

뚜둔뚜둔 2025. 4. 6. 12:24

고급 RAG 기술의 각 방법론 및 성능 평가: 검색 및 생성 성능 중심

 

Retrieval-Augmented Generation(RAG)는 외부 지식 소스로 부터 추가적인 정보를 통합하여 대형 언어 모델(LLM)을 개선하는 과정이다, 이를 통해 LLM은 더 정확하고 문맥을 고려할 수 있는 답변은 생성하며, 환각(hallucination)을 방지할 수 있게 되었다. 이러한 장점을 가진 RAG는 2023년 이후 LLM 기반 시스템에서 범용적으로 사용되는 아키텍처로 자리 잡았다.

RAG Framework의 3가지 범주

  1. Navie RAG
  2. Adavanced RAG
  3. Modular RAG

 

1. Naive RAG

1-1. Navie RAG의 개념 및 설명

기본 RAG (Retrieval-Augmented Generation)은 RAG연구의 초기 방법론을 지칭.

전통적인 인덱싱, 검색 및 생성 과정을 포함하고 있음. 기본 RAG는 주로 간단한 검색 및 생성 방식에 초점을 맞추고 있으며, RAG의 기본 개념과 원리를 이해하는데 중요. 

이 기술은 검색, 증강, 생성을 통해 사용자에게 빠르고 정확한 답변을 제공하는 것을 목표로 함.

특히, 최신 정보 검색, 벡터화, 벡터 유사성 검색을 사용해 정보를 증강하고 생성형 AI를 결합함으로써 대규모 언어모델LLM이 더 신뢰할 수 있는 결과를 산출할 수 있게 함

 

1-2. Navie RAG의 장점

기본 RAG의 장점은 비용 효율성과 LLM만 사용하는 것보다 뛰어난 성능을 제공

또한, 기본 RAG는 다양한 문서 집합에서 관련 정보를 검색하고 이를 이용해 응답을 생성함으로썼 LLM의 지식 시대에 뒤떨어짐, 특정 영역에서 대한 지식 부족, 그리고 응답의 튜명성 부족 문제를 해결하는 데 도윰울 줌.→ 이를 통해서 사용자 신뢰성을 강화하고 출력에 대한 신뢰도를 높임


1-3. Navie RAG의 단점

기본 RAG의 단점으로는 낮은 검색 정확도, 응답 생성의 낮은 품질, 증강 과정의 어려움등이 있음. 이로 인해 불필요한 반복, 부정확한 정보, 잘못된 문맥의 통합 등이 발생할 수 있음. 또한, 기본 RAG는 많은 단점들이 있어 고급 RAG와 모듈형 RAG가 등장하게 되었으며, 이들은 이러한 특정 결함을 해결하기 위한 노력의 일환으로 개발 됨


1-4. Navie RAG의 검색 성능

기본 RAG의 검색 성능은 Recall 과 같ㅇ느 지표를 통해 평가. 이는 검색된 정보가 질문의 정답과 얼마나 일치하는지를 측정하는 방식. 검색된 정보가 질문의 정답과 관련된 정ㅂ보가 상위 순위에 잘 랭크rank되어 있는지 판단하는 정확성을 판단하는 정확성을 바탕으로 측정. 기본 RAG는 이러한 검색 성능을 통해 질문에 대해 빠르고 정확한 답변을 제공하는데 중점을 둠


1-5. Navie RAG의 답변 생성 성능

기본 RAG의 답변 생성 성능은 생성된 답변이 벡터 디비에서 검색된 정보와 얼마나 일치하는지를 측정하거나, 주어진 질문과 관련성이 높은지를 판단하여 점수화함. 생성된 답변의 품질은 특히 지식집약적인 작업에서 매우 중요하게 평가됨. 또한, 기본 RAG는 정량적으로 품질 평가를 하고 그 결과를 반영하여 개선된 답변을 생성하는 중요한 과정을 포함

 

2. Advanced RAG

2-1. advanced RAG의 개념 및 설명

고급 RAG는 Retrieval(검색), Augmentation(증강), generation(생성)이라는 세단계로 이루어진 기술

이 기술은 사용자의 질문에 대해 빠르고 정확하게 답변을 제공하기 위해 각 단계를 협력하여 작동. 특히 벡터화 기술을 활용하여 최신 정보 검색과 증강을 수행한 후, 이를 바탕으로 생성형 AI가 답변을 생성하는 과정을 거침.

이를 통해 LLM은 더 정확하고 신뢰할 수 있는 결과물을 생성

 

2-2. advanced RAG의 장점

고급 RAG는 정보 검색과 이해 능ㄹ력을 더욱 향상시키며, 사용자가 요구하는 최신 정보를 빠르게 제공할 수 있음. 

고급 RAG는 저작권 표시와 같ㅇ느 사용자 신뢰성 강화와 개발자의 제어 능력 강화를 통해 기업에서 더 광범위한 어플리케이션을 위해 생성형 AI기술 보다 자신 있게 구현할 수 있도록 도움.

또한, 다양한 엣지 케이스를 포함한 평가 기준을 통해 고급 RAG의 성능을 측정하고 개선할 수 있음

 

2-3. advanced RAG의 단점

1. 높은 자원 소모로 비용이 많이 듦.

2. 검색된 문서들에 노이즈가 포함되어 있거나, 사실과 모순되는 내용이 포함될 경우 견고성이 떨어짐.

 

2-4. advanced RAG의 검색 성능

고급 RAG의 검색 성능은 Recall과 검색된 정보의 정확성, 그리고 관련 정보의 rank 여부를 가쥰으로 평가.

ex.RAGAS는 사용자 질의와 유사한 문맥을 식별하고, 검색 결과를 활용하는 능력, 생성된 답변의 품질을 중점적으로 평가.

→ 이런 설정하에 검색 성능을 측정함으로써 높은 정확도의 정보를 사용자에게 제공

 

2-5. advanced RAG의 답변 생성 성능

고급 RAG의 답변 생성은 벡터디비에서 검색된 정보와 생성된 답변의 일치도, 그리고 주어진 질문과 답변의 관련성에 기반하여 평가

 2-6. Advanced RAG 고려사항

  • 문서와 쿼리의 semantic representation의 정확성을 어떻게 극대화 할 수 있을까?
  • 쿼리와 문서(청크)의 semantic space를 어떻게 align시킬 수 있을까?
  • Retrieval의 출력을 LLM의 선호도에 맞게 조정할 수 있는 방법이 무엇일까?

위의 3가지 고찰을 보완하기 위해 Pre-Retreival 및 post-Retrieval를 기존 RAG 아키텍처에 추가한 것이 Advanced RAG이다.

 

2-6-1. Pre-Retrieval

주요 목적은 색인 구조와 사용자 쿼리를 개선

  • 데이터 품질 향상: 엔터티와 용어의 모호성을 제거하고, 사실 정확성을 위해 문맥 유지 및 새로운 정보를 업데이트
  • 인덱스 구조 최적화: 청크 크기를 최적화 하여 문맥을 일정화하고 엔터티 간의 관계를 포착하기 위해 그래프 구조의 정보를 추가
  • 메타 데이터 추가: dates, chapters, subsections, purposes등과 같은 관련 정보를 청크에 메타 데이터로 추가하여 데이터 필터링을 개선
  • 청크 최적화: 외부 데이터 소스/문서를 사용하여 RAG 파이프 라인을 구축할 때, 청크를 더 작은 조각으로나누어 세부적인 특성을 추출함. 그다음 청크를 임베딩하여 내포하고 있는 의미를 도출

2-6-2. Retrieval

청크 크기가 결정된 후, 임베딩. 해당 단계에서는 쿼리와 임베딩된 청크 간의 유사성을 계싼하여 가장 관련성 높은 청크를 식별.

→ 여기서 쿼리와 청크에 사용되는 임베딩 모델을 최적화 할 수 있음

  • Domain Knowledge Fine-Tuning: 임베딩 모델이 각 도메인별 정보를 정확하게 포착할 수 있도록, 도메인 특화 데이터 셋을 사용하여 Fine-tunning한다. 이를 위한 데이터 셋에는 쿼리, 코퍼스 및 관련 문서가 포함되어야함
  • Dynamic Embedding: 단어가 등장하는 맥락에 맞춰 임베딩을 fine-tuning하는 방식이다. 이는 각 단어에 대한 하나의 벡터마을 사용하여 각 토큰 당 정해진 임베딩을 리턴하는 방식이 아니라 주변 단어에 따라 맥락을 고려할 수 있는 BERT를 사용하는 것과 같음

2-6-3. Post-Retrieval

관련된 정보(청크)들을 vectorDB 내에서 검색한 후, 쿼리와 함께 LLM에 입력. 하지만 검색된 청크들이 간혹 중복이 되거나 의미 없는 정보를 담는 경우가 발생하게 되는데, 이는 LLM이 주어진 컨텍스트를 처리하는 방식에 영향을 미칠 수 있음.

→ 이러한 문제를 극복하기 위해서 사용되는 방법을 간단하게 아래와 같음

  • Reranking: 검색된 정보를 재순위하여 가장 관련성 높은 답변을 우선시함. LLM이 입력에 추가ㅏ될 때, 성능이 저하되는 경우가 발생. 이에 검색된 청크를 재정렬하고 TOP-K 가장 관련성 높은 청크를 식별하여 LLM에 사용할 컨텍스트로 제공
  • Prompt Compression: 검색된 정보에 Noisy가 많을 수 있으므로, LLM에 태우기전에 관련 없는 정보를 압축하고 길이를 줄이는 것도 효율적

 

3. Modular RAG

3-1. Modular RAG의 개념 및 설명

Modular RAG는 조금 더 나아가 다양하고 유연한 구조를 지향. 이러한 구조는 RAG의 전반적인 성능을 향상 시켰으며, 현재 어플리케이션을 구축할 떄 표준 페러다임이 됨.

몇 가지 모듈에 대해 설명 ( 아래의 모듈 뿐만 아니라 다양한 모듈이 존재  참고)

  • search Module: 임베딩 유사도 기반 검색 외에도 추가적인 검색 시나리오를 가능하게 함. 특정 시나리오에 맞춰 LLM이 생성한 코드나 SQL등을 사용하여 검색을 수행하는 모듈. →이에 다양한 데이터 소스를 사용할 수 있음
  • Memory Module: LLM이 벡터 데이터베이스에서 검색된 청크뿐만 아니라 시스템 메로리에 저장된 이전 쿼리와 결합하여 현재 입력과 가장 유사한 답변을 찾는 모듈
  • Fusion Module: 유저의 의도를 정확하게 반영하지 않을수도 있다는 차관에서 비롯. LLM을 이용해 유저의 쿼리로 부터 여러개의 가상 쿼리를 생성하여 검색하는 방식

 

4. 성능 평가 기준 및 방법

4-1. RAG 성능 평가 기준

RAG 모델의 성능 평가는 크게 검색(Retrieval) 영역과 생성(generation)영역으로 나뉨. 검색 영역에서는 리콜 recall과 같이 검색된 정보가 질문의 정답과 얼마나 일치하는지, 질문의 정답과 관련된 정보가 상위 순위에 잘 랭크 rank되어 있는지 측정. 생성 영역에서는 답변이 벡터디비에서 검색된 정보와 얼마나 일치하는지를 측정하거나 주어진 질문과 관련성이 높은지를 판단하여 성능을 평가함

 

4-2. 검색 성능 평가 방법

검색 성능은 리콜 recall 및 정확성 Precision을 통해 측정함. 리콜은 검색된 문서 중 관련 문서의 비율을, 정확성은 검색된 문서 중 실제로 관련 있는 문서의 비율을 의미. 이 외에도, RAG 리더보드에서는 관계 정보를 토대로 문서의 랭킹 성능을 평가하는 방법을 사용

 

4-3. 답변 생성 성능 평가 방법

답변 생성 성능은 생성된 텍스트의 유사도 및 정확도를 평가하는 방식으로 측정. 답변의 품질은 벡터 디비에서 검색된 정보와의 일치도, 주어진 질문과의 관련성을 중심으로 평가 되며, 사용자가 이해하기 쉽고 일관되게 답변이 생성되도록 함.

 

4-4. RAG리더보드와 평가 도구

올거나이즈의 '알리 RAG 리더보드'는 금융, 공공, 의료, 법률, 커머스의 5개 분야에 대한 한국어 RAG 성능을 평가함.

총 5개의 평가 툴을 사용하여 RAG 성능을 평가하며, 신뢰도를 높이고 오차를 줄이기 위해 각 분야마다 약 200~300페이지의 문서를 업로드하고, 60개의 질문을 생성하여 평가를 진행함.

RAG의 3개 구성요소인 파서(Parser), 리트리버(Retrieval), 답변 생성(Generation) 모두를 평가하며, 이 과정에서 오류가 없도록 검증함.

 

 

 

 

 

참고: 

https://g3lu.tistory.com/42

 

https://seo.goover.ai/report/202407/go-public-report-ko-05b7e163-e242-4db2-a92b-1784953ceba2-0-0.html

 

반응형