Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
Patrick Lewis, Ethan Perez, Aleksandra Piktus · NeurIPS 2020 · PDF
TL;DR
사전학습된 seq2seq 모델과 검색 기반 메모리를 결합하여 지식 집약적 NLP 태스크 성능을 크게 향상
핵심 아이디어
RAG는 두 가지 컴포넌트를 결합합니다:
- Retriever: 입력 쿼리에 관련된 문서를 검색
- Generator: 검색된 문서를 참고하여 응답 생성
아키텍처
Query → DPR Retriever → Top-K Documents → BART Generator → Answer
RAG-Sequence vs RAG-Token
- RAG-Sequence: 전체 시퀀스에 대해 같은 문서 사용
- RAG-Token: 각 토큰 생성 시 다른 문서 참조 가능
실험 결과
| Task | Previous SOTA | RAG |
|---|---|---|
| Natural Questions | 44.5 | 44.5 |
| TriviaQA | 50.1 | 56.1 |
| WebQuestions | 41.5 | 45.5 |
개인 코멘트
RAG 논문의 핵심 기여는 retrieval을 end-to-end로 학습 가능하게 만든 것입니다. 이후 LangChain, LlamaIndex 등 프레임워크의 이론적 기반이 됩니다.