본문 바로가기

인공지능

Advanced RAG의 등장과 Naive RAG의 한계: 왜 우리는 더 나은 솔루션을 필요로 하는가?

728x90
반응형

Retrieval-Augmented Generation (RAG)은 언어 모델의 성능을 크게 향상시킬 수 있는 기술로, 최근 AI 연구와 응용에서 중요한 위치를 차지하고 있습니다. RAG의 출현은 단순히 데이터를 학습하는 언어 모델을 넘어, 방대한 외부 지식 데이터베이스와 결합하여 필요한 정보를 실시간으로 검색하고, 이를 바탕으로 보다 정확한 답변을 생성하는 능력을 제공하려는 시도에서 비롯되었습니다. 특히 의료, 법률 등 높은 정확성과 신뢰성이 요구되는 분야에서 RAG는 필수적인 기술로 자리 잡고 있습니다.

그러나 Naive RAG에는 여러 한계가 존재합니다. 기본적인 RAG 시스템에서는 단순한 검색과 생성의 반복으로 인해 불필요한 데이터 중복과 노이즈가 발생할 수 있습니다. 특히, 의미론적 유사성을 고려하지 않은 검색 방법은 실제로 사용자가 원하는 정보와 관련이 없는 결과를 제공하는 경우가 많습니다. 예를 들어, 동일한 키워드가 포함되어 있지만 문맥적으로는 관련성이 떨어지는 정보를 함께 검색하여 생성 단계로 넘기는 경우가 빈번합니다. 이러한 문제는 정확도를 저하시켜 사용자에게 부정확한 답변을 제공할 위험을 높입니다.

Advanced RAG는 이러한 한계를 극복하기 위해 고안되었습니다. 이 기술의 목적은 성능을 최적화하고 정확도를 높여, 보다 정확한 정보를 신속하게 검색하고 이를 기반으로 자연스러운 답변을 생성하는 것입니다.


반응형

Advanced RAG와 Naive RAG의 차이점: 더욱 똑똑해진 검색과 생성

1. Indexing의 개선: 메타데이터 활용과 계층적 구조

Naive RAG에서는 단순한 인덱싱을 통해 정보를 저장하지만, Advanced RAG는 검색의 효율성을 높이기 위해 인덱싱 방식에 큰 개선을 이루었습니다. 가장 큰 차이는 메타데이터의 적극적인 활용입니다. 메타데이터는 데이터에 대한 추가적인 정보를 제공하여 검색 결과의 정확도를 높입니다. 예를 들어, 환자의 기록을 인덱싱할 때 방문 날짜, 나이, 특정 질환과 같은 메타데이터를 함께 저장하여 검색 시 더 관련성 높은 정보를 제공할 수 있습니다.

또한, 계층적 구조를 도입한 인덱싱 방식도 Advanced RAG의 중요한 특징입니다. 이를 통해 데이터 간의 관계를 더 잘 반영하고, 보다 구조적인 검색이 가능해집니다. 이러한 개선은 검색 속도와 정확도를 동시에 높여줍니다.

2. 고도화된 Chunking 전략: 의미 기반 청킹부터 Small to Big까지

Advanced RAG는 단순한 텍스트 청킹을 넘어 다양한 청킹 전략을 도입하여 검색의 정확성을 높였습니다.

  • Semantic Chunking: 의미론적 유사성을 기반으로 텍스트를 나누는 방식으로, 단순히 일정 길이로 자르는 것이 아니라 문맥적으로 관련된 내용을 하나의 청크로 묶습니다. 이는 검색의 정밀도를 높여 관련성 있는 정보만을 추출하는 데 효과적입니다.
  • Small to Big: 작은 청크에서 출발해 점차 큰 단위로 정보를 묶어가는 방식으로, 정보의 맥락을 유지하면서도 중요한 세부 사항을 놓치지 않도록 합니다.
  • Sentence Window: 문장 단위로 청크를 나누는 방식으로, 문장 간의 유사성을 분석하여 관련 있는 문장들을 한데 모아 청킹합니다. 이는 텍스트의 자연스러운 흐름을 유지하며 정보의 손실을 최소화합니다.

