:)
[RAG/Core] RAG : Retrieval-Augmented Generation for Knowledge-Intensive NLP Task 본문
Paper Review
[RAG/Core] RAG : Retrieval-Augmented Generation for Knowledge-Intensive NLP Task
andre99 2024. 12. 28. 09:510. Abstract
- Pre-trained Language Models의 한계: knowledge-intensive tasks에서는 특정한 과제에 최적화된 모델보다 성능이 떨어짐.
- RAG 모델은 parametric memory와 non-parametric memory를 결합하여 텍스트 생성함.
- parametric memory는 사전 학습된 seq2seq 모델, non-parametric memory는 pre-trained neural retriever로 접근 가능한 위키피디아의 벡터 인덱스.
- RAG 모델은 문장을 생성하는 동안 필요한 지식을 외부 데이터베이스에서 검색해 가져옴 → 이를 통해 더 정확한 정보를 바탕으로 텍스트를 생성 가능함.
1. Introduction
- Pre-trained neural language models은 외부 메모리에 접근하지 않고도 지식 저장 & 활용 가능하지만 정확한 정보 접근과 조작의 한계.
- 실험 결과, RAG는 오픈 도메인 QA 및 추상적 질문 생성에서 기존 모델을 능가하는 성과를 냈으며 non-parametric memory를 업데이트해 최신 지식 반영도 가능.
2. Methods
RAG 모델 구성 요소
- Retriever: 입력 ‘x’로부터 관련 문서 검색
- Generator: 검색된 문서 ‘z’와 입력 ‘x’를 기반으로 타겟 시퀀스 ‘y’ 생성
2.1 Models
- RAG-Sequence Model : 하나의 문서로 전체 시퀀스 생성
- RAG-Token Model : 각 토큰을 생성할 때마다 다른 문서를 활용해 더 다양한 답변 생성 가능
2.2 Retriever: DPR
Bi-encoder를 사용해 쿼리 q(x)와 문서 d(z)를 각각 BERT로 인코딩하여 벡터화
2.3 Generator: BART
BART-large 모델을 활용해 검색된 문서 ‘z’와 입력 ‘x’를 결합하여 시퀀스를 생성
2.4 Training
쿼리 인코더와 BART만 파인튜닝, 문서 인코더는 고정
2.5 Decoding
- RAG-Token: 각 토큰마다 다른 문서 사용 가능, 빔 검색을 통해 최적의 토큰 생성
- RAG-Sequence: 단일 문서로 전체 시퀀스를 생성
3. Experiments
3.1 Open-domain Question Answering
- 질문과 답변을 입력-출력 쌍으로 간주하여 RAG를 훈련.
- RAG는 추출 기반 QA 및 Closed-Book QA 모델과 비교.
- 평가 데이터셋: Natural Questions, TriviaQA, WebQuestions, CuratedTrec.
3.2 Abstractive Question Answering
- RAG를 사용해 추출형이 아닌 생성형 답변 생성.
- MSMARCO NLG v2.1 데이터셋으로 실험. Wikipedia 기반으로 일부 질문에는 답변 한계 존재.
3.3 Jeopardy Question Generation
- Jeopardy 형식의 질문 생성 실험: 정확하고 사실 기반의 질문을 생성하는 것이 목표.
- SearchQA 데이터셋 사용 (훈련: 100K, 개발: 14K, 테스트: 27K).
- BART 모델과 비교하여 RAG 모델 평가. Q-BLEU-1을 활용해 정확도 평가, 사실성 및 특이성에 대한 인간 평가 수행.
3.4 Fact Verification
- FEVER 데이터셋 사용: 주어진 주장에 대해 Wikipedia 근거를 검색하고, 참/거짓/판단 불가로 분류.
- RAG 모델은 검색 증거에 대한 지도 학습 없이 훈련, 실생활에서 활용 가능성 높임.
- 3가지 레이블(서포트/반박/불충분) 및 2가지 레이블(서포트/반박) 분류 실험, 정확도 보고.
4. Results
4.1 Open-domain Question Answering
- RAG 모델은 4개의 오픈 도메인 QA 작업에서 기존 모델들과 비교해 최고 성능을 기록.
- RAG는 “closed-book” 접근법과 “open-book” 검색 기반 접근법의 장점을 결합. 추출적 모델과 달리 생성 모델을 사용해, 답이 정확히 문서에 없더라도 적합한 답을 생성.
4.2 Abstractive Question Answering
- RAG-Sequence는 MS-MARCO NLG에서 BART보다 높은 성능을 기록, 생성된 답변의 사실성이 더 우수.
- RAG는 정보 부족 문제에도 불구하고 더 정확하고 다양한 텍스트를 생성함.
4.3 Jeopardy Question Generation
- RAG-Token은 RAG-Sequence와 BART보다 Jeopardy 질문 생성에서 더 우수한 성능을 보였으며, Q-BLEU-1 점수에서 뛰어난 성과를 기록.
- RAG는 BART보다 더 정확하고 구체적인 답변을 생성하며, 여러 문서에서 정보를 결합하여 정확한 답변을 생성하는 능력을 보여줌.
4.4 Fact Verification
- RAG는 복잡한 파이프라인을 사용하는 최신 모델들과 유사한 성과를 보였으며, 자체 증거 검색을 통해 높은 정확도를 달성.
- RAG가 검색한 문서의 상위 문서가 FEVER에서 금본 증거와 일치하는 경우가 많음.
4.5 Additional Results
- Generation Diversity: RAG 모델은 BART보다 더 다양하고 구체적인 생성 결과를 제공하며 RAG-Sequence는 RAG-Token보다 더 다양한 결과를 생성.
- Retrieval Ablations: RAG는 학습된 검색기능을 통해 성능이 향상되며, BM25보다 RAG의 밀집형 검색기가 더 나은 결과를 보임.
- Index hot-swapping: RAG는 비-매개변수 기억 모델로, 테스트 중에 지식을 간단히 업데이트할 수 있음.
- Effect of Retrieving more documents: 검색 문서 수가 증가하면 성능과 실행 시간이 개선되며 RAG-Token은 10개 문서에서 최고 성능을 기록.