AI Engineer의 '사부작' 공간

고급 RAG 완전 정복: 쿼리 지능화, 검색 정교화, 반복 탐색으로 AI 답변의 격을 높이다! 본문

Theory/Retrieval-Augmented Generation

고급 RAG 완전 정복: 쿼리 지능화, 검색 정교화, 반복 탐색으로 AI 답변의 격을 높이다!

ChoYongHo 2025. 5. 21. 21:44
728x90

고급 RAG 기법: 단순 검색을 넘어 지능적 답변으로

대규모 언어 모델(LLM)은 방대한 지식을 학습하지만, 최신 정보 부재나 환각(hallucination) 현상과 같은 한계를 지닙니다. 검색-증강 생성(Retrieval-Augmented Generation, RAG)은 이러한 LLM의 약점을 보완하기 위해 외부 지식 소스에서 관련 정보를 검색하여 답변의 정확성과 신뢰성을 높이는 핵심 기술입니다. 기본적인 RAG 접근법도 효과적이지만, 검색된 정보의 관련성이 떨어지거나 복잡한 질문에 대한 답변 능력이 제한될 수 있습니다. 이러한 한계를 극복하고 RAG 시스템의 성능을 한 차원 끌어올리기 위해 다양한 고급 기법들이 등장했습니다. 이 글에서는 단순 검색을 넘어 보다 정교하고 지능적인 답변 생성을 가능하게 하는 핵심적인 고급 RAG 기법들, 즉 쿼리 변환(Query Transformation), 재순위화(Re-ranking), 그리고 순환적/반복적 검색(Iterative/Recursive Retrieval)이 어떻게 작동하며, 기존 방식에 비해 어떤 이점을 제공하는지 전문가의 시각으로 상세히 살펴보겠습니다.

첫 단추부터 제대로: 쿼리 변환 (Query Transformation)

"시작이 반이다"라는 말처럼, RAG 시스템에서 좋은 답변을 얻기 위한 첫걸음은 사용자의 의도를 정확히 반영하는 검색 결과를 확보하는 것입니다. 하지만 사용자가 입력하는 쿼리는 때로 모호하거나 너무 간결하여 검색 시스템이 의도를 파악하기 어려울 수 있습니다. 쿼리 변환은 원본 쿼리를 검색에 더 효과적인 형태로 '변신'시켜 검색 성능을 극대화하는 전략입니다.

HyDE (Hypothetical Document Embeddings): 이상적인 답변을 먼저 그려보는 지혜

가장 대표적인 쿼리 변환 기법 중 하나는 HyDE (Hypothetical Document Embeddings)입니다. 이 기법은 사용자의 질문에 답할 만한 '가상의 이상적인 문서'를 먼저 생성하고, 이를 기반으로 실제 문서를 검색하는 독창적인 접근 방식을 취합니다.

  • 개념: 사용자의 쿼리가 주어지면, LLM을 활용하여 해당 쿼리에 대한 이상적인 답변, 즉 가상의 문서를 먼저 생성합니다. 이 문서는 실제 존재하지 않지만, 쿼리의 의도를 풍부하게 담고 있는 '모범 답안'과 같습니다.
  • 작동 방식:
    1. 사용자가 "지속 가능한 에너지 저장 기술의 최신 동향은 무엇인가요?"와 같이 다소 포괄적인 쿼리를 입력합니다.
    2. LLM은 이 쿼리를 바탕으로 "최근 지속 가능한 에너지 저장 기술은 리튬이온 배터리의 효율성 증대, 전고체 배터리 개발, 그리고 그린 수소 저장 기술의 상용화에 초점을 맞추고 있으며, 특히 장주기 저장 시스템의 경제성 확보가 중요한 연구 주제로 떠오르고 있습니다..."와 같이 구체적인 내용의 가상 문서를 생성합니다.
    3. 이렇게 생성된 풍부한 내용의 가상 문서를 벡터 임베딩으로 변환합니다.
    4. 이 벡터 임베딩을 사용하여 실제 지식 데이터베이스에서 가장 유사한 실제 문서들을 검색합니다.
  • 비유: 마치 뛰어난 건축가가 고객의 모호한 요구사항("편안하고 현대적인 집")을 듣고, 먼저 구체적인 설계도(가상 문서)를 그려 보여주며 "이런 스타일의 집을 원하시는 건가요?"라고 확인한 뒤, 그 설계도에 맞는 자재와 시공법(실제 문서)을 찾아나서는 과정과 비슷합니다. 고객은 자신이 무엇을 원하는지 더 명확히 알게 되고, 건축가는 정확한 결과물을 만들 수 있습니다.
  • 이점: 원본 쿼리가 간결하거나 정보가 부족하더라도, 생성된 가상 문서는 풍부한 맥락과 관련 키워드를 포함하므로 검색 시스템이 사용자의 숨겨진 의도를 더 정확하게 포착하여 관련성 높은 실제 문서를 찾아낼 확률이 높아집니다. 특히 정보가 부족한 특정 도메인이나 처음 접하는 질문(zero-shot)에 효과적입니다.

