PART 8 - 강의 2/4

검색 개선 기법

Reranking, Hybrid Search, Context 최적화 전략

01

검색 품질의 중요성

Garbage In, Garbage Out

RAG의 품질은 검색 품질에 직접적으로 의존합니다. 아무리 좋은 LLM이라도 잘못된 문서를 받으면 좋은 답변을 할 수 없습니다.

검색 품질 지표
  • Precision (정밀도): 검색된 문서 중 실제 관련 문서 비율
  • Recall (재현율): 전체 관련 문서 중 검색된 비율
  • MRR (Mean Reciprocal Rank): 첫 번째 관련 문서의 순위
  • NDCG: 순위를 고려한 관련성 점수
02

Reranking (재순위화)

더 정교한 모델로 재정렬

초기 검색 결과를 더 정교한 모델로 재정렬하여 가장 관련성 높은 문서가 상위에 오도록 합니다.

1
1단계: 초기 검색 (Bi-encoder)
빠른 벡터 검색으로 Top-100 후보 문서 검색
Doc A 0.92
Doc B 0.89
Doc C 0.87
Doc D 0.85
... Top-100
2
2단계: Reranking (Cross-encoder)
쿼리-문서 쌍을 함께 분석하여 정밀한 관련성 점수 계산
Doc A 0.95
Doc C 0.91
Doc B 0.45
Doc D 0.32
3
3단계: Top-K 선택
재정렬된 결과에서 상위 K개 문서를 LLM에 전달
Doc A
Doc C

Bi-encoder vs Cross-encoder

특성 Bi-encoder (초기 검색) Cross-encoder (Reranker)
처리 방식 쿼리/문서 독립 임베딩 쿼리+문서 함께 처리
속도 빠름 (사전 계산) 느림 (실시간 계산)
정확도 상대적으로 낮음 높음
용도 대규모 후보 검색 소수 후보 재정렬

인기 Reranker 모델

모델 타입 특징
Cohere Rerank API 높은 성능, 다국어 지원, 간편한 사용
BGE Reranker 오픈소스 MTEB 상위권, 중국어/영어 강점
cross-encoder/ms-marco 오픈소스 MS MARCO 학습, 널리 사용됨
Jina Reranker API 8K 컨텍스트 지원, 빠른 속도
03

Hybrid Search 심화

Dense + Sparse 검색 결합

Dense(의미)와 Sparse(키워드) 검색을 결합하여 두 방식의 장점을 모두 취합니다.

B
Dense Search
의미 기반 검색
동의어, 문맥 이해
+
K
Sparse Search
키워드 기반 (BM25)
정확한 매칭
->
H
Hybrid Result
RRF로 결합
균형 잡힌 검색
R
RRF (Reciprocal Rank Fusion)
순위 기반 융합
각 검색 결과의 순위를 기반으로 최종 점수를 계산합니다. 점수 스케일이 다른 검색 결과도 쉽게 결합할 수 있습니다.
RRF_score(d) = Sum 1/(k + rank(d))

k = 60 (일반적)
W
Weighted Average
가중 평균
Dense와 Sparse 점수를 가중 평균합니다. 가중치(alpha)를 조절하여 어느 쪽에 더 비중을 둘지 결정합니다.
score = alpha x dense + (1-alpha) x sparse

alpha = 0.5~0.7 (보통)
Hybrid Search가 특히 효과적인 경우
  • 제품명, 코드명 등 고유명사가 많은 문서
  • 정확한 숫자/날짜 검색이 필요한 경우
  • 전문 용어와 일반 설명이 섞인 문서
04

컨텍스트 윈도우 최적화

Lost in the Middle 문제 해결

연구에 따르면 LLM은 컨텍스트의 처음과 끝에 있는 정보에 더 집중하고, 중간에 있는 정보는 간과하는 경향이 있습니다.

시작
중간

LLM의 위치별 주의(Attention) 분포 (개념적 시각화)

해결 전략

1. 중요도 기반 재배치

가장 관련성 높은 문서를 처음과 끝에 배치

가장 관련 높음
Position 1
관련 중간
Position 2
관련 낮음
Position 3
두 번째로 관련 높음
Position 4 (끝)
K
적절한 K 선택
너무 많은 문서는 노이즈를 증가시킵니다. 보통 3-5개의 고품질 청크가 10개의 중간 품질 청크보다 낫습니다.
C
Context Compression
검색된 문서에서 관련 부분만 추출하여 컨텍스트를 압축합니다. LLM이나 추출 모델을 사용합니다.
05

최적화된 검색 파이프라인

단계별 검색 개선 프로세스

1
쿼리 변환
HyDE, Multi-Query 등으로 쿼리 최적화
v
2
Hybrid Search
Dense + Sparse 검색으로 Top-100 후보 추출
v
3
Reranking
Cross-encoder로 재정렬, Top-10 선택
v
4
Context 최적화
압축, 재배치, 중복 제거
v
5
LLM 생성
최적화된 컨텍스트로 답변 생성
06

검색 품질 평가

주요 평가 지표

T
Precision@K
관련 n 검색 / K
상위 K개 중 관련 문서 비율
R
Recall@K
관련 n 검색 / 전체 관련
전체 관련 문서 중 검색된 비율
M
MRR
1 / 첫 관련 문서 순위
첫 번째 관련 문서의 순위
N
NDCG
DCG / IDCG
순위 가중 관련성 점수
평가 팁
  • 테스트 데이터셋 (쿼리 + 정답 문서) 구축 필수
  • 단일 지표보다 여러 지표를 함께 확인
  • 최종적으로는 LLM 답변 품질로 평가
SUMMARY

핵심 요약

  • Reranking - Cross-encoder로 정밀 재정렬
  • Hybrid Search - Dense + Sparse 결합
  • Context 최적화 - 위치, 압축, K 조절
  • 평가 지표 - Precision, Recall, MRR, NDCG