AI 트렌드

Retrieval 전략 깊이 파고들기

deep daiv.

2025.05.02 15:05
  • 63
  • 콘텐츠에 ‘좋아’해줘서 고마워요 -
    0
  • 0
#89 위클리 딥 다이브 | 2025년 4월 30일
에디터 스더리

💡 이번주 뉴스레터에는 이런 내용을 담았어요!

  • Retrieval의 전반적인 발전 흐름에 대해 이해합니다.
  • No/Early/Late Interaction Retrieval 방식에 대해 알아봅니다.
  • 각 Retrieval 방식의 장단점에 대해 알아봅니다.

🔍 Retrieval 전략 깊이 파고들기 

안녕하세요, 에디터 스더리입니다.

 

RAG(Retrieval-Augmented Generation)에 대해 들어보셨나요? RAG는 말 그대로 검색(Retrieval)과 생성(Generation)을 결합한 방식입니다. 모델이 질문(Query)에 답하기 전에, 외부 데이터베이스나 문서에서 관련 정보를 먼저 검색하고, 그 자료를 바탕으로 답변을 생성하는 구조입니다. 덕분에 모델은 자기 내부의 지식만이 아니라, 외부 지식까지 활용하여 보다 정확한 답변을 만들 수 있습니다. 아래 사진이 RAG의 구조인데요, 빨간색 박스 부분이 바로 오늘 집중하게 될 Retrieval입니다.

Retrieval은 주어진 쿼리에 대해 관련성 높은 문서를 데이터베이스에 검색하는 과정을 의미합니다. 그런데 이 “Retrieval에도 여러 가지 방식이 있다”는 사실, 알고 계셨나요? 검색의 방식에 따라 최종 생성 결과물의 품질이 크게 달라지기도 하는데요, 오늘 뉴스레터에서는 여러 Retrieval 방식에 대해 살펴볼 계획입니다!

Sparse Retrieval vs. Dense Retrieval

초기의 정보검색은 Sparse Retrieval 방식을 중심으로 발전했습니다. Sparse Retrieval은 문서와 쿼리를 단어의 단순 일치 여부와 빈도에 기반해 관련성을 판단하는 방식으로, 대표적으로는 BM25나 TF-IDF과 같은 키워드 기반 통계 기법이 있습니다. 이 방식에서는 문서와 쿼리를 One-Hot 벡터와 같은 Sparse한 형태의 벡터로 나타내는데, 전체 단어 집합 중 특정 단어에만 값이 존재하는 이러한 벡터가 만들어지는 것을 위의 그림에서 볼 수 있습니다.

 

따라서 구조가 단순하고 연산이 효율적인 덕분에 검색 속도가 빠르다는 장점이 있지만, 단어 간 의미적 유사성이나 문맥을 이해하지 못한다는 근본적인 한계도 존재합니다. 예를 들어, "개를 물에서 구하는 방법"이라는 쿼리를 입력했을 때, 문서에 "강아지를 물에서 구조했다"라고 쓰여 있어도, Sparse Retrieval은 "개"와 "강아지"를 다른 단어로 인식해 검색해 내지 못할 수 있는 것이죠.

 

이러한 한계를 극복하기 위해 등장한 것이 Dense Retrieval인데요, 위 그림에서 살펴볼 수 있듯이 이는 문서와 쿼리를 각각 임베딩하여 벡터로 변환하고, 이 간의 의미적 유사도를 계산해 관련성을 판단합니다. 단어가 정확히 일치하지 않더라도 문맥상 의미가 유사한 문서들을 검색할 수 있어, 복잡하거나 다양한 표현을 포함한 질문들에 대해 Sparse Retrieval보다 높은 정확도를 보여줍니다.

 

이러한 Dense Retrieval도 Interaction의 종류에 따라 세부적으로 나눌 수 있어, 특히 Dense Retrieval의 세 가지 방식을 소개하려고 합니다. 본격적으로 살펴보기 전, 여기서 말하는 Interaction은 문서와 쿼리의 표현을 비교하여 주어진 쿼리에 문서가 얼마나 잘 부합하는지를 평가하는 과정을 뜻합니다. 즉, 쿼리와 문서를 어떤 수준에서, 어떤 방식으로 비교하는지에 따라 다양한 Retrieval 방법들이 나뉘게 되는 것이죠.

No Interaction Retrieval

No Interaction Retrieval은 아래의 그림에도 잘 나타나 있듯이 질문(Query)과 문서(Document)를 서로 독립적으로 인코딩해 비교하는 방식입니다. 질문도 하나의 벡터로, 문서도 각각의 벡터로 변환한 다음, 두 벡터 간의 거리를 재서 가장 가까운 문서를 찾습니다. 대표적인 모델은 Dense Passage Retrieval(DPR)입니다.   


No Interaction Retrieval의 가장 큰 장점은 빠른 검색 속도와 높은 확장성입니다. 쿼리와 문서를 따로따로 인코딩 해놓기 때문에, 새로운 질문이 들어오더라도 이미 저장된 문서 벡터들과 빠르게 유사도 계산만 하면 됩니다. 이렇게 하면 대규모 데이터베이스에서도 실시간으로 검색할 수 있어 매우 효율적입니다.

 