이 외에도 하나의 쿼리를 여러 개의 구체적인 하위 쿼리로 분해하여 각각 검색하는 멀티-쿼리 검색(Multi-query Retrieval) 방식 등도 쿼리 변환의 중요한 기법입니다. 예를 들어 "RAG 기술의 장점과 단점은 무엇인가?"라는 질문을 "RAG 기술의 장점은?", "RAG 기술의 단점은?"과 같은 여러 개의 하위 질문으로 나누어 검색하면 각 측면에 대해 더 정확하고 풍부한 정보를 얻을 수 있습니다.

옥석을 가려내는 섬세함: 재순위화 (Re-ranking)

초기 검색 단계에서는 속도를 중시하여 비교적 간단한 방식으로 최대한 많은 후보 문서를 가져오는 경우가 많습니다. 하지만 이렇게 수집된 문서들 중에는 실제 쿼리와의 관련성이 떨어지거나 중요도가 낮은 정보가 섞여 있을 수 있습니다. 재순위화는 이 1차 후보군을 대상으로 더욱 정교한 필터링을 거쳐 진짜 핵심 정보만을 골라내는 과정입니다.

  • 개념: 초기 검색(Retrieval)을 통해 얻은 상위 N개의 문서들에 대해, 계산 비용은 더 들지만 훨씬 정확한 모델을 사용하여 관련성 점수를 다시 매기고 순위를 조정하는 단계입니다. 이를 통해 생성 모델(LLM)에게 전달되는 정보의 질을 극대화합니다.
  • 작동 방식:
    1. 초기 검색: 벡터 유사도 기반 검색 등 상대적으로 빠른 방법으로 쿼리와 관련된 후보 문서들을 다수 검색합니다(예: 상위 50~100개).
    2. 재순위화: 검색된 각 후보 문서와 원본 쿼리를 쌍(pair)으로 입력받아, 두 내용 간의 미묘한 문맥적 관련성까지 정밀하게 평가하는 모델(예: 크로스-인코더, Cross-encoder)을 사용합니다. 이 모델은 쿼리와 문서 내용을 동시에 고려하여 상호작용을 모델링하므로 단순 임베딩 비교보다 훨씬 정확한 판단이 가능합니다.
    3. 최종 선택: 재계산된 관련성 점수를 기준으로 문서들의 순위를 새롭게 매기고, 이 중 가장 관련성이 높다고 판단되는 최상위 K개의 문서(예: 상위 5~10개)를 최종적으로 LLM 생성 단계에 전달합니다.
  • 비유: 대규모 오디션 프로그램에서 1차 예선(초기 검색)을 통해 수많은 참가자를 빠르게 선발한 후, 본선 진출자들을 대상으로 더욱 심도 있는 심사(재순위화)를 진행하여 각 참가자의 잠재력과 실력을 면밀히 평가하고 최종 우승자를 가려내는 과정과 유사합니다. 1차는 넓고 빠르게, 2차는 깊고 정확하게 평가하여 최상의 결과를 도출하는 것입니다.
  • 이점: LLM에게 전달되는 정보의 평균적인 질을 크게 향상시켜 최종 답변의 정확성과 완성도를 높입니다. 계산량이 많은 정교한 모델을 모든 문서가 아닌, 엄선된 소수의 후보 문서에만 적용함으로써 전체 시스템의 효율성을 유지할 수 있습니다.

