본문 바로가기
인공지능/랭체인

4. Retrieval-Augmented Generation (RAG): 대규모 언어 모델(LLM)과 정보 검색의 결합

by 으노으뇨 2025. 4. 2.
728x90
반응형
SMALL

1. RAG 개념 및 필요성

1.1. 기존 LLM의 한계

기존 대규모 언어 모델(LLM, Large Language Model)은 훈련된 데이터 내에서만 답변을 생성하는 폐쇄형(Closed-book) 모델입니다. 이는 최신 정보 반영이 어렵고, 훈련 데이터 외부의 새로운 사실을 포함하지 못하는 한계를 가집니다.

1.2. RAG의 역할

Retrieval-Augmented Generation(RAG)은 이러한 한계를 극복하기 위해 외부 정보 검색(Retrieval)과 생성(Generation) 단계를 결합한 프레임워크입니다. 이를 통해 LLM은 대규모 문서 데이터베이스나 인터넷과 같은 정보 원천에서 정확하고 최신의 데이터를 검색한 후, 이를 기반으로 응답을 생성할 수 있습니다.

핵심 개념:

  • Retrieval(정보 검색): 질의(Query)에 맞는 문서를 검색
  • Augmentation(정보 강화): 검색된 문서의 핵심 내용을 추출 및 정리
  • Generation(텍스트 생성): 검색된 정보 기반으로 자연어 응답 생성

2. RAG 구현 과정

RAG는 정보 검색텍스트 생성의 두 가지 주요 프로세스로 구성됩니다.

2.1. 정보 검색 단계 (Retrieval Stage)

2.1.1. 질문 입력 및 검색 과정

  1. 질문 입력 (Query Input)
    • 사용자는 구글, Bing, 네이버 등의 검색 엔진을 이용하듯이 질의를 입력
    • 검색을 수행하기 전에, LLM은 입력된 질의를 **벡터 임베딩(Vector Embedding)**으로 변환
    • Transformer 기반 임베딩 모델 사용 (예: OpenAI’s Ada Embedding, Sentence-BERT)
  2. 검색 방식 선택
    검색 방식은 크게 키워드 검색시맨틱 검색으로 나뉘며, 상황에 따라 적절한 방식을 적용해야 합니다.
    • 검색어(질문)에 포함된 단어가 문서 내에서 얼마나 자주 등장하는지를 기준으로 문서를 검색
    • 전통적인 TF-IDF(Term Frequency-Inverse Document Frequency) 또는 BM25 알고리즘 활용
    TF-IDF 공식:
  3. (1) 키워드 검색 (Keyword Search)
  • 검색어(질문)에 포함된 단어가 문서 내에서 얼마나 자주 등장하는지를 기준으로 문서를 검색
  • 전통적인 TF-IDF(Term Frequency-Inverse Document Frequency) 또는 BM25 알고리즘 활용

TF-IDF 공식:

  • TF(t,d) = 특정 단어 tt가 문서 dd에서 등장하는 빈도
  • IDF(t) = 해당 단어가 전체 문서에서 얼마나 드문지를 반영하는 가중치

https://uno-kim.tistory.com/422

 

(궁금) TF-IDF (Term Frequency-Inverse Document Frequency)가 뭘까

1. TF-IDF 개요TF-IDF(Term Frequency-Inverse Document Frequency)는 **텍스트 마이닝(text mining) 및 자연어 처리(NLP, Natural Language Processing)**에서 문서 내 특정 단어의 중요도를 평가하는 대표적인 방법입니다.이를

uno-kim.tistory.com

 

BM25 공식:

  • 문서 길이에 따라 검색 결과를 보정하여 보다 정밀한 검색 결과 제공

https://uno-kim.tistory.com/423

 

(궁금) BM25 (Best Matching 25) 이란 무엇일까?

1. BM25 개요BM25(Best Matching 25)는 정보 검색(Information Retrieval, IR) 및 자연어 처리(NLP, Natural Language Processing) 분야에서 문서와 쿼리(Query) 간의 관련성을 평가하는 대표적인 랭킹 함수입니다.📌 핵심

