본문 바로가기
AI/RAG

Retrieval Augmented Generation (RAG)

by dhkim327 2025. 2. 28.

 


1. Retrieval-Augmented Generation

  검색 증강 생성(RAG, Retrieval-Augmented Generation)은 대규모 언어 모델(LLM)의 응답 생성 능력외부 지식 검색 기능을 결합한 기술입니다. 최근 다양한 선도 기업들이 RAG 기반 파이프라인을 구축하여 서비스에 접목함으로써, 사용자에게 더욱 정확하고 친화적인 서비스를 제공하는 추세가 확산되고 있습니다.

기존 LLM의 한계와 미세 조정(fine-tuning)의 과제

RAG는 기존 LLM이 가진 여러 한계점을 해결하기 위해 등장했습니다. LLM은 다음과 같은 문제점들을 갖고 있습니다

  • 정보의 최신성 문제: 학습한 시점의 데이터 이후의 정보를 알지 못함
  • 도메인 특화 지식의 부족: 특정 분야의 전문적 지식 부족
  • 할루시네이션: 그럴듯하지만 사실이 아닌 정보 생성

이러한 문제를 해결하기 위한 전통적인 방법으로 '미세 조정(fine-tuning)'이 사용되었습니다. 최신 데이터나 도메인 특화 지식을 가지고 LLM을 추가로 학습시키는 이 방식은 효과적이지만 다음과 같은 여러 제약이 있습니다

  • 높은 컴퓨팅 자원 요구: 대규모 모델을 재학습시키는 데 필요한 GPU/TPU 비용
  • 기술적 복잡성: 모델 학습을 위한 전문 지식 필요
  • 시간 소요: 모델 재학습에 상당한 시간 필요
  • 지속적 갱신의 어려움: 정보가 계속 변화할 경우 반복적인 재학습 필요

이러한 이유로 일반 로컬 환경이나 자원이 제한된 상황에서는 미세 조정 방식을 적용하기 어렵습니다. 물론 충분한 데이터와 계산 자원이 있다면 미세 조정도 여전히 강력한 접근법입니다.

RAG의 장점

  RAG는 미세 조정 방법론과 달리 이미 학습되어 있는 다양한 LLM들을 재학습 없이 잘 정리되어 있는 외부 지식을 참조하여 응답을 수행하는 일종의 '프롬프트 학습(Prompt Learning)' 방법론에 기반하고 있습니다. 따라서 다음과 같은 장점들을 가지고 있습니다.

  • 비용 및 시간 효율성: 모델 재학습 없이 외부 지식을 활용하여 시간과 자원 절약
  • 모델 일반성 유지: 원본 LLM의 범용 능력을 보존하며 특정 도메인에 과적합되지 않음
  • 응답의 정확성 및 신뢰성: 생성된 정보의 출처와 근거를 명확히 제시 가능
  • 할루시네이션 감소: 검증된 외부 지식 기반으로 응답하여 오류 가능성 최소화

RAG vs Fine-tuning


2. Basic RAG Pipeline

   RAG는 LLM을 미세 조정하는 대신 다양한 외부 소스를 참조하고 유저와의 상호작용하는 것을 필요로 하기 때문에, 일관성있는 파이프라인을 구축하는 것을 필요로 합니다. 이번 섹션에서는 기본적인 RAG 파이프라인의 구조와 요소들을 알아보겠습니다.

Data Indexing

  데이터 인덱싱은 RAG 시스템 구축의 첫 단계로 외부 문서, 웹페이지, 데이터베이스 등의 지식 소스를 수집하고 전처리한 후, 임베딩 모델을 활용하여 의미 있는 벡터로 변환하여 벡터 데이터베이스에 저장하는 과정입니다. 이 과정에서 효율적인 검색을 위한 인덱스 구조도 함께 구축됩니다. 고도화된 RAG 시스템에서는 사용자의 쿼리와 응답 또한 벡터화하여 지식 베이스에 추가함으로써 시스템이 지속적으로 학습하고 성장하는 구조를 만들 수 있습니다.

Data Retrieval & Generation

  초기 데이터 인덱싱이 끝났다면 실질적으로 유저의 쿼리를 입력으로 받아 요청에 맞는 지식을 검색(Retrieval)하고 응답을 생성(Generation)하는 구조를 구축해야합니다. 이 과정은 크게 5가지 과정을 포함합니다.

  1. 쿼리 처리(Query Processing): 사용자의 질의를 받아 이를 동일한 벡터 공간으로 임베딩합니다.
  2. 검색(Retrieval): 질의 벡터와 가장 유사한 문서 벡터를 찾아 관련성 높은 정보를 검색합니다. 이때 코사인 유사도와 같은 측정 방법이 사용됩니다.
  3. 컨텍스트 구성(Context Building): 검색된 정보들을 모아 LLM에 제공할 컨텍스트를 구성합니다.
  4. 응답 생성(Response Generation): LLM이 사용자 질의와 검색된 컨텍스트를 기반으로 최종 응답을 생성합니다.
  5. 평가 및 피드백(Evaluation & Feedback): 생성된 응답의 품질을 평가하고, 필요에 따라 시스템을 개선합니다.

가장 기본적인 RAG 파이프라인은 주로 두 가지 핵심 모델로 구성되는데 바로 임베딩 모델응답 생성 모델입니다.

  • 임베딩 모델(Embedding Model)은 텍스트를 수치적 벡터로 변환하는 역할을 합니다. 문서나 쿼리의 의미론적 정보를 벡터 공간에 표현함으로써, 의미적으로 유사한 텍스트들이 벡터 공간에서 서로 가깝게 위치하도록 합니다. 대표적으로 Sentence-BERT, E5, OpenAI의 text-embedding-ada와 같은 모델들이 사용됩니다.
  • 응답 생성 모델(Response Generation Model)은 사용자 쿼리와 검색된 관련 정보를 바탕으로 최종 응답을 생성합니다. 주로 GPT, Claude, LLaMA와 같은 대규모 언어 모델(LLM)이 이 역할을 수행합니다. 응답 생성 모델은 검색된 정보를 이해하고 이를 사용자의 쿼리 맥락에 맞게 통합하여 자연스럽고 정확한 답변을 생성하는 역할을 담당합니다. 이 과정에서 모델은 검색된 여러 정보 조각들을 일관성 있게 통합하고, 필요하다면 추론을 통해 답변을 완성합니다.

또한, 문서와 쿼리의 임베딩 간의 유사도를 정확히 측정하는 검색(Retrieval) 알고리즘은 RAG 시스템의 핵심 요소입니다. 코사인 유사도, BM25, HNSW와 같은 알고리즘들이 주로 사용되며, 대규모 벡터 데이터베이스에서는 근사 최근접 이웃(ANN) 알고리즘이 검색 속도와 정확도의 균형을 맞추는 데 중요한 역할을 합니다. 데이터의 특성과 시스템 요구사항에 따라 적절한 알고리즘을 선택하는 것이 RAG 성능 최적화의 핵심입니다.


 

  검색 증강 생성(RAG) 기술은 대규모 언어 모델의 생성 능력과 외부 지식 검색을 결합함으로써 최신성, 도메인 특화 지식, 할루시네이션 문제를 효과적으로 해결하고 있습니다. 미세조정과 달리 적은 컴퓨팅 자원으로도 구현 가능한 RAG는 기업들이 비용 효율적으로 정확하고 신뢰할 수 있는 AI 서비스를 제공할 수 있게 하였으며, 앞으로 임베딩 모델구조의 발전과 다양한 LLM들의 조합으로 더욱 정교하고 강력한 형태로 발전해 나갈 것입니다.


Referece