집요하게 파고드는 탐구력: 순환적/반복적 검색 (Iterative/Recursive Retrieval)

때로는 한 번의 검색만으로는 사용자의 복잡한 질문에 대한 충분한 정보를 얻기 어렵습니다. 마치 어려운 연구 과제를 수행하기 위해 여러 단계의 자료 조사와 분석을 거치듯, 순환적/반복적 검색은 필요한 정보를 완전히 확보할 때까지 검색 과정을 여러 번 되풀이하는 고급 전략입니다.

  • 개념: 초기 검색 결과를 바탕으로 질문에 대한 이해를 점진적으로 높여가며, 필요에 따라 새로운 쿼리를 생성하거나 검색 범위를 조정하여 추가적인 검색을 수행하는 방식입니다.
  • 작동 방식:
    1. 사용자의 초기 쿼리로 1차 검색을 수행합니다.
    2. LLM이 검색된 문서들을 분석하여 현재까지 수집된 정보가 질문에 답하기에 충분한지, 혹은 어떤 정보가 더 필요한지를 판단합니다. 예를 들어, 정보가 부족하거나, 상반되는 내용이 있거나, 특정 관점이 누락되었는지 등을 평가합니다.
    3. 만약 정보가 불충분하다고 판단되면, LLM은 이전 검색 결과와 분석 내용을 종합하여 새로운, 더욱 구체적이거나 다른 관점의 쿼리를 생성합니다. 또는 검색할 데이터 소스를 변경하거나 필터링 조건을 추가할 수도 있습니다.
    4. 새롭게 생성된 쿼리 또는 조정된 검색 조건으로 다시 문서를 검색합니다.
    5. 만족스러운 답변을 생성할 만큼 충분하고 질 좋은 정보가 모였다고 판단될 때까지 이 '검색 → 분석 → (필요시) 전략 수정 및 새 쿼리 생성 → 재검색' 과정을 반복합니다.
  • 비유: 숙련된 탐정이 복잡한 미제 사건을 해결하는 과정과 유사합니다. 초기 단서(1차 검색)를 바탕으로 용의선상에 오른 인물들을 조사하고, 알리바이를 확인합니다(정보 분석). 만약 모순점을 발견하거나 새로운 의문점이 생기면, 다른 증거를 찾거나(추가 검색) 새로운 용의자를 특정하여 수사 방향을 전환합니다(전략 수정 및 새 쿼리). 이렇게 집요한 탐문과 추리를 반복하며 사건의 진실에 다가가는 것입니다.
  • 예시: "양자컴퓨팅 기술이 신약 개발에 미치는 영향과 현재 주요 기술적 과제는 무엇인가?"라는 다면적인 질문에 대해,
    • 1차 검색: "양자컴퓨팅 신약 개발 영향" -> 관련 개요 및 긍정적 전망 파악.
    • 2차 검색 (정보 분석 후, 구체화): "양자컴퓨팅 활용 신약 개발 사례" 및 "양자 알고리즘 신약 설계 적용" -> 구체적인 적용 분야 및 방법론 탐색.
    • 3차 검색 (정보 분석 후, 다른 측면): "양자컴퓨터 신약 개발 기술적 한계" 및 "큐비트 안정성 신약 개발 문제" -> 주요 병목 지점 및 해결 과제 탐색.
      이처럼 여러 번의 검색과 분석을 거쳐 질문의 각 측면을 포괄하는 깊이 있고 정확한 답변을 생성할 수 있습니다.
  • 이점: 단일 검색으로는 답하기 어려운, 여러 단계의 추론이나 다양한 관점의 정보 통합이 필요한 복잡한 질문에 대해 훨씬 더 심층적이고 포괄적인 답변을 생성할 수 있게 됩니다. 이는 마치 여러 분야의 전문가가 협력하여 복잡한 문제를 다각도로 분석하고 해결책을 도출하는 것과 같은 효과를 냅니다.