uno-kim.tistory.com

 

(2) 시맨틱 검색 (Semantic Search)

  • 문장의 **의미적 유사성(Semantic Similarity)**을 기반으로 검색
  • 단어 일치보다 문맥을 이해하는 검색 기법
  • 대표적인 기법: Sentence Embedding + 벡터 검색(Vector Search)

코사인 유사도 (Cosine Similarity)

    • A와 B는 각각의 문장 벡터
    • 내적( A⋅BA \cdot B )을 벡터 크기의 곱으로 나누어 정규화
  1. 랭킹 처리 (Ranking & Scoring)
    • 검색된 문서에 대해 **유사도 점수(Similarity Score)**를 계산
    • 문서의 문맥(Context)과 질의 의도를 고려하여 최적의 검색 결과 랭킹을 생성

https://uno-kim.tistory.com/424

 

(궁금) 시맨틱 검색(Semantic Search)와 코사인 유사도(Cosine Similarity)이란 뭘까?

시맨틱 검색은 문장의 의미적 유사성(Semantic Similarity)을 기반으로 검색을 수행하는 기법이다. 이는 전통적인 키워드 검색과 달리 단순한 단어 일치(matching) 방식이 아닌 문맥과 의미를 고려하는

uno-kim.tistory.com

 


2.2. 검색된 정보 처리 (Document Retrieval Processing)

  1. 문서 벡터화 (Vectorization)
    • 검색된 문서들을 벡터 임베딩을 통해 다차원 벡터 공간으로 변환
    • 대표적인 벡터 검색 라이브러리:
      • FAISS (Facebook AI Similarity Search)
      • Annoy (Approximate Nearest Neighbors Oh Yeah)
      • HNSW (Hierarchical Navigable Small World Graph)
  2. 유사도 계산 (Similarity Computation)
    • 검색된 문서가 입력된 질문과 얼마나 관련성이 높은지를 평가
    • 대표적인 유사도 측정 방법: 코사인 유사도
  3. 검색 결과 랭킹 처리 (Ranking Calculation)
    • 검색된 문서 중 가장 높은 유사도를 가진 문서를 상위 랭킹으로 배치
    • LLM이 사용할 정보를 선별하기 위해 Thresholding (임계값 설정) 기법 적용

2.3. 텍스트 생성 단계 (Text Generation Stage)

  1. LLM의 생성 모델 적용
    • 검색된 정보(문맥 정보)를 LLM에 입력하여 답변을 생성
    • GPT 계열, LLaMA, Claude 등의 모델을 활용 가능
  2. 지식 기반 응답 생성
    • LLM이 검색된 정보를 활용하여 자연어로 응답 생성
    • 답변의 **일관성(Coherence), 정확성(Accuracy), 신뢰성(Reliability)**을 보장하기 위해 후처리 수행
  3. 결과 검증 및 후처리
    • LLM이 생성한 답변을 평가하여 **할루시네이션(Hallucination, 거짓 정보 생성)**을 방지
    • 필터링, Fact-checking, 추가적인 검색 프로세스를 수행

3. RAG의 장점과 한계

✅ 장점

  • 최신 정보 활용: 모델이 사전에 학습되지 않은 새로운 정보를 검색 가능
  • 정확도 향상: 훈련 데이터에 의존하지 않고도 신뢰할 수 있는 응답 생성
  • 검색 효율성 증대: 전통적인 검색과 생성 모델을 결합하여 정보 검색의 효율성 증가

⚠️ 한계

  • 연산 비용 증가: 문서 검색 및 벡터 변환 과정에서 추가적인 연산 비용 발생
  • 할루시네이션 문제: 검색된 정보가 신뢰할 수 없는 경우, 거짓 응답 생성 가능
  • 최적의 검색 알고리즘 필요: 검색 품질이 모델 성능에 직접적인 영향을 미침
728x90
반응형
LIST