RAG 이란?
RAG (Retrieval-Augmented Generation, 검색 증강 생성)은 거대 언어 모델(LLM)의 한계를 보완하기 위해 외부 데이터베이스에서 관련 정보를 검색(Retrieval)하여 이를 기반으로 답변을 생성(Generation)하는 기술입니다.
비유하자면, 시험을 볼 때 머릿속에 있는 지식만으로 답을 쓰는 것이 아니라, "오픈 북 테스트"처럼 교과서나 참고서를 찾아보고 정확한 답을 작성하는 과정과 같습니다.
RAG는 왜 필요한가?
LLM(예: GPT-4, Claude 등)은 매우 똑똑하지만, 구조적인 한계가 존재합니다. RAG는 이 세 가지 핵심 문제를 해결합니다.
- 할루시네이션(Hallucination) 방지: LLM은 모르는 내용도 마치 사실인 것처럼 그럴싸하게 지어내는 경향이 있습니다. RAG는 "팩트(검색된 문서)"를 근거로 답하게 하여 거짓 답변을 줄입니다.
- 최신 정보의 부재 해결 (Knowledge Cut-off): 모델은 학습 시점(예: 2023년) 이후의 데이터를 모릅니다. RAG를 사용하면 모델을 재학습시키지 않고도 실시간 뉴스나 오늘 주가 정보를 반영할 수 있습니다.
- 비공개/사내 데이터 활용: 기업의 내부 문서, 고객 정보 등 모델이 학습하지 않은 보안 데이터를 안전하게 활용하여 답변할 수 있습니다.
RAG의 작동 원리
RAG의 프로세스는 크게 3단계로 나뉩니다.
- 인덱싱 (Indexing): 사내 문서나 데이터베이스의 텍스트를 컴퓨터가 이해할 수 있는 숫자 형태(임베딩, Embedding)로 변환하여 벡터 데이터베이스(Vector DB)에 저장합니다.
- 검색 (Retrieval): 사용자가 질문을 하면, 질문과 가장 의미가 유사한 문서를 벡터 DB에서 찾아냅니다.
- 생성 (Generation): 찾아낸 문서(Context)와 사용자의 질문(Query)을 합쳐 프롬프트로 만든 뒤 LLM에게 전달합니다. LLM은 이 정보를 바탕으로 최종 답변을 생성합니다.
구체적인 예시 (사내 챗봇 시나리오)
상황: 직원이 사내 챗봇에게 "이번 추석 상여금 지급 규정이 어떻게 돼?"라고 묻는 경우를 가정해 봅시다.
Case A: RAG가 없는 경우 (일반 LLM)
- LLM: (학습된 일반적인 상여금 지식으로 대답) "보통 기업들은 추석 전주에 기본급의 50%를 지급하지만, 회사 내규에 따라 다를 수 있습니다."
- 문제점: 우리 회사의 구체적인 규정을 모르므로 두루뭉술하거나 틀린 답을 합니다.
Case B: RAG를 적용한 경우
- 검색: 챗봇이 사내 규정 PDF 파일들이 저장된 벡터 DB를 검색하여 '2024년 급여 지급 규정.pdf' 내의 '제 4조 상여금' 항목을 찾아냅니다.
- 프롬프트 구성: "다음 문서를 참고하여 직원의 질문에 답하세요. [문서 내용]: 상여금은 재직 6개월 이상 자에 한해 추석 3일 전 100만 원 일괄 지급한다. [질문]: 이번 추석 상여금 지급 규정이 어떻게 돼?"
- 생성 (최종 답변): "우리 회사 규정에 따르면, 재직 6개월 이상인 경우 추석 3일 전에 100만 원이 일괄 지급됩니다."
RAG vs 파인튜닝 (Fine-tuning)
많은 분들이 헷갈려 하는 개념인 파인튜닝과 비교하면 이해가 더 쉽습니다.
|
구분
|
RAG (검색 증강 생성)
|
Fine-tuning (파인튜닝)
|
|
비유
|
책을 펴놓고 시험 보기 (참고)
|
공부를 더 시켜서 지식을 주입하기 (학습)
|
|
목적
|
정확한 최신 정보, 근거 기반 답변
|
특정 말투, 도메인 전문 용어, 작업 방식 학습
|
|
데이터 갱신
|
데이터베이스만 업데이트하면 됨 (즉시 반영)
|
모델을 다시 학습시켜야 함 (시간/비용 소모)
|
|
환각 현상
|
낮음 (근거 제시 가능)
|
여전히 발생 가능
|
연관 개념 및 기술 스택
RAG를 구현하기 위해 자주 언급되는 기술 용어들입니다.
- Vector Database (벡터 DB): 텍스트의 의미를 숫자로 저장해 유사도 검색을 수행하는 저장소. (예: Pinecone, Chroma, Milvus, Elasticsearch)
- Embeddings (임베딩): 사람이 쓰는 언어를 기계가 이해하는 벡터(숫자)로 변환하는 기술.
- Orchestrator (프레임워크): RAG의 전 과정을 연결해 주는 도구. (예: LangChain, LlamaIndex)
RAG의 한계와 과제
RAG가 만능은 아니며, 다음과 같은 고려 사항이 있습니다.
- 검색 품질 의존성 (Garbage In, Garbage Out): 검색 단계에서 엉뚱한 문서를 가져오면, LLM도 엉뚱한 답을 내놓습니다. 검색 정확도가 가장 중요합니다.
- 지연 시간 (Latency): 검색 과정을 거쳐야 하므로 일반적인 LLM 응답보다 시간이 조금 더 걸릴 수 있습니다.
- 컨텍스트 윈도우 한계: 검색된 문서의 양이 너무 방대하면 LLM이 한 번에 입력받을 수 있는 글자 수(Token limit)를 초과할 수 있습니다.
'공부방' 카테고리의 다른 글
| 5. Agentic AI (0) | 2025.12.07 |
|---|---|
| 4. VectorDB (0) | 2025.12.07 |
| 2. LLM (1) | 2025.12.06 |
| 1. 데이터 분석 (0) | 2025.12.06 |
| MongoDB 복합 인덱스(Compound Index) 조회 성능 테스트 (0) | 2025.09.18 |