그 외 주목할 만한 고급 RAG 기법들

위에 소개된 세 가지 핵심 전략 외에도 RAG 시스템의 성능을 향상시키기 위한 다양하고 흥미로운 고급 기법들이 활발히 연구되고 적용되고 있습니다.

  • 그래프 RAG (Graph RAG): 지식 그래프(Knowledge Graph)에 저장된 개체(entity)와 관계(relation) 정보를 활용하여, 단순 키워드 매칭을 넘어선 의미론적 관계에 기반한 검색을 수행합니다. 이를 통해 LLM은 검색된 정보들 간의 연결성을 더 잘 이해하고 논리적인 추론을 수행할 수 있습니다.
  • 문장 창 검색 (Sentence Window Retrieval) / Small-to-Big 검색: 처음에는 작은 단위의 텍스트 조각(예: 개별 문장)을 검색하여 관련성을 빠르게 판단하고, 관련성이 높다고 확인되면 해당 조각을 포함하는 더 큰 문맥(예: 주변 문장들, 전체 문단)을 함께 검색 결과로 가져오는 방식입니다. 이는 정보의 밀도는 높이면서 불필요한 노이즈는 줄이는 효과가 있습니다.
  • 하이브리드 검색 (Hybrid Search): 전통적인 키워드 기반 검색(Sparse Retrieval, 예: BM25)의 정확성과 최신 벡터 기반 의미 검색(Dense Retrieval)의 문맥 이해 능력을 결합한 방식입니다. 서로 다른 강점을 가진 검색 알고리즘들을 함께 사용하여 다양한 유형의 쿼리에 대해 안정적으로 높은 검색 품질을 제공합니다.
  • 정밀 조정 임베딩 (Fine-tuning Embedding): 특정 도메인이나 작업에 맞춰 임베딩 모델 자체를 미세 조정하여, 해당 분야의 용어나 맥락에 대한 이해도를 높여 검색 관련성을 향상시키는 방법입니다.

마무리하며

고급 RAG 기법들은 단순히 정보를 찾아 제시하는 것을 넘어, 사용자의 복잡한 의도를 더 깊이 이해하고, 방대한 정보 속에서 핵심을 정확히 짚어내며, 여러 정보를 유기적으로 통합하여 진정으로 '지능적인' 답변을 생성할 수 있도록 RAG 시스템을 혁신하고 있습니다. 쿼리 변환으로 질문의 본질에 다가서고, 재순위화로 정보의 질을 극대화하며, 순환적 검색으로 문제의 다층적 해답을 탐구하는 이러한 노력은 대규모 언어 모델이 세상의 지식과 상호작용하는 방식을 근본적으로 변화시키고 있습니다.


https://arxiv.org/abs/2407.21059

 

Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks

Retrieval-augmented Generation (RAG) has markedly enhanced the capabilities of Large Language Models (LLMs) in tackling knowledge-intensive tasks. The increasing demands of application scenarios have driven the evolution of RAG, leading to the integration

arxiv.org

https://arxiv.org/abs/2212.10496

 

Precise Zero-Shot Dense Retrieval without Relevance Labels

While dense retrieval has been shown effective and efficient across tasks and languages, it remains difficult to create effective fully zero-shot dense retrieval systems when no relevance label is available. In this paper, we recognize the difficulty of ze

arxiv.org

 

728x90