검색증강생성(RAG)의 한계점과 보완책

검색증강생성(RAG)의 한계점과 보완책

검색증강생성(Retrieval Augmented Generation, RAG)은 답변을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하여 초거대언어모델(LLM)의 답변을 최적화하는 기법을 말한다. RAG는 데이터 셋을 직접 구축해야 하고 많은 계산 리소스와 훈련 시간을 필요로 했던 기존의 파인튜닝과는 다르게 비교적 단기간에 낮은 비용으로 LLM의 고질병인 환각현상(hallucination)을 해결하고 정확도를 높여줄 대안으로 기대를 모았다.

기본 RAG 아키텍처 (출처 : deci.ai)

그러나 기존의 RAG 방식으로는 문서(document)의 전체적인 문맥 파악이 어렵고 실시간으로 변화하는 정형 데이터의 처리에 어려움을 겪는 등 치명적인 한계점이 노출되면서 그 효용성에 대한 의문을 제기하는 사람들마저 늘어나고 있다. 

하지만 RAG라는 기술 자체가 아직 과도기를 거치고 있다는 점을 고려할 때 ‘RAG 무용론’은 아직 시기상조라고 할 수 있다. 현재에도 다양한 기법들을 적용해 RAG의 성능을 개선하려는 시도들이 이어지고 있기 때문이다. 이번 시간에는 기존 RAG의 한계점들에 대해 알아보고 이를 해결하기 위한 한층 발전된 형태의 다양한 RAG 아키텍처에 대해 소개하고자 한다.

기존 RAG의 한계점

1. 문장 유사도 기반 검색의 한계

기존 RAG는 문장 유사도(similarity)에만 의존해 검색을 수행하는 경우가 많다. 이는 문장의 전체적인 의미를 파악하지 못하고, 표면적인 유사성만을 바탕으로 답변을 생성하게 유도하며 결과적으로 문서 전체의 맥락과 의미론적 이해가 필요한 태스크에서는 부정확한 답변을 초래하게 된다.

유사도에 의존하는 기존 RAG의 한계점 (출처 : Medium)

문장 유사도 기반 검색의 한계는 RAG의 본질적인 문제라고 할 수 있다. 정확히 일치하는 값을 가져오기보다 가장 비슷한 값을 가져오기 때문에 유사한 값을 가져올 때 불필요한 정보가 발생할 수 있다. 이러한 작은 불일치가 나비효과처럼 답변 전체의 맥락에 큰 차이를 초래할 수 있는 것이다.

2. 비정형 데이터 처리의 한계

RAG는 주로 벡터DB에 의존하여 비정형 데이터를 다루는데, 비정형 데이터 저장에 특화된 벡터DB는 이로 인해 기존의 정형 데이터를 포함한 관계형DB(RDB)만큼 효과적으로 비정형 데이터를 처리하지 못한다는 문제점이 있다.

3. 실시간 업데이트의 어려움

RAG의 또 다른 한계점으로는 실시간 업데이트의 어려움을 들 수 있다. RAG 시스템은 외부의 지식 베이스라고 할 수 있는 벡터DB를 참조하여 답변을 생성하는데, 이 지식 베이스는 주기적으로 업데이트되어야 한다. 그러나 실제로 벡터DB를 실시간으로 업데이트하는 것에는 기술적, 운영적 어려움이 따른다.

따라서 최신 정보를 반영하지 못하는 기존의 RAG가 생성하는 답변이 오래되거나 부정확할 수 있다. 특히 빠르게 변화하는 도메인(예: 금융, 뉴스, 기술 등)에서는 실시간 업데이트가 필수적이지만, 이를 효과적으로 구현하기가 어다. 이로 인해 최신 정보를 필요로 하는 질문에 대해 부정확하거나 시대에 뒤떨어진 답변을 제공할 위험이 있다.

RAG의 고도화된 기법들

이러한 한계점을 극복하기 위해 몇 가지 고도화된 RAG 기법들이 제안되고 있다.

1. 복합 검색(Hybrid RAG)

Hybrid RAG의 아키텍처 (출처 : Dify)

복합 검색는 기존의 RAG와 전통적인 키워드 기반 검색 알고리즘을 결합하여 정확도를 높이는 RAG 아키텍처를 말한다. RAG 시스템은 일반적인 벡터DB에 키워드 검색을 통해 활용할 수 있는 관계형DB를 추가하여 복수의 데이터 저장소를 운영하는 것이 가장 큰 특징이다.

2. Graph RAG

단어와 문장 간 관계성에 집중하는 Graph RAG (출처 : Linkedin)

Graph RAG는 지식 그래프 기반의 데이터 구조를 활용하여 검색을 수행하는 한층 더 발전한 형태의 RAG를 말한다. Graph RAG는 지식 그래프 문맥을 보다 잘 이해하고, 문서 간의 관계를 명확히 파악하여 언어 모델이 그래프 구조를 통해 문서 전체의 문맥을 고려한 답변을 도출해 낼 수 있도록 도와준다.

3. Corrective RAG

Corrective RAG의 아키텍처 (출처 : 논문 Corrective Retrieval Augmented Generation)

한국어로 ‘교정 RAG’ 정도로 번역될 수 있는 Corrective RAG란 검색 결과를 스스로 수정하고 증강 생성된 문서의 활용도를 높이는 방식의 RAG 아키텍처를 말한다. 기존의 RAG와 같이 유사도에만 기반하여 검색 결과를 가져오는 것이 아니라 스스로 사용자의 질문 대해 검색된 문서의 관련성과 신뢰도를 평가하는 방식으로 작동한다.

이때 신뢰도는 정답, 부정확, 모호의 세 가지 항목으로 평가되며, 부정확하거나 모호한 카테고리에 들어가는 답변의 경우 웹사이트 상에서 별도로 관련된 지식을 검색하여 답변을 제공한다는 점이 특징이다. Corrective RAG는 자체적으로 에이전트를 활용하여 답변의 품질을 컨트롤할 수 있다는 점에서 기존 RAG의 좋은 대체재가 될 수 있을 것으로 기대를 모으고 있다.







문과 출신으로 AI 스타트업에서 데이터 사이언티스트로 일하고 있습니다. 


* 슈퍼브 블로그의 외부 기고 콘텐츠는 외부 전문가가 작성한 글로 운영 가이드라인에 따라 작성됩니다. 슈퍼브 블로그에서는 독자분들이 AI에 대한 소식을 더 쉽고 간편하게 이해하실 수 있도록 유용한 팁과 정보를 제공하고 있습니다.