
RAG란?
RAG(Retrieval-Augmented Generation)는 대규모 언어 모델(LLM)의 응답을 개선하기 위해 외부 지식 베이스에서 관련 정보를 검색하여 활용하는 기술입니다.
RAG의 필요성
지식 최신성 문제 해결
- LLM은 학습 시점까지의 데이터만 알고 있음
- 최신 정보나 실시간 데이터 제공 불가
- RAG를 통해 최신 문서/데이터 참조 가능
환각(Hallucination) 감소
- LLM이 사실이 아닌 내용을 생성하는 문제
- 외부 신뢰할 수 있는 소스 참조로 정확성 향상
도메인 특화 지식 제공
- 기업 내부 문서, 특정 도메인 지식 활용
- 재학습 없이 특정 분야 전문성 확보
비용 효율성
- 모델 재학습(Fine-tuning) 대비 저렴
- 데이터 업데이트가 용이
RAG 작동 원리
기본 워크플로우
사용자 질문 |
핵심 구성 요소
문서 처리 (Document Processing)
- 문서 수집 및 전처리
- 청크 분할 (Chunking)
- 임베딩 생성
검색 시스템 (Retrieval System)
- 벡터 데이터베이스
- 유사도 검색 알고리즘
- 하이브리드 검색 (키워드 + 벡터)
생성 모델 (Generation Model)
- LLM (GPT, Claude, Llama 등)
- 프롬프트 엔지니어링
- 컨텍스트 윈도우 관리
RAG vs Fine-tuning
| 구분 | RAG | Fine-tuning |
|---|---|---|
| 비용 | 낮음 | 높음 (GPU, 시간) |
| 업데이트 | 실시간 가능 | 재학습 필요 |
| 투명성 | 출처 추적 가능 | 블랙박스 |
| 정확성 | 검색 품질에 의존 | 모델에 지식 내재화 |
| 적용 사례 | 문서 Q&A, 최신 정보 | 특정 스타일, 작업 최적화 |
RAG의 장단점
장점
- ✅ 최신 정보 활용 가능
- ✅ 출처 추적 및 검증 가능
- ✅ 낮은 비용과 빠른 구축
- ✅ 도메인 지식 쉽게 추가
- ✅ 환각 현상 감소
단점
- ❌ 검색 품질에 따라 성능 변동
- ❌ 추가 인프라 필요 (벡터 DB)
- ❌ 레이턴시 증가 (검색 단계)
- ❌ 복잡한 추론 작업에는 부적합
- ❌ 청크 분할 전략에 민감
RAG 성능 향상 전략
1. 청킹 전략 최적화
- 고정 크기 vs 의미 기반 분할
- 오버랩 설정
- 메타데이터 추가
2. 임베딩 모델 선택
- OpenAI Embeddings
- Sentence Transformers
- 도메인 특화 모델
3. 검색 품질 개선
- 하이브리드 검색 (BM25 + Vector)
- 재순위화 (Re-ranking)
- 쿼리 확장 및 재작성
4. 프롬프트 엔지니어링
- 명확한 지시사항
- Few-shot 예제 제공
- 출처 인용 요구