NeurIPS 2020Citations: 4,000+

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

지식 집약적 NLP 태스크를 위한 검색 증강 생성

Patrick Lewis, Ethan Perez, Aleksandra Piktus, et al. (2020)

검색(retrieval)과 생성(generation)을 결합하여, 외부 지식 저장소에서 관련 문서를 검색한 뒤 이를 참조하여 답변을 생성하는 RAG 프레임워크를 제안했다.

배경

사전 학습된 언어 모델은 파라미터에 암묵적으로 저장된 지식을 활용하지만, 이는 학습 시점에 고정되어 업데이트가 어렵고, 환각(hallucination) 문제가 있으며, 출처를 추적하기 어렵다는 한계가 있었다. 지식 집약적 태스크에서는 이러한 한계가 특히 두드러졌다.

핵심 아이디어

RAG(Retrieval-Augmented Generation)는 사전 학습된 seq2seq 모델(BART)과 밀집 벡터 검색기(DPR)를 결합한 생성 모델이다. 질문이 주어지면 DPR로 위키피디아 등의 외부 문서에서 관련 구절을 검색하고, 검색된 문서를 문맥으로 활용하여 답변을 생성한다. 두 가지 변형이 제안되었는데, RAG-Sequence는 하나의 검색 문서로 전체 답변을 생성하고, RAG-Token은 각 토큰 생성 시 서로 다른 문서를 참조할 수 있다. 핵심적으로 검색기와 생성기가 함께 end-to-end로 학습되어 검색과 생성이 상호 최적화된다.

방법론

질문 인코더(BERT 기반)가 질문을 벡터로 변환하고, MIPS(Maximum Inner Product Search)로 사전 인코딩된 문서 벡터 인덱스에서 상위 k개 문서를 검색한다. 검색된 문서와 질문을 결합하여 BART 디코더에 입력하고 답변을 생성한다. 학습 시 질문 인코더와 생성기는 end-to-end로 미세 조정되며, 문서 인코더는 고정된다.

주요 결과

오픈 도메인 질의응답(Natural Questions, TriviaQA, WebQuestions)에서 당시 최고 성능의 추출형(extractive) QA 모델과 비교 가능하거나 능가하는 결과를 달성했다. 또한 사실 검증(FEVER)과 지식 기반 생성 태스크(Jeopardy 질문 생성)에서도 우수한 성능을 보였다.

임팩트

RAG는 LLM의 환각 문제를 완화하고 최신 정보를 활용할 수 있게 하는 핵심 기법으로 자리잡았다. 이후 Bing Chat, Perplexity 등 검색 증강 AI 서비스의 기반이 되었으며, 기업용 AI 시스템에서 내부 문서를 활용한 질의응답 구축의 표준 아키텍처로 채택되었다. LLM 활용의 가장 중요한 실용 기법 중 하나로 평가받고 있다.

관련 Foundation 논문

관련 논문