하지만, 이 방식은 쿼리와 문서가 서로 영향을 주지 않고 독립적으로 처리되기 때문에, 맥락이나 미묘한 의미 차이를 잡아내는 데에는 한계가 있습니다. 예를 들어, 문장 표현이 조금만 다르거나, 여러 단계를 거쳐야 답을 추론할 수 있는 복잡한 질문의 경우, 정확도가 떨어질 수 있습니다.

Early Interaction Retrieval

이러한 문제를 해결하기 위해 Full Interaction 또는 All-to-all Interaction Retrieval이라고도 불리는 Early Interaction Retrieval은 검색 쿼리와 문서를 함께 처리합니다. 쿼리와 문서를 연결(Concat)하여 모델에 넣고, Cross-attention 메커니즘을 통해 두 텍스트 간의 정밀한 상호작용을 학습하는 구조입니다. 단순한 단어 일치를 넘어 문맥적 의미, 문장 구조, 논리적 연결까지 고려할 수 있도록 해줍니다. 대표적인 모델로는 BERT 기반의 Cross-Encoder가 있으며, 쿼리와 문서를 하나로 연결해 입력한 뒤, 그에 대한 점수를 예측하는 방식으로 작동합니다.

 

하지만 단점도 있습니다. 위 그림에서 볼 수 있듯이 모든 문서를 질문과 함께 모델에 다시 넣어야 하는데요, 새로운 질문이 들어올 때마다 계산량이 엄청나게 커지게 됩니다. 그래서 Early Interaction은 대규모 검색 시스템에는 적용하기 어렵고, 보통은 상위 문서들을 재정렬(Reranking)하는 단계에서 사용합니다.

Late Interaction Retrieval

그렇다면 속도와 정밀도의 균형을 잡을 수는 없을까요? 이를 위해 제안된 방식이 바로 Late Interaction Retrieval입니다. 이 방식은 쿼리와 문서를 독립적으로 인코딩하지만, 검색 시점에서 각각의 토큰 단위로 세밀한 비교를 수행합니다. 쉽게 말하면, 문서 하나 전체와 질문 하나 전체를 비교하는 대신, 질문 안의 각 단어(토큰)가 문서 안의 각 단어와 얼마나 비슷한지를 일일이 살펴보는 방식입니다.

 

대표적인 모델로는, Last Interaction Retrieval이 처음 소개된 ColBERT(Contextualized Late Interaction over BERT)가 있습니다. 아래의 그림은 이의 작동 방식을 시각적으로 보여주는데요, ColBERT는 질문과 문서를, BERT를 이용해 각각 인코딩하고, 토큰별 임베딩을 만들어 저장합니다. 검색 시에는 쿼리의 각 토큰이 문서의 모든 토큰과 유사도를 계산한 뒤, 가장 유사한 값(MaxSim)을 선택하고 이들을 합산(Σ)하여 최종 점수를 계산합니다.

 

Late Interaction Retrieval은 No Interaction Retrieval처럼 인코딩을 미리 해둘 수 있기 때문에 빠른 검색 속도와 높은 확장성을 유지할 수 있습니다. 동시에 토큰 수준에서 정밀한 비교를 수행하기 때문에, Early Interaction Retrieval에 준하는 높은 정밀도를 얻을 수 있다는 큰 장점이 있습니다.

 

다만, 문서마다 토큰 단위의 임베딩을 모두 저장해야 하다 보니, 인덱스 크기가 커지는 단점이 있습니다. 이 문제를 해결하기 위해 최근에는 인덱스를 압축하거나, 임베딩을 양자화(Quantization)하는 연구들이 활발히 진행되고 있습니다. 또한, ColBERT 이후 이를 개선한 ColBERTv2XTR (ConteXtualized Token Retrieval) 같은 발전된 모델들도 등장하며, 효율성과 성능을 동시에 높이려는 시도들이 이어지고 있습니다.

지금까지 기존의 Sparse Retrival에서 출발해 Dense Retrieval의 No Interaction Retrieval, 정밀한 맥락 이해를 가능하게 한 Early Interaction Retrieval을 거쳐, 두 방식의 장단점을 절충한 Late Interaction Retrieval까지 살펴보았습니다.

 

RAG와 같은 생성 시스템에서도, 보다 정밀한 문서 검색이 필요한 상황에서 Late Interaction 방식을 접목한 시도들이 계속 이어지고 있습니다. 앞으로 더 정교하고 신뢰할 수 있는 RAG 시스템을 만들기 위해서는  “어떤 문서를 어떻게 검색할 것인가”라는 질문에 더 깊은 고민이 필요할 것입니다.

오늘도 읽어주셔서 감사합니다. 
SNS를 팔로우하면
최신 소식을 가장 빠르게 확인하실 수 있습니다 😆

지금 읽고 있는 뉴스레터를 매주 받아 보고 싶다면
아래 '구독하기' 버튼을 클릭해주세요 😉

 

 

 

 

  • #RAG
  • #Retrieval
  • #AI

추천 콘텐츠

더보기