본문 바로가기

인공지능

RAG의 완성, Post Retrieval로 검색 정확도 극대화하는 방법들!

728x90
반응형

Post Retrieval: 검색 후에도 이어지는 정교한 최적화

RAG(Retrieval-Augmented Generation)에서 Post Retrieval은 이름 그대로 Retrieval 단계 이후에 수행되는 과정을 의미합니다. Retrieval 단계에서 추출된 문서들을 기반으로, 더욱 정확한 결과를 얻기 위해 후속 작업을 수행합니다. 이 과정은 검색의 정확도를 한층 더 높이며, 사용자가 원하는 답변을 더욱 정밀하게 제공합니다. 이번 글에서는 Post Retrieval의 주요 기법인 Reranker, Context Reorder, Compressor에 대해 자세히 알아보겠습니다.

반응형

1. Reranker: 정교한 분석으로 정확도를 높이다

  • Reranker란?
    Reranker는 Query와 Document 쌍의 관련성을 평가하는 기법으로, Retrieval 단계에서 이미 선택된 후보 문서들에 대해 더 정교한 분석을 수행합니다. Retrieval 단계에서는 빠르게 많은 문서들 중 관련 있는 문서들을 추출하는 데 중점을 둔다면, Reranker는 이 중 추출된 소수의 문서를 대상으로 세밀하게 평가하여, 가장 관련성이 높은 문서들을 다시 정렬합니다.
  • 왜 Reranker가 필요할까요?
    Retrieval 단계만으로는 빠르게 많은 문서를 찾을 수 있지만, 정밀도에는 한계가 있을 수 있습니다. Reranker를 사용하면, 초기 검색에서 선택된 문서들 중 가장 적합한 문서를 찾을 수 있어, 검색 결과의 정확도가 크게 향상됩니다.
  • Reranker의 한계와 Two Stage Retrieval
    Reranker는 정밀한 분석을 하기 때문에 시간과 계산 자원이 많이 소모될 수 있습니다. 따라서 Reranker를 단독으로 사용하기보다는, Retrieval 단계와 결합하여 Two Stage Retrieval 방식을 많이 사용합니다. 이 방법은 Retrieval 단계에서 빠르게 후보 문서를 추출한 뒤, Reranker로 정밀하게 분석하여 최종 순위를 결정하는 방식입니다. 이로 인해 효율성과 정확성을 모두 잡을 수 있습니다.

2. Context Reorder: 중요한 정보를 앞뒤로 배치하기

  • Context Reorder란?
    LLM은 텍스트의 앞부분과 끝부분에 있는 정보를 더 잘 이해하고 반응하는 경향이 있습니다. Context Reorder는 이러한 LLM의 특성을 활용하여, 가장 관련성이 높은 정보를 텍스트의 앞과 끝에 배치하는 기법입니다.
  • 어떻게 동작하나요?
    예를 들어, 사용자가 질문한 쿼리에 대해 여러 개의 관련 문서가 있을 때, Context Reorder는 가장 관련성이 높은 내용을 텍스트의 초반부후반부에 배치합니다. 그 중간에는 부차적인 정보나 덜 관련 있는 내용을 위치시키는 방식입니다.
  • 왜 Context Reorder가 유용한가?
    LLM이 정보를 처리할 때, 초반과 후반부에 위치한 내용을 더 잘 학습하고 활용할 수 있기 때문에, 이를 통해 더욱 정확한 답변을 생성할 수 있습니다. 특히 사용자의 질문에 대한 핵심적인 정보가 먼저 전달되도록 함으로써, 더 신속하고 정확한 응답을 제공합니다.

3. Compressor: 불필요한 정보는 줄이고, 컨텍스트 품질은 높인다

  • Compressor란?
    Compressor는 Retrieval 단계에서 선택된 문서들 중 관련성이 낮은 정보를 제거하여, LLM에 입력되는 텍스트의 품질을 향상시키는 기법입니다. 이를 통해 LLM이 보다 중요한 정보에 집중할 수 있게 합니다.
  • 어떤 방법들이 있을까요?
    Compressor에는 다양한 방법론이 있으며, 그 중 대표적인 몇 가지는 다음과 같습니다:
    • LLMChainExtractor: LLM을 사용해 텍스트에서 가장 중요한 문장이나 구절을 추출합니다. 이 과정에서 LLM의 언어 이해 능력을 활용하여 핵심 정보를 남기고, 부차적인 부분은 제거합니다.
    • Lexical-based Compression: 키워드나 빈도 기반으로 중요한 문장을 선택하는 방법입니다. 단순하지만 빠르고 효율적으로 중요한 정보를 압축할 수 있습니다.
    • Embedding-based Compression: 문서의 의미적 유사성을 분석하여, 중요한 정보와 관련 없는 부분을 제거합니다. 임베딩을 사용해 텍스트의 의미적 관계를 평가하므로, 보다 정교한 정보 선택이 가능합니다.
    • COCOM (Contextual Compression Method): LLM이 생성한 답변과 문서 내용을 비교하여, 관련성이 낮은 부분을 자동으로 제거하는 방식입니다. 생성된 답변과 가장 관련성이 높은 문장만 남겨, LLM의 응답 품질을 최적화합니다.
  • Compressor의 장점
    Compressor는 LLM의 입력 길이 제한 문제를 해결하는 데 매우 유용합니다. 불필요한 정보를 줄여주어 LLM이 더 중요한 부분에 집중할 수 있게 해주기 때문에, LLM이 더 정확하고 유의미한 답변을 생성할 수 있습니다.

728x90

Post Retrieval 단계는 RAG의 검색 정확도를 극대화하는 중요한 과정입니다. Retrieval 단계에서 후보 문서들을 빠르게 찾아낸 뒤, Reranker로 정교하게 분석하고, Context Reorder로 중요한 정보를 앞뒤로 배치하며, Compressor로 불필요한 정보를 걸러냄으로써 LLM의 응답 정확도를 높일 수 있습니다. 이러한 기술들을 통해 LLM 기반의 AI 시스템은 사용자가 원하는 정보를 더욱 빠르고 정확하게 제공할 수 있습니다.

RAG의 Post Retrieval 기술을 이해하고, 여러분의 AI 시스템에 적용해 보세요! 보다 똑똑한 검색과 답변 제공이 가능해질 것입니다.

728x90
반응형