머신러닝 & 딥러닝/LLM

[LLM] RAG 시스템의 아키텍처와 검색 알고리즘

Haru_29 2025. 3. 5. 00:02

1. RAG 아키텍처(RAG Architecture)

RAG(Retrieval-Augmented Generation) 시스템은 크게 두 가지 주요 구성 요소로 이루어집니다.

1️⃣ 리트리버(Retriever): 외부 데이터(문서, 테이블, 채팅 기록 등)에서 관련 정보를 검색

2️⃣ 생성 모델(Generative Model): 검색된 정보를 바탕으로 응답을 생성

  • 사용자가 입력한 프롬프트(prompt)가 먼저 리트리버로 전달됨
  • 리트리버는 외부 데이터베이스에서 관련성이 높은 정보를 검색
  • 검색된 정보가 생성 모델로 전달되며, 이를 바탕으로 최종 응답이 생성

이 구조는 기존의 AI 모델이 단순히 학습된 데이터만으로 답변을 생성하는 방식과는 다릅니다.

  • 기존 모델: 미리 학습된 지식을 바탕으로 답변
  • RAG 모델: 실시간으로 관련 정보를 검색하여 답변을 생성

2. RAG 시스템의 발전과 훈련 방식

초기 RAG 논문(Lewis et al., 2020)에서는 리트리버와 생성 모델을 함께 훈련하였습니다. 하지만 최근의 RAG 시스템은 다음과 같이 발전했습니다.

리트리버와 생성 모델을 별도로 훈련

  • 오픈소스 검색 엔진 및 기존 검색 모델을 활용하여 리트리버를 구축
  • 다양한 언어 모델을 조합하여 생성 모델을 최적화

파인튜닝(fine-tuning)을 통해 성능 개선

  • 리트리버와 생성 모델을 따로 학습한 후, 전체 RAG 시스템을 파인튜닝하여 성능을 극대화
  • 이를 통해 더 정확하고 신뢰성 높은 결과를 생성 가능

📌 RAG 성능의 핵심 요소: 리트리버 품질

  • 리트리버가 얼마나 정확하고 빠르게 관련 정보를 검색할 수 있는가가 RAG의 성능을 좌우
  • 리트리버는 색인화(Indexing)와 질의(Querying)라는 두 가지 기능을 수행
    • 색인화: 문서를 저장하고 빠르게 검색할 수 있도록 준비하는 과정
    • 질의(Querying): 사용자의 입력을 기반으로 가장 관련성이 높은 데이터를 찾아 반환

리트리버가 얼마나 효과적으로 정보를 검색하는가에 따라, RAG의 성능이 크게 달라질 수 있다!


3. 검색 알고리즘(Retrieval Algorithms)

RAG에서 사용하는 검색 알고리즘은 기존의 검색 엔진, 추천 시스템, 로그 분석 등의 원리를 활용합니다.

📌 검색(Retrieval) vs. 탐색(Search)

  • 검색(Retrieval): 단일 데이터베이스에서 정보를 찾는 것
  • 탐색(Search): 다양한 시스템에서 정보를 찾는 것

3.1 검색 알고리즘의 핵심 원리

  • 검색 알고리즘은 문서의 관련성을 평가하여 순위를 매기는 방식으로 작동
  • RAG 시스템은 검색 성능을 최적화하기 위해 다양한 방법을 활용

3.2 주요 검색 알고리즘

🔹 용어 기반 검색(Term-Based Retrieval)

  • 특정 키워드나 검색어가 문서 내에 얼마나 많이 등장하는지를 기준으로 검색
  • 전통적인 검색 엔진(예: TF-IDF, BM25)에서 주로 사용됨

🔹 임베딩 기반 검색(Embedding-Based Retrieval)

  • 문서와 검색어를 벡터 공간에 매핑한 후, 유사도를 계산하여 검색
  • 딥러닝과 자연어 처리(NLP) 모델을 활용하여 보다 정교한 검색 가능

📌 예제

  • 용어 기반 검색: "AI 연구 논문"이라는 키워드를 포함하는 문서를 검색
  • 임베딩 기반 검색: "최신 AI 기술 동향"이라는 질문이 주어졌을 때, 의미적으로 관련성이 높은 논문 검색

최근에는 용어 기반 검색과 임베딩 기반 검색을 결합하여 더 정교한 검색 시스템을 구축


4. RAG의 효과적인 활용을 위한 검색 최적화

💡 문서 분할(Document Chunking)의 필요성

  • 문서 크기가 너무 크면 검색이 비효율적이므로, 적절한 크기로 분할(Chunking)하여 검색 성능을 향상
  • RAG는 검색된 텍스트 조각(chunks)을 생성 모델이 이해할 수 있도록 가공

💡 검색 최적화의 중요성

  • 검색된 정보가 정확할수록 생성 모델의 성능이 향상
  • 검색 성능을 높이기 위해 색인화 방법 최적화, 벡터 임베딩 개선, 파인튜닝된 검색 모델 활용

RAG 성능 최적화를 위해 검색 시스템을 지속적으로 개선해야 한다!


5. 결론: RAG는 검색과 생성의 결합을 통해 강력한 AI 시스템을 구축한다

📌 핵심 정리

✔️ RAG는 리트리버(Retriever)와 생성 모델(Generative Model)로 구성

✔️ RAG 성능의 핵심은 리트리버의 품질 (정확한 정보 검색이 중요)

✔️ 검색 알고리즘은 용어 기반 검색(TF-IDF, BM25)과 임베딩 기반 검색으로 나뉨

✔️ 검색 성능을 높이기 위해 문서 분할(Chunking)과 최적화 기법 활용 필요