토니의 연습장

HyDE 와 Re-ranking 본문

언어 AI (NLP)/LLM & RAG & Agent

HyDE 와 Re-ranking

bellmake 2025. 1. 9. 18:34

RAG(Retrieval-Augmented Generation) 기법 중에서 HyDERe-ranking은 모두 검색 단계를 보완하여 LLM(Large Language Model)의 답변 품질을 높이기 위한 방법입니다. 두 방법 모두 “검색된 문서(또는 텍스트 조각)을 더 잘 골라내거나 만들어내서 LLM이 참고하도록 한다”는 공통된 목표를 가지고 있지만, 접근 방식은 다릅니다.


1. HyDE (Hypothetical Document Embeddings)

  • 핵심 아이디어
    • 질문(또는 쿼리)에 대해 가상의 문서(가설적 문서, hypothetical document)를 LLM이 생성한 뒤, 이 문서를 ‘쿼리’처럼 사용하여 실제 문서를 다시 검색(재검색)하거나 필터링하는 방법입니다.
    • 즉, 처음에 주어진 사용자 질문만 가지고 검색하는 대신, **LLM이 질문에 대한 간단한 요약 혹은 답변 문서(가설적 문서)**를 작성하고, 이를 토대로 임베딩을 생성하여 벡터 DB 등에서 더 정확한 후보 문서를 찾을 수 있습니다.
  • 장점
    1. 풍부한 검색 쿼리 생성: 사용자의 실제 질문이 간단하거나 불완전할 때, LLM이 먼저 “가상의 대답(문서)”을 만들어내어 검색 쿼리를 보강하므로, 더 적합한 문서를 찾기 쉬워집니다.
    2. 확장성: 질문이 다양하거나 애매모호할수록 HyDE 기법이 도움을 줄 수 있으며, LLM이 “가상의 해답”을 생산하기 때문에 여러 도메인이나 복합 질의에도 유연하게 대응 가능합니다.
  • 단점 / 주의점
    1. 생성 오류 위험: LLM이 만든 ‘가설적 문서’ 자체가 잘못된 정보를 포함할 수도 있습니다. 이를 바탕으로 검색하면, 초기에 왜곡된 정보가 검색 과정에 개입될 여지가 있습니다.
    2. 추가 비용: 문서를 한 번 생성하고 다시 검색 과정을 거치므로 토큰 사용량과 계산 비용이 늘어날 수 있습니다.

2. Re-ranking (재순위화)

  • 핵심 아이디어
    • 기존에 검색 엔진(또는 벡터 DB)이 1차로 후보 문서를 가져온 뒤, ‘후처리(2차 가중치 계산)’ 과정을 통해 더 적합한 순서로 문서를 재정렬(re-rank)하는 방법입니다.
    • 일반적으로 LLM 또는 다른 모델이 1차 검색 결과를 검토하고, 가장 적절한 문서를 상위에 두도록 재정렬합니다. GPT 등의 모델을 활용하여 각 문서가 질의에 얼마나 관련성이 있는지 “스스로 채점”하게 할 수도 있습니다.
  • 장점
    1. 정확도 향상: 1차 검색 결과가 많을 때, 가장 관련도 높은 문서를 최상위로 올려줄 수 있어 LLM의 답변 정확도를 개선할 수 있습니다.
    2. 간단한 도입: 기존 검색 과정에 크게 손대지 않고, “후처리(재정렬)” 모듈만 붙여서 활용 가능하므로 구현과 운영 면에서 상대적으로 쉽습니다.
  • 단점 / 주의점
    1. 1차 검색 품질에 의존: 애초에 검색 결과에 적절한 문서가 충분히 포함되지 않았다면, Re-ranking만으로는 해결이 어렵습니다.
    2. 추가 비용: Re-ranking을 위해서는 각 문서와 질의의 관련도를 재계산하는 과정이 필요하기 때문에, 모델 사용 비용이 추가될 수 있습니다.

3. 비교 요약

  • 접근 방식
    • HyDE: “가상의 해답(문서)”을 먼저 생성하고, 이를 기반으로 검색을 다시(또는 더 정교하게) 수행.
    • Re-ranking: 기존 검색 엔진/벡터DB가 찾아온 결과에 대해 “추가 점수(LLM 등을 이용)”를 부여하여 순서를 재정렬.
  • 활용 시나리오
    • HyDE는 “질문 자체가 불완전하거나 복잡한 도메인”에서 검색 쿼리를 풍부하게 만들어줄 때 유리합니다.
    • Re-ranking은 “검색 결과가 이미 충분한 양을 담고 있지만, 순위가 제대로 정렬되지 않은 상태”에서 매우 유용합니다.
  • 비용과 리스크
    • HyDE: 생성된 가설 문서가 잘못된 방향으로 안내할 위험이 있지만, 검색력이 강화되는 장점이 있습니다.
    • Re-ranking: 검색 단계가 ‘정확한 문서’를 이미 포함하고 있어야 의미가 있으며, 2차 처리에 따른 연산 비용이 추가됩니다.

결국, HyDE는 “초기 쿼리를 더욱 강력하게 만들어주기” 위해, Re-ranking은 “이미 나온 검색 결과를 더 좋은 순으로 배열하기” 위해 쓰입니다. RAG 파이프라인에서는 상황과 요구사항(도메인 복잡도, 쿼리 품질, 비용 문제 등)에 따라 두 기법을 적절히 조합해 사용할 수 있습니다.

'언어 AI (NLP) > LLM & RAG & Agent' 카테고리의 다른 글

RAG 주의점 (Document Loader)  (3) 2025.01.21
Memory  (3) 2025.01.14
LangServe example  (6) 2025.01.09
cosine_similarity  (2) 2025.01.09
LangChain Hub - handle  (2) 2024.12.18