Retrieval-Augmented Generation(RAG)

·2025년 7월 21일

Data

목록 보기
10/10

1. 학습 배경

최근 “LLM과 RAG 기술 활용편” 해커톤에 참여하며, 대형 언어 모델(LLM)의 한계와 이를 극복하기 위한 Retrieval-Augmented Generation(RAG)의 개념을 깊이 탐구했습니다. 본 TIL에서는 RAG의 이론적 원리, 구성 요소, 구현 파이프라인, 주요 프레임워크, 그리고 축구 MBTI 챗봇 프로젝트 사례를 토대로 ‘나만의 RAG’를 설계해 보겠습니다.


2. LLM의 주요 한계와 해결 필요성

  1. 할루시네이션(Hallucination)
    • 모델이 현실에 존재하지 않는 정보를 “사실처럼” 생성
  2. Knowledge Cutoff
    • 학습 종료 시점 이후의 최신 데이터 미반영 → 시계열성·실시간 정보 취약 :contentReference[oaicite:1]{index=1}

핵심: LLM 단독으로는 정확도와 최신성을 동시에 담보하기 어려우므로, 외부 문서를 활용해 문맥을 보강하는 RAG가 주목받는다.


3. RAG의 개념 및 구성 요소

  • Retrieval (검색)
    • 질문과 문서 임베딩 간 코사인 유사도 계산 → 유사 문서 Top-k 선별
  • Augmentation (증강)
    • 선별된 문서를 프롬프트에 포함시켜 모델에 전달
  • Generation (생성)
    • 보강된 문맥으로부터 보다 정확·관련성 높은 응답 생성 :contentReference[oaicite:2]{index=2}
flowchart LR
  Q[사용자 질문] --> R[Retrieval: 문서 검색]
  R --> A[Augmentation: 문맥 결합]
  A --> G[Generation: 답변 생성]
  G --> O[응답 출력]

4. 임베딩 & 유사도 검사

  1. 임베딩(Embedding)

    • 문장/문서 단위 토큰을 벡터로 변환 (e.g. OpenAI, SBERT 등)
  2. 유사도 측정

    • 코사인 유사도(cosine similarity)
    • 내적(dot product) 기반 스코어링 ([Hippo's data][1])

포인트: 임베딩 품질이 곧 검색 정확도로 직결되므로, 도메인 특화 임베딩 모델을 활용하거나 후처리(차원 축소, Clustering 등)를 적용하면 성능을 높일 수 있다.


5. 프레임워크 비교

프레임워크특징장점단점
LangChain모듈화된 컴포넌트 제공유연한 파이프라인 설계초기 러닝커브 높음
LlamaIndex문서 중심 인덱싱간편한 문서 관리커스터마이징 제한
Haystack엔터프라이즈 지원다양한 백엔드 연동설정 복잡도 높음

6. 느낀 점 & 다음 스텝

“RAG는 단순히 검색+생성이 아니라, 문서 품질 관리임베딩 효율화가 생명입니다. 직접 구축해 보니, 데이터 수집·전처리 파이프라인이 곧 사용자 경험을 좌우하더군요. 다음에는 Transformer 기반 Retrieval 모델(예: DPR, ColBERT)을 적용해 검색 정확도를 비교 분석해 보겠습니다.” ([Hippo's data][1])


🔗 참고 자료

  • Hippo’s data, “RAG 넌 누구냐” (2025.03.04) ([Hippo's data][1])
  • LangChain 공식 문서
  • Relevance-Based Embeddings: DPR, ColBERT 논문

0개의 댓글