Pre-Retrieval의 도입: Naive RAG에서는 없던 고도화된 검색 전 처리

Naive RAG에서는 검색 전처리 단계가 부족해 최적화되지 않은 결과를 생성하는 경우가 많았습니다. 그러나 Advanced RAG에서는 Pre-Retrieval 개념을 도입하여 검색 전에 보다 정밀한 쿼리 변환과 확장을 통해 검색 성능을 향상시켰습니다.

  • Query Rewrite: 사용자의 자연어 쿼리를 데이터베이스 검색에 적합한 형태로 변환합니다. 예를 들어, "왼쪽 어깨가 아프고 엄지와 검지에 저림이 있어요"라는 쿼리를 "왼쪽 어깨 통증. 엄지 저림. 검지 저림."과 같이 변환하여 더 정밀한 검색이 가능하도록 합니다.
  • Query Expansion: 입력된 쿼리에 관련된 추가 키워드를 더해 검색 결과를 풍부하게 만듭니다. 이를 통해 사용자가 입력하지 않은 연관된 정보를 함께 검색할 수 있습니다.
  • Query Transformation: 특정 문맥이나 패턴을 기반으로 쿼리 자체를 변환하여 검색 성능을 향상시킵니다. 이는 특정 도메인에 최적화된 검색을 가능하게 해줍니다.

Retrieval의 강화: Hybrid Search의 중요성

Advanced RAG에서는 Hybrid Search 방식을 사용하여 키워드 검색과 시맨틱 검색을 병행합니다.

  • 키워드 검색은 정확한 용어 검색에 유리하여 특정 질병 이름이나 약물명을 검색할 때 유용하며, 시맨틱 검색은 의미적으로 유사한 정보를 추출하는 데 강점을 보입니다.
  • 이 두 가지를 함께 사용하면, 단순히 키워드만 맞는 정보뿐만 아니라 문맥적으로도 관련성이 높은 정보를 검색할 수 있어, 보다 종합적이고 정확한 검색 결과를 제공합니다.

Post-Retrieval의 추가: Reranker와 Reorder의 도입

Naive RAG에는 없는 Post-Retrieval 단계가 Advanced RAG에서는 중요하게 자리 잡고 있습니다. 이 단계는 검색된 결과를 더욱 정밀하게 가공하여 최종 생성 단계에서 활용할 수 있도록 합니다.

  • Reranker: 검색된 결과를 보다 정밀하게 평가하여 다시 순위를 매깁니다. 이를 통해 사용자 쿼리에 가장 관련성이 높은 결과가 최우선으로 제공되도록 합니다.
  • Reorder: 추가적인 평가를 통해 검색 결과의 순서를 재배치하여 최종적으로 가장 관련 있는 정보가 사용자에게 전달되도록 보장합니다.
728x90

Advanced RAG로 한 단계 더 진화한 AI 검색과 생성

Advanced RAG는 단순한 검색-생성 모델의 한계를 넘어서기 위해 개발된 기술입니다. Naive RAG와 달리, 메타데이터 활용, 고도화된 청킹 전략, Pre-Retrieval 및 Post-Retrieval 처리 등을 통해 검색의 정확성과 생성의 품질을 크게 향상시킵니다. 특히 의료와 같이 정확한 정보 전달이 필수적인 분야에서 Advanced RAG는 AI의 역할을 한층 더 확장시킬 수 있는 중요한 기술입니다. 이번 블로그에서 소개한 다양한 기술들은 AI 검색 및 생성 시스템을 구축할 때 유용하게 활용될 수 있으며, 최종적으로는 보다 신뢰할 수 있는 AI 솔루션 개발에 기여할 것입니다.

728x90
반응형