:)
[RAG] Retrieval-Augmented Generation for Large Language Models: A Survey 본문
Paper Review
[RAG] Retrieval-Augmented Generation for Large Language Models: A Survey
andre99 2024. 11. 22. 17:39I. INTRODUCTION
- 문제 정의
- LLM은 뛰어난 성능을 보이지만, 환각(hallucination) 문제, 최신 정보 부재, 고비용 문제 존재
- Fine-tuning은 모델을 업데이트해야 하므로 최신 데이터 반영에 시간이 걸림.
- 해결책
- RAG는 외부 데이터베이스의 지식을 검색하여 최신 정보와 높은 신뢰성을 보장.
- 검색한 정보를 기반으로 생성 과정에 활용함으로써 LLM의 단점을 보완.
- 기술 발전
- 검색과 생성 기술의 조합이 AI 응답의 정확성과 유용성 향상.
- 다양한 작업에 적합한 솔루션으로 자리잡음.
II. OVERVIEW OF RAG
- A. Naive RAG
- 초기 방식으로 단순히 검색한 정보를 생성 모델의 입력으로 사용
- 검색된 데이터는 필터링이나 가공 없이 사용됨
- B. Advanced RAG
- 검색된 데이터를 필터링하거나 재정렬(Contextual Re-ranking)하여 더 유용한 정보를 생성에 활용.
- 불필요한 데이터 제거, 관련성이 높은 데이터 강화.
- 검색 결과의 품질이 전체 성능에 중요한 영향을 미침.
- C. Modular RAG
- 검색 모듈과 생성 모듈을 별도로 최적화하여 독립적으로 조정 가능.
- 모듈 교체가 가능하며, 특정 도메인 작업에 쉽게 적용.
- D. RAG vs Fine-tuning
- RAG: 외부 지식 소스를 통해 즉각적으로 새로운 정보를 통합.
- Fine-tuning: 모델을 새로 학습시켜야 하므로 비용이 높고 시간이 오래 걸림
III. RETRIEVAL
- A. Retrieval Source
- 검색 데이터베이스의 선택은 성능에 중요한 영향을 미침
- B. Indexing Optimization
- Dense Indexing: 신경망 기반으로 더 정밀한 검색.
- Sparse Indexing: 기존 검색 엔진 방식(TF-IDF, BM25) 활용
- C. Query Optimization
- 검색 쿼리를 최적화하여 관련성이 높은 검색 결과 획득.
- Query Expansion: 쿼리에 동의어나 유사어 추가.
- Re-ranking: 검색 결과를 재정렬하여 더 유용한 정보를 상위에 배치
- D. Embedding
- 검색과 생성 간 매핑을 위한 벡터 표현 사용.
- Dense Embedding: LLM에서 학습된 임베딩으로 더 나은 검색 성능 제공
- E. Adapter
- 검색 결과를 생성 모델 입력 형식에 맞게 변환
IV. GENERATION
- A. Context Curation
- 검색된 데이터를 선별 -> 생성 모델에 적합한 형식으로 전달
- B. LLM Fine-tuning
- Generative Pre-training의 일부로 검색 데이터 활용
V. AUGMENTATION PROCESS IN RAG
- A. Iterative Retrieval
- 초기 쿼리와 현재까지 생성된 텍스트를 기반으로 반복적으로 지식 베이스 검색
- 문제점: 의미적 불연속성(Semantic Discontinuity) & 불필요한 정보의 축적
- B. Recursive Retrieval
- 이전 검색 결과를 기반으로 검색 쿼리를 점진적으로 개선하여, 더 깊고 관련성 높은 정보를 반복적으로 찾는 검색 방식
- IRCoT: Chain-of-Thought(CoT)을 사용해 검색 프로세스를 개선.
- ToC: 쿼리의 모호한 부분을 체계적으로 최적화하는 Clarification Tree 생성
- 긴 문서나 PDF를 요약한 후, 요약된 내용을 바탕으로 추가 검색 수행.
- Multi-hop Retrieval과 결합하여 그래프 구조 데이터를 심층 탐색
- C. Adaptive Retrieval
- LLM이 검색이 필요한 시점과 내용을 스스로 결정하여 효율성과 정확성 향상
- Flare: 생성 신뢰도가 낮아질 경우 검색 시스템 자동 활성화.
- Self-RAG: "Reflection Tokens"로 모델이 스스로 검색 필요성을 판단
VI. TASK AND EVALUATION
RAG 모델의 성능 평가는 다양한 응용 시나리오에서 검색 및 생성 능력을 최적화하고 이해하기 위한 중요한 연구 주제.
평가의 주요 목표: 다양한 응용 시나리오에서 RAG 모델의 성능 이해 및 최적화
- A. Downstream Task
Question Answering (QA), Information Extraction (IE), dialogue generation, code search 등
- B. Evaluation Target
과거 평가 방법: 특정 작업에서의 성능에 중점 ⇒ RAG 모델의 고유한 특성을 평가하는 연구 부족
RAG 평가 핵심: Retrieval Quality & Generation Quality
- Retrieval Quality: 검색된 문맥의 적합성과 효과성 평가
주로 사용되는 지표: Hit Rate, MRR, NDCG 등
- Generation Quality: 검색된 문맥을 기반으로 생성된 답변의 품질 평가. (unlabeled, labeled 콘텐츠로 나눠서)
- unlabeled 콘텐츠의 평가 기준: 사실성, 관련성, 비유해성
- labeled 콘텐츠의 평가 기준: 정보의 정확성
- C. Evaluation Aspects
최근의 RAG 모델 평가 관행은 세 가지 주요 품질 점수(Quality Scores)와 네 가지 필수 능력(**Required Abilities)**을 강조 → RAG 모델의 두 가지 주요 목표인 검색과 생성에 대한 평가를 종합적으로 알려줌.
- Quality Scores:
- 문맥 관련성: 검색된 문맥이 질문과 얼마나 일치하는지 평가 → 불필요한 콘텐츠로 인한 처리 비용을 줄임.
- 답변 사실성: 생성된 답변이 정확하고 신뢰할 만한지 평가
- 답변 관련성: 생성된 답변이 질문에 적합한지 평가
- Required Abilities:
- 노이즈 내성: 질문과 관련은 있지만 실질적인 정보가 없는 노이즈 문서를 잘 처리하는 능력. (불필요한 정보로부터 핵심 내용을 추출)
- 부정 응답 거부: 필요한 정보가 없을 때 답변을 회피
- 정보 통합: 여러 문서에서 종합적인 답변을 도출
- 반사실적 내성: 잘못된 정보가 포함된 문서에서 오류를 인식하고 무시하는 능력.
- D. Evaluation Benchmarks and Tools
- 주요 벤치마크: RGB, RECALL, CRUD
- 자동화 도구: RAGAS, ARES, TruLens8
VII. DISCUSSION AND FUTURE PROSPECTS
- A. RAG vs Long Context : LLM의 발전으로 긴 문서를 처리할 수 있는 능력이 확장되었음을 언급하며, RAG가 여전히 중요한 역할을 하는 이유에 대해 설명
- LLM의 긴 문맥 처리 능력 확대에도 불구하고 RAG는 여전히 운영 효율성 및 원본 참조 검증을 위한 필수 기술로 중요.
- 긴 문맥 의존은 추론 속도를 저하시킴. RAG는 청크 검색을 통해 효율성 보장.
- B. RAG Robustness: RAG의 출력 품질에 영향을 미치는 요소로 노이즈나 모순된 정보의 문제
- 노이즈 및 모순 정보 처리 능력은 RAG의 중요한 연구 주제.
- 문맥 평가를 통해 문서의 적절성을 사전 평가하는 방법에 대란 연구 결과, 관련 없는 문서가 포함되면 품질이 떨어질 것이라는 예상과 달리, 정확도가 30% 이상 향상될 수 있음.
- C. Hybrid Approaches: RAG와 fine-tuning의 결합
- RAG와 fine-tuning 결합은 주요 전략으로 떠오르고 있음.
- RAG와 fine-tuning의 최적 통합 방식(순차적, 교차적, 또는 end-to-end 공동 훈련 등)과 매개변수화된 및 비매개변수화된 장점 활용 방법은 연구할 만한 분야임.
- 또 다른 트렌드는 특정 기능을 가진 SLMs(생성된 언어 모델)을 RAG 시스템 결과를 통해 fine-tuning하는 것.
- EX) CRAG: 경량화된 검색 평가기를 활용해 쿼리 문맥 적합성 향상
- RAG와 fine-tuning 결합은 주요 전략으로 떠오르고 있음.
- D. Scaling laws of RAG: RAG 모델의 파라미터와 스케일링 법칙
- End-to-end RAG 모델과 RAG 기반 사전 훈련 모델은 여전히 현재 연구의 주요 초점 중 하나.
- 이 모델들의 파라미터는 중요한 요소로 작용함.
- LLM에 대한 스케일링 법칙은 확립되었지만, RAG에의 적용 가능성은 불확실함.
- 초기 연구인 RETRO++가 이를 다루기 시작했으나, RAG 모델의 파라미터 수는 여전히 LLM보다 적음.
- Inverse Scaling Law: 작은 모델이 큰 모델보다 잘 수행될 가능성 제기→ 추가 연구가 필요함.
- End-to-end RAG 모델과 RAG 기반 사전 훈련 모델은 여전히 현재 연구의 주요 초점 중 하나.
- E. Production-Ready RAG: RAG 기술의 실용성과 엔지니어링 요구 사항
- 해결해야 할 주요 과제:
- 검색 효율성 개선: 대규모 데이터에서 필요한 정보를 빠르게 검색.
- 데이터 보안 강화: LLM이 민감한 문서 출처나 메타데이터를 실수로 유출하지 않도록 방지.
- RAG 생태계 개발은 기술 스택의 발전에 크게 영향을 받음.
- 주요 도구: LangChain, LLamaIndex
- 새로운 기술 스택
- EX) Flowise AI: 저코드 방식으로 드래그 앤 드롭을 통해 RAG 애플리케이션 쉽게 배포
- HayStack, Meltano, Cohere Coral 등
- 기술 발전 방향:
- 맞춤화: RAG를 특정 요구 사항에 맞게 조정.
- 단순화: RAG 사용을 쉽게 하여 초기 학습 곡선 감소.
- 전문화: RAG를 생산 환경에 최적화하여 서비스 제공.
- 소프트웨어 및 클라우드 서비스 제공업체 확장
- EX) Weaviate Verba(개인 비서 애플리케이션을 위한 서비스 제공), Amazon Kendra(기업 콘텐츠를 탐색 가능한 지능형 검색 서비스).
- RAG 모델과 기술 스택의 상호 성장.
- 기술 발전이 기존 인프라에 새로운 표준을 설정하고, 기술 스택의 향상이 RAG 기능 개발을 촉진.
- RAG 도구 키트: 고급 기업 애플리케이션을 위한 기반을 마련.
- 완전히 통합된 포괄적인 플랫폼 개념은 아직 미래의 과제..
- 해결해야 할 주요 과제:
- F. Multi-modal RAG: RAG가 멀티모달 데이터를 처리하는 방식
- Image
- RA-CM3, BLIP-2 : 이미지와 텍스트 기능 통합
- "Visualize Before You Write" 방법: 이미지 생성 후 텍스트 생성을 유도
- Audio & Video
- GSS Method: 오디오 클립 검색 및 음성 번역 데이터 변환
- UEOP: 외부 오프라인 전략을 통합한 end-to-end 자동 음성 인식(ASR)의 중요한 발전.
- KNN 기반 주의 집중 융합: 오디오 임베딩과 의미적으로 관련된 텍스트 임베딩을 활용하여 ASR 성능 향상, 도메인 적응 가속화.
- Vid2Seq: 특수한 시간적 표식을 통해 이벤트 경계 및 텍스트 설명 예측을 통합된 출력 시퀀스로 제공.
- Code
- RBPS Method: 코드 검색 및 생성 최적화
- CoK Method: 지식 그래프를 활용하여 정확한 사실 추출과 질의 응답 성능 개선
- Image
VIII. CONCLUSION
- RAG: LLM의 한계를 극복하고 다양한 작업에서 뛰어난 성능을 보임
- 검색과 생성을 통합하여 최신 정보와 신뢰성 있는 응답 제공
- 향후 방향
- 도메인 특화 RAG 개발
- 멀티모달 데이터 통합
- 검색 및 생성 효율성 극대화
'Paper Review' 카테고리의 다른 글
[NLP] Improving Language Understanding by Generative Pre-Training (0) | 2025.02.07 |
---|---|
[NLP] Attention Is All You Need (0) | 2025.02.01 |
[NLP] Sequence to Sequence Learningwith Neural Networks (0) | 2025.02.01 |
[RAG] Retrieving Multimodal Information for Augmented Generation: A Survey (0) | 2025.01.10 |
[RAG] RAG : Retrieval-Augmented Generation for Knowledge-Intensive NLP Task (0) | 2024.12.28 |