RAG (Retrieval-Augmented Generation) 개요
- 검색과 생성을 결합하여 언어 모델의 성능을 향상시키는 기술
- 기존의 언어 모델은 주어진 데이터에서 학습한 정보만을 기반으로 답변을 생성하지만, RAG는 외부 데이터베이스나 문서에서 정보를 검색하여 이를 생성 과정에 반영
- 이 방식은 모델이 더 정확하고 풍부한 정보를 바탕으로 답변을 생성할 수 있게 함
- RAG의 주요 특징은 정보 검색과 텍스트 생성을 결합하여, 새로운 정보나 추가적인 지식을 바탕으로 더 나은 성능을 발휘할 수 있다는 점
- 다양한 NLP 작업에서 성능을 크게 향상시킬 수 있어 질문 응답, 문서 생성, 요약 등에 효과적임
- RAG의 핵심 논문들 (Fundamental Papers in RAG)
- "RAG: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" (2020)
- RAG가 기존 모델보다 정확하고 유용한 답변을 생성할 수 있도록 돕는 방법을 제시합니다.
"Dense Retriever: A New Approach to Document Search for Question Answering"
- 이 논문은 Dense Retriever 기술을 통해 벡터 공간에서 보다 효율적으로 관련 정보를 검색하는 방법을 설명
- Dense Retriever는 검색 정확도를 높이는 데 중요한 역할
"Pretrained Transformers for Text Generation"
- Transformer 모델을 이용한 사전 훈련을 통해 텍스트 생성이 어떻게 개선될 수 있는지 설명
- RAG 모델에 Transformer 기반 모델이 어떻게 적용될 수 있는지를 다룸
RAG 파이프라인
- Indexing
- RAG는 먼저 외부 데이터베이스나 문서들을 인덱싱하여, 검색할 수 있는 구조로 만듦.
- 이 과정에서 각 문서나 정보의 중요한 요소들을 벡터화하고, 이를 효율적으로 검색할 수 있도록 준비함.
- 인덱싱은 대규모 데이터셋을 처리할 때 매우 중요하며, 빠르고 정확한 검색이 가능하게 해줌. - User Input
- 사용자가 질문이나 요청을 입력하면, 이 정보는 RAG 모델에 의해 처리되어 관련성 있는 정보를 찾기 위한 키워드나 컨텍스트로 변환됨.
- 모델은 이 입력을 바탕으로 검색을 수행하여 적절한 문서를 찾아냄. - Retrieva
- 모델은 외부 데이터베이스에서 관련 정보를 검색
- 이때, 검색 방법은 여러 가지가 있을 수 있지만, 보통 k-최근접 이웃(k-NN) 방식이나 Dense Retriever를 사용하여 입력과 유사한 문서나 구절을 찾음. 검색된 정보는 모델이 답변을 생성하는 데 중요한 역할을 함. - Generation
- 검색된 정보를 바탕으로 모델은 자연스러운 언어로 답변을 생성
- 생성된 답변은 검색된 정보에 기반하지만, 모델의 기존 지식과 능력도 함께 활용하여 더 풍부하고 정확한 답변을 제공함.
- 이 단계에서 모델은 텍스트의 흐름과 문법을 고려하여 사용자에게 이해하기 쉬운 형태로 답변을 작성함.
Static RAG
고정된 데이터베이스를 사용하여 정보를 검색하는 방식
- Static RAG는 특정한 고정된 데이터셋을 사용하여 검색을 수행하는 방식입니다. 데이터셋은 사전에 설정되며, 새로운 정보는 자동으로 반영되지 않습니다. 이 방식은 사전 학습된 모델과 함께 사용되며, 기존에 제공된 문서들만 활용하여 답변을 생성합니다.
- Static RAG는 일관된 성능을 제공하지만, 최신 정보를 반영하지 못할 수 있습니다.
- 예를 들어, 웹에서 실시간으로 정보를 검색해야 하는 경우, Static RAG는 그 한계가 있을 수 있습니다.
Pivotal Questions in RAG
- 검색 정확도: 검색된 문서가 얼마나 정확하고 관련성이 높은지를 판단하는 기준은 무엇인가? 이는 RAG의 성능에 큰 영향을 미침.
- 검색과 생성의 균형: 모델은 얼마나 검색된 정보를 반영하여 답변을 생성해야 하는가? 과도한 의존은 생성 품질을 떨어뜨릴 수 있고, 부족한 의존은 정보를 놓칠 수 있음.
- 효율성: RAG 모델이 대규모 데이터베이스에서 빠르고 정확한 검색을 할 수 있는 방법은 무엇인가? 검색 속도와 모델 성능 간의 균형을 맞추는 것이 중요.
- 노이즈 처리: 검색된 정보에 노이즈가 포함될 경우, 이를 어떻게 걸러내고 모델의 정확성을 유지할 것인가?
'Study > RAG' 카테고리의 다른 글
REALM (Retrieval-Augmented Language Model) (1) | 2025.02.09 |
---|---|
kNN-LM (0) | 2025.02.09 |