Retrieval 단계는 벡터DB에서 유사한 문서를 검색하는 과정으로, 검색 정확도와 효율성을 결정하는 핵심 요소입니다.
이 단계에서 최적화해야 할 요인들을 살펴보겠습니다.
설명:
예시:
Top-K = 3 → 검색 속도 빠름, 하지만 문맥 부족 가능 Top-K = 10 → 정확도 증가, 하지만 LLM이 처리해야 할 문맥 길이 증가 설명:
예시:
1. 1차 검색: Top-10 문서 검색 (벡터 유사도 기반)
2. 2차 검색: BM25 또는 Reranking 모델을 활용하여 최적의 Top-3 문서 선정
3. 최종 검색 결과 반환
설명:
BM25(키워드 기반 검색) + 벡터 검색 조합으로 더 정확한 검색 결과를 도출할 수 있음.예시:
1. 사용자가 "Retrieval 최적화" 검색
2. BM25 검색 → "Retrieval 성능 향상 방법"` 문서 추천
3. 벡터 검색 → "효율적인 RAG Retrieval 기법"` 문서 추천
4. 두 검색 결과를 조합하여 최적의 문서 제공
설명:
예시:
"AI 검색 최적화" 검색 시 "AI 정보 검색 개선", "LLM 검색 최적화" 등 연관된 표현을 포함하여 검색 설명:
Cross-Encoder 또는 Learning to Rank 모델을 활용 가능.예시:
1. 벡터 검색으로 Top-10 문서 검색
2. BERT Cross-Encoder를 활용하여 가장 관련성 높은 문서 3개를 최상위로 정렬
설명:
예시:
"최신 논문"을 검색할 때, "2023년 이후 출판된 논문"으로 필터 적용 "기술 문서"를 검색할 때, "카테고리: AI"로 필터 적용 설명:
예시:
all-MiniLM-L6-v2)로 변환해야 최적 검색 가능 설명:
예시:
"임베딩 최적화"를 검색했을 때 "이미지 처리 기술"이 검색되었다면 "이미지 처리 기술"을 Negative Sample로 학습하여 이후 검색에서 제외하도록 모델 개선 | 추가 요인 | 설명 | 예시 |
|---|---|---|
| Top-K 값 조정 | 검색할 문서 개수 최적화 | Top-K=3~5 적절 |
| Multi-stage Retrieval | 다단계 검색으로 정확도 향상 | 1차 검색 후 Reranking |
| Hybrid Search | BM25 + 벡터 검색 조합 | 의미 검색 + 키워드 검색 |
| Query Expansion | 검색어를 자동 확장 | "AI 검색" → "AI 정보 검색 개선" |
| Reranking | 검색된 문서 순위를 다시 정렬 | BERT Cross-Encoder 활용 |
| Context Filtering | 불필요한 문서 필터링 | "최신 논문" 필터 |
| Query vs Document Embedding | 검색 질문과 문서 임베딩 일치 | 같은 모델 사용 필수 |
| Negative Sampling | 부정 샘플을 학습하여 검색 개선 | 관련 없는 결과 제거 |