
RAG 시스템에서 Precision과 Recall의 개념
RAG(Retrieval-Augmented Generation) 시스템의 검색 단계에서 정밀도(Retrieval Precision)와 재현율(Retrieval Recall)은 검색 품질을 평가하는 두 가지 핵심 지표입니다. 외부 데이터베이스에서 문서를 찾아 거대언어모델(LLM)에 넘겨줄 때, 이 두 지표는 서로 반비례 관계(Trade-off)를 가집니다.
- Retrieval Precision (정밀도): 검색 엔진이 찾아온 문서들 중 실제 사용자의 질문에 답하는 데 유용한 진성 정보(True Positive)의 비율입니다. 정밀도가 높다는 것은 프롬프트에 노이즈(무관한 정보)가 없고 알짜배기 정보만 깔끔하게 포함되었음을 의미합니다.
- Retrieval Recall (재현율): 데이터베이스에 저장된 전체 정답 정보 중 검색 엔진이 실제로 매칭하여 찾아낸 정보의 비율입니다. 재현율이 높다는 것은 정답이 될 가능성이 있는 모든 문맥과 단서를 빠짐없이 긁어모았음을 의미합니다.
Precision과 Recall의 불균형이 초래하는 문제점
한쪽 지표로 지나치게 치우친 검색 전략은 RAG 파이프라인과 LLM의 최종 생성 답변에 각각 다른 형태의 치명적인 오류를 유발합니다.
1. High Precision / Low Recall (높은 정밀도, 낮은 재현율)
검색 엔진이 확실한 정답 문서 1~2개만 정확하게 타겟팅하여 가져오는 상황입니다. 노이즈는 없지만 전체 맥락을 구성하는 주변 단서들이 대거 누락됩니다.
- 문제점: 사용자의 질문이 복잡하여 문서 여러 곳에 흩어진 정보들을 종합해야 하는 다중 홉(Multi-hop) 추론이 필요할 때, 일부 정보가 유실되어 LLM이 단편적인 답변만 출력하거나 정보 부족으로 인해 오답을 낼 확률이 높아집니다.
2. Low Precision / High Recall (낮은 정밀도, 높은 재현율)
정답을 놓치지 않기 위해 관련성이 조금이라도 있어 보이는 문서 수십 개를 통째로 긁어오는 상황입니다. 정답은 확실히 포함되지만 엄청난 양의 무관한 텍스트가 함께 딸려옵니다.
- 문제점: 프롬프트가 비대해지면서 LLM이 중간에 위치한 정보를 인지하지 못하는 ‘중간 실종(Lost in the Middle)’ 현상이 심화됩니다. 또한 불필요한 노이즈로 인해 환각(Hallucination) 현상이 증가하며, 불필요한 토큰 소모로 인해 API 비용이 폭증하고 응답 지연 시간이 길어집니다.
두 지표의 균형을 맞추기 위한 기술적 파라미터 조절
실무적으로 RAG 파이프라인의 검색 설정을 미세 조정하여 Precision과 Recall의 가장 이상적인 교차점을 찾아야 합니다.
- Top-K 값의 전략적 최적화
- Top-K는 검색 엔진이 최종적으로 LLM에 전달할 청크의 개수를 지정하는 파라미터입니다.
- K 값을 줄이면 Precision이 올라가고 비용이 절감되지만 Recall이 떨어집니다. K 값을 늘리면 Recall이 올라가 정보 누락은 방지되지만 Precision이 떨어집니다. 도메인 데이터의 복잡성에 따라 대개 3에서 7 사이의 최적값을 실험적으로 도출해야 합니다.
- 유사도 임계값(Similarity Threshold) 설정
- 벡터 검색 시 단순히 상위 K개를 무조건 가져오는 것이 아니라, 질문과의 코사인 유사도 점수가 특정 기준(예: 0.75 이상)을 넘는 청크만 통과시키는 필터를 적용합니다.
- 이를 통해 질문과 완전히 동떨어진 노이즈 문서가 프롬프트에 유입되는 것을 차단하여 높은 Precision을 유지할 수 있습니다.
균형을 극대화하는 하이브리드 아키텍처 전략
파라미터 조절만으로 한계가 있을 때는 검색 파이프라인의 구조적 고도화를 통해 두 지표의 장점만을 취하는 고급 전략을 구사해야 합니다.
1. 하이브리드 검색(Hybrid Search)으로 Recall 확보
형태소 분석 기반의 키워드 검색(BM25)과 의미 기반의 벡터 검색을 결합하여, 단어 매칭과 문맥 이해를 동시에 만족시킵니다. 학습 데이터 외의 신조어나 고유명사까지 빠짐없이 긁어모아 1차 검색 단계에서 Recall을 최대로 확보하는 기반이 됩니다.
2. 2단계 리랭킹(Two-stage Reranking)으로 Precision 압축
1차 검색에서 높은 Recall 전략을 취해 후보 문서군을 넉넉하게(예: Top-50) 뽑아낸 뒤, 크로스인코더 기반의 리랭커(Reranker)를 투입합니다. 리랭커가 질문과 문서 간의 실시간 교차 어텐션 연산을 수행하여 진짜 정답 문서 3~5개만을 정밀하게 재정렬 및 선별(Top-K 압축)함으로써 최종 프롬프트의 Precision을 극적으로 끌어올립니다.
3. 청크 크기(Chunk Size)의 이원화 전략
검색을 위한 인덱싱 단계에서는 200~300토큰의 작은 청크 크기를 유지하여 벡터 임베딩의 의미적 정밀도(Precision)를 높입니다. 이후 해당 청크가 검색되었을 때는 그 주변의 전후 문맥을 포함한 1,000토큰 내외의 상위 청크(Parent Chunk)를 LLM에 확장 전송함으로써 맥락의 완전성(Recall)을 보완하는 구조를 취합니다.