Search
Duplicate

AI/ Paper/ Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

Abstract

대규모 pre-trained 언어 모델은 사실적 지식을 파라미터에 저장하고 있으며, downstream NLP 작업에서 fine-tuned 될 때 최첨단 결과를 달성하는 것으로 나타났다. 그러나 지식에 접근하고 정밀하게 조작하는 능력은 여전히 한계가 있다. 따라서 knowledge-intensive(지식 집약적) 작업에서 성능이 작업별 전용 아키텍쳐에 부족하다. 또한 의사 결정의 출처를 제공하고, 세계 지식을 업데이트하는 것은 여전히 open research 문제이다. 명시적인 non-parametric 메모리에 대한 미분가능한 접근 메커니즘을 사용하는 pre-trained 모델은 지금까지 추출 downstream task에 대해서만 개발되었다. 우리는 언어 생성을 위해 pre-trained parametric과 non-parametric 메모리를 결합한 retrieval-augmented generation(RAG)을 위한 일반적인 fine-tuning 레시피를 탐구한다. 우리는 RAG 모델을 소개한다. 이것은 파라메트릭 메모리는 pre-trained seq2seq 모델이고 non-parametric 메모리는 pre-trained 신경망 검색기로 접근되는 위키피디아의 dense 벡터 인덱스인 모델이다. 우리는 2가지 RAG 공식을 비교한다. 하나는 전체 생성 시퀀스에 걸쳐 동일 검색된 passages에 의존하고, 다른 하나는 토큰마다 다른 passages를 사용할 수 있다. 우리는 모델을 knowledge-intensive NLP 작업에서 평가하며, 3가지 open domain QA 작업에서 최첨단 성능을 달성하며, parametric seq2seq 모델과 task-specific 검색-추출 아키텍쳐를 능가한다. 언어 생성 작업의 경우 RAG 모델이 최첨단 parametric-only seq2seq baseline 보다 더 구체적이고 다양하며 사실적인 언어를 생성하는 것을 발견했다.

1 Introduction

Pre-trained 신경 언어 모델은 데이터에서 상당한 양의 심층 지식을 학습하는 것으로 드러났다. 그들은 파라미터화된 암묵적 지식 베이스로 외부 메모리에 대한 접근할 필요 없이 이를 수행할 수 있다. 이러한 발전이 흥미롭지만, 이런 모델은 단점을 갖고 있다. 메모리를 쉽게 확장하거나 수정할 수 없고, 예측에 대한 통찰을 직접적으로 제공할 수 없고, hallucination을 생성할 수 있다. parametric 메모리와 non-parametric(즉 검색 기반) 메모리를 결합한 하이브리드 모델은 이런 이슈를 해결할 수 있다. 지식이 직접 검색되고 수정될 수 있고, 접근된 지식을 검사하고 해석될 수 있기 때문이다. 최근 소개된 REALM과 ORQA라는 2가지 모델은 masked 언어모델과 미분가능한 검색기를 결합하고 있으며, 유망한 결과를 보였지만, open-domain 추출 질문 답변만 탐구했다. 여기서 우리는 ‘NLP의 workhorse’인 seq2seq 모델에 하이브리드 parametric과 non-parametric 메모리를 적용한다.
우리는 pre-trained parametric 메모리 생성 모델에 retrieval-augmented generation(RAG)이라 부르는 일반적인 fine-tuning 접근을 통해 non-parametric 메모리를 부여한다. 우리는 parametric 메모리가 pre-trained seq2seq transformer이고 non-parametric 메모리가 pre-trained 신경 검색기로 접근되는 위키피디아의 dense 벡터 인덱스인 RAG 모델을 구축한다.
우리는 이러한 컴포넌트들을 end-to-end로 학습된 확률 모델에 결합한다(그림 1). 검색기(Dense Passage Retriever, DPR)은 입력에 따라 latent 문서를 제공하고, seq2seq 모델(BART)는 이러한 latent 문서와 입력을 조건으로 하여 출력을 생성한다. 우리는 상위-K개 근사치로 latent 문서를 marginalize 하며, 전체 출력 basis(모든 토큰에 대해 동일한 문서가 응답 가능하다고 가정) 또는 토큰 별 basis(서로 다른 토큰에 대해 서로 다른 문서는 응답 가능하다고 가정)일 수 있다. T5 또는 BART와 마찬가지로 RAG는 생성기와 검색기 결합으로 학습되는 모든 seq2seq 작업에서 fine-tuned 될 수 있다.
특정 작업을 위해 처음부터 학습되는 non-parametric 메모리로 시스템을 강화하는 아키텍쳐를 제안하는 광범위한 이전 작업이 존재했다. 예컨대 메모리 네트워크, stack-augmented network, memory layer 등이 있다. 반면 우리는 parametric과 non-parametric 메모리 컴포넌트가 모두 pre-trained이고 광범위한 지식으로 pre-loaded되는 설정을 탐구한다. 중요한 것은 pre-trained 접근 메커니즘을 사용함으로써 추가적인 학습 없이 지식에 접근할 수 있는 능력이 존재한다는 점이다.
우리의 결과는 지식-집약적 작업 —외부 지식 소스에 대한 접근 없이 인간이 합리적으로 수행할 수 없는 작업—에 대해 parametric과 non-parametric 메모리의 생성과 결합의 이점을 강조한다. 우리의 RAG 모델은 open Natural Question, WebQuestions과 CuratedTrec에 대해 최첨단 성능을 달성하고 TriviaQA에 대해 특화된 pre-training 목적을 사용하는 최근 접근법을 크게 능가한다. 우리는 이들이 추출 작업임에도 제약 조건없는 생성이 이전 추출 접근법을 능가하는 것을 발견했다. 지식-집약 생성을 위해 우리는 MS-MARCO와 Jeopardy 질문 생성을 실험했고, 우리의 모델이 BART baseline 보다 더 사실적이고 구체적이고 더 다양하다는 것을 발견했다. FEVER 사실 검증에서는 강력한 검색 supervision을 사용하는 최첨단 파이프라인 모델의 4.3%이내의 결과를 달성했다. 마지막으로 우리는 non-parametric 메모리를 교체하여 세계가 변화함에 따라 모델의 지식을 업데이트할 수 있음을 보인다.

2 Methods

우리는 RAG 모델을 탐구한다. 이것은 입력 시퀀스 xx를 사용하여 텍스트 문서 zz를 검색한 다음 타겟 시퀀스 yy를 생성할 때 그것을 추가적인 컨텍스트로 사용한다. 그림 1에 나온대로, 우리 모델은 2가지 컴포넌트를 활용한다. (i) 파라미터 η\eta를 사용하는 검색기 pη(zx)p_\eta(z|x)는 쿼리 xx가 주어질 때 상위 K개 truncated 텍스트 passage 분포를 반환하고 (ii) θ\theta로 파라미터화된 생성기 pθ(yix,z,y1:i1)p_\theta(y_i|x, z,y_{1:i-1})는, 이전 i1i-1개 토큰 y1:i1y_{1:i-1}, 원래 입력 xx와 검색된 passage zz의 컨텍스트에 기반하여 현재 토큰을 생성한다.
검색기와 생성기를 end-to-end로 학습하기 위해 우리는 검색된 문서를 latent 변수로 취급한다. 우리는 생성된 텍스트에 대한 분포를 생성하기 위해 latent 문서를 다른 방법으로 marginalize 하는 2가지 모델을 제안한다. 한 접근인 RAG-Sequence에서 모델은 동일한 문서를 사용하여 각 타겟 토큰을 예측한다. 두 번째 접근인 RAG-Token은 다양한 문서를 기반으로 각 타겟 토큰을 예측할 수 있다. 다음에서 우리는 두 모델을 모두 형식적으로 유도한 다음 pηp_\etapθp_\theta 컴포넌트, 학습과 디코딩 절차를 설명한다.

2.1 Models

RAG-Sequence Model.
RAG-Sequence 모델은 완전한 시퀀스를 생성하기 위해 동일한 검색된 문서를 사용한다. 기술적으로 검색된 상위 K개 근사를 통해 seq2seq 확률 p(yx)p(y|x)를 얻도록 문서를 marginalize 된 단일 latent 변수로 취급한다. 구체적으로 상위 K개 문서가 검색기를 사용하여 검색되고 생성기는 각 문서에 대한 출력 시퀀스 확률을 생성한다. 그 다음 marginalized 된다.
pRAG-Sequence(yx)ztop-k(p(x))pη(zx)pθ(yx,z)=ztop-k(p(x))pη(zx)iNpθ(yix,z,y1:i1)\begin{aligned} p_\text{RAG-Sequence}(y|x) &\approx \sum_{z \in \text{top-k}(p(\cdot|x))} p_\eta(z|x)p_\theta(y|x,z) \\&= \sum_{z \in \text{top-k}(p(\cdot|x))} p_\eta(z|x)\prod_i^N p_\theta(y_i|x,z,y_{1:i-1}) \end{aligned}
RAG-Token Model.
RAG-Token 모델에서 우리는 각 타겟 토큰에 대해 서로 다른 latent 문서를 뽑고 그에 따라 marginalize 한다. 이를 통해 생성기가 답변을 생성할 때 여러 문서에서 컨텐츠를 선택할 수 있다. 구체적으로 상위 K개 문서가 검색기를 사용하여 검색된 다음 생성기는 marginalizing 전에 각 문서에 대해 다음 출력 토큰에 대한 분포를 생성한다. 그리고 다음 출력 토큰을 사용하여 절차를 반복한다. 형식적으로 다음을 정의한다.
pRAG-Token(yx)iNztop-k(p(x))pη(zx)pθ(yix,z,y1:i1)p_\text{RAG-Token}(y|x) \approx \prod_i^N \sum_{z\in\text{top-k}(p(\cdot|x))} p_\eta(z|x)p_\theta(y_i|x,z,y_{1:i-1})
마지막으로 타겟 클래스를 길이 1의 타겟 시퀀스로 간주하여 RAG를 시퀀스 분류 작업에 대해 사용할 수 있음에 유의하라. 이 경우에 RAG-Sequence와 RAG-Token은 동등하다.

2.2 Retriever: DPR

검색 컴포넌트 pη(zx)p_\eta(z|x)는 DPR에 기반한다. DPR은 bi-encoder 아키텍쳐를 따른다.
pη(zx)exp(d(z)q(x))d(z)=BERTd(z)q(x)=BERTq(x)\begin{aligned} p_\eta(z|x) &\propto \exp(\bold{d}(z)^\top\bold{q}(x)) \\ \bold{d}(z) &= \text{BERT}_d(z) \\ \bold{q}(x) &= \text{BERT}_q(x) \end{aligned}
여기서 d(z)\bold{d}(z)BERTBASE\text{BERT}_\text{BASE} document encoder에 의해 생성된 문서의 dense 표현이고, q(x)\bold{q}(x)는 또한 BERTBASE\text{BERT}_\text{BASE}에 기반한 query encoder에 의해 생성된 query 표현이다. top-k(pη(x))\text{top-k}(p_\eta(\cdot|x)), 즉 prior 확률 pη(zx)p_\eta(z|x)가 가장 높은 kk개 문서 zz의 목록을 계산하는 것은 Maximum Inner Product Search(MIPS) 문제이다. 이것은 sub-linear 시간에서 근사적으로 해결될 수 있다. 우리는 DPR에서 pre-trained bi-encoder를 사용하여 우리의 검색기를 초기화하고 document index를 구축한다. 이 검색기는 TriviaQA과 Natural Question에 대한 답변을 포함하는 문서를 검색하도록 학습되었다. 우리는 document index를 non-parametric memory라고 부른다.

2.3 Generator: BART

생성기 컴포넌트 pθ(yix,z,y1:i1)p_\theta(y_i|x,z,y_{1:i-1})은 임의의 encoder-decoder를 사용하여 모델링될 수 있다. 우리는 400M 파라미터를 갖는 pre-trained seq2seq transformer인 BART-large를 사용한다. BART에서 생성할 때 입력 xx를 검색된 컨텐츠 zz와 결합하기 위해, 우리는 단순히 그들을 concatenate 한다. BART는 denoising 목적과 다양한 noising 함수를 사용하여 pre-trained 된다. 이것은 다양한 생성 작업에서 최첨단 성능을 달성하고 비교할만한 크기의 T5 모델을 능가한다. 우리는 이후 BART 생성기 파라미터 θ\theta를 parametric memory라고 부른다.

2.4 Training

우리는 어떤 문서를 검색되어야 하는지에 대한 직접적인 supervision 없이 검색기와 생성기 컴포넌트를 결합하여 학습한다. 입력/출력 쌍 (xj,yj)(x_j, y_j)의 fine-tuning 학습 corpus가 주어지면, 우리는 각 타겟의 negative marginal log-likelihood jlogp(yjxj)\sum_j -\log p(y_j|x_j)를 Adam을 사용하는 stochastic gradient descent를 사용하여 최소화한다. 학습하는 동안 document encoder BERTd\text{BERT}_\text{d}를 업데이트하는 것은 REALM이 pre-training 동안 수행하는 것처럼 document index를 주기적으로 업데이트해야 하므로 비용이 많이 든다. 우리는 이 단계가 강력한 성능에 필수적이지 않다고 판단하여 document encoder(와 index)를 고정하고, query encoder BERTq\text{BERT}_\text{q}BART\text{BART} 생성기만 fine-tuning한다.

2.5 Decoding

테스트 시간에 arg maxyp(yx)\argmax_y p(y|x)를 근사하기 위해 RAG-Sequence와 RAG-Token은 다른 방법이 필요하다.
RAG-Token.
RAG-Token 모델은 전이 확률을 갖는 표준 auto-regressive seq2seq 생성기로 볼 수 있다. pθ(yix,y1:i1)=ztop-k(p(x))pη(zix)pθ(yix,zi,y1:i1)p_\theta'(y_i|x,y_{1:i-1}) = \sum_{z\in\text{top-k}(p(\cdot|x))} p_\eta(z_i|x)p_\theta(y_i|x,z_i,y_{1:i-1})를 Decode 하기 위해 pθ(yix,y1:i1)p_\theta'(y_i|x, y_{1:i-1})을 표준 beam decoder에 삽입할 수 있다.
RAG-Sequence.
RAG-Sequence의 경우 likelihood p(yx)p(y|x)는 전통적인 토큰 별 likelihood로 분해할 수 없으므로 우리는 단일 beam search를 사용해서 해결할 수 없다. 대신 각 문서 zz에 대해 beam search를 실행하고 pθ(yix,z,y1:i1)p_\theta(y_i|x,z,y_{1:i-1})을 사용하여 각 가설을 점수매길 수 있다. 이렇게 하면 모든 문서의 beam에서 나타나지 않을 수 있는 가설의 집합 YY가 생성된다. 가설 yy의 확률을 추정하기 위해 yy가 beam에 나타나지 않는 각 문서 zz에 대해 추가적인 forward pass를 실행하고, 생성기 확률에 pη(zx)p_\eta(z|x)를 곱한 다음 marginal를 위해 beam 전체에 걸쳐 확률을 합산한다. 우리는 이 디코딩 절차를 ‘Thorough(철저한) Decoding’이라 부른다. 더 긴 출력 시퀀스의 경우 Y|Y|가 커질 수 있어 많은 forward pass가 필요하다. 더 효율적인 decoding을 위해 yyx,zix, z_i에서 beam search 동안 생성되지 않는 경우 pθ(yx,zi)0p_\theta(y|x,z_i) \approx 0라는 추가 근사를 만들 수 있다. 이렇게 하면 후보 집합 YY가 생성된 후 추가적인 forward pass를 실행할 필요가 없다. 우리는 이 디코딩 절차를 ‘Fast Decoding’이라 부른다.

3 Experiments

우리는 광범위한 지식-집약적인 작업에서 RAG를 실험한다. 모든 실험에서 우리는 non-parametric 지식 소스에 대한 단일 위키피디아 dump를 사용한다. Lee et al와 Karpukhin et al을 따라 우리는 2018년 12월 dump를 사용한다. 각 위키피디아 아티클은 서로 겹치지 않는 100-단어 chunk로 분해되어 총 21M 문서를 만든다. 우리는 문서 인코더를 사용하여 각 문서의 임베딩을 계산하고 빠른 검색을 위해 Hierarchical Navigable Small World 근사치를 사용하는 FAISS로 단일 MIPS 인덱스를 구축한다. 학습하는 동안 우리는 각 쿼리에 대해 상위 kk개 문서를 검색한다. 우리는 학습을 위해 k{5,10}k \in \{5, 10\}를 사용하고 테스트 시간에 개발 데이터를 사용하여 kk를 설정한다. 이제 각 작업에 대한 실험 세부 사항을 논의한다.

3.1 Open-domain Question Answering

Open-domain question answering(QA)는 중요한 현실 세계 응용이고 지식 집약적 작업의 일반적인 테스트베드이다. 우리는 질문과 답변을 입력-출력 텍스트 쌍 (x,y)(x, y)로 취급하고 답변의 negative log likelihood로 직접적으로 최소화하여 RAG를 학습한다. 우리는 RAG를 주로 non-parametric 지식에 의존하는 검색된 문서에서 답변을 추출하는 인기 있는 추출 QA 패러다임과 비교한다. 또한 RAG와 유사하게 답변을 생성하지만 검색을 활용하지 않고 대신 순수하게 parametric 지식에 의존하는 ‘Closed-Book QA’ 접근과 비교한다. 우리는 4가지 인기 있는 open-domain QA 데이터셋을 고려한다. Natrual Questions(NQ), TriviaQA(TQA), WebQuestions(WQ), CuratedTrec(CT). CT와 WQ가 작으므로 우리는 DPR을 따라 CT와 WQ 모델을 우리의 NQ RAG 모델로 초기화한다. 우리는 prior 작업과 동일한 train/dev/test 분할을 사용하고 Exact Match(EM) 점수를 리포트한다. TQA의 경우 T5와 비교하기 위해 TQA 위키 테스트 셋에서도 평가한다.

3.2 Abstractive Question Answering

RAG 모델은 단순한 추출 QA를 너머 자유 형식의 추상적인 텍스트 생성으로 질문에 답변할 수 있다. 지식 집약적 설정에서 RAG의 natural language generation(NLG)를 테스트하기 위해 우리는 MSMARCO NLG task v2.1을 사용한다. 이 작업은 질문, 각 질문에 대해 검색 엔진에서 검색된 10개 gold passage, 그리고 검색된 passage에서 주석이 달린 전체 문장 답변으로 구성된다. 우리는 MSMARCO를 open-domain abstractive QA 작업으로 취급하기 위해 제공된 passage를 사용하지 않고 오직 질문과 답변만 사용한다.
MSMARCO는 ‘볼케이노에서 날씨는 어떤가? CA?’와 같이 gold passage에 대한 접근 없이는 참조 단변과 일치하는 방식으로 답변할 수 없는 일부 질문이 있어 gold passage를 사용하지 않으면 성능은 더 낮아진다. 또한 위키피디아만 사용하여 답변할 수 없는 일부 MSMARCO 질문이 있음에 유의하라. 여기서 RAG는 합리적인 답변을 생성하기 위해 parametric 지식에 의존할 수 있다.

3.3 Jeopardy Question Generation

non-QA 설정에서 RAG의 생성 능력을 평가하기 위해, 우리는 open-domain 질문 생성을 연구한다. 일반적으로 짧고 단순한 질문으로 구성되는 표준 open-domain QA 작업의 질문 대신, 우리는 Jeopardy 질문 생성이라는 보다 까다로운 작업을 제안한다. Jeopardy는 그 entity에 관한 사실에서 entity를 추측하려 하는 독특한 형식이다. 예컨대 ‘The World Cup’은 ‘1986년 멕시코가 이 국제 스포츠 경쟁을 두 번 유치한 첫 번째 국가가 되었다’ 라는 질문에 대한 답변이다. Jeopardy 질문이 정확하고 사실적인 문장이기 때문에, 그 답변 entity를 조건으로 Jeopardy 질문을 생성하는 것은 도전적인 지식 집약 생성 작업이다.
우리는 SearchQA를 100k 학습, 14k dev, 27k test 예제로 분할 한다. 이것이 새로운 작업이므로 비교를 위해 BART 모델을 학습한다. [67]을 따라 우리는 SQuAD-tuned Q-BLEU-1 메트릭을 사용하여 평가한다. Q-BLEU는 entity 일치에 더 높은 가중치를 부여하는 BLEU의 변종으로 질문 생성에 대한 표준 메트릭보다 인간의 판단과 더 높은 상관관계를 갖는다. 우리는 또한 두 번의 인간 평가를 수행한다. 한 번은 사실성을 평가하고, 다른 한 번은 구체성을 평가한다. 우리는 사실성을 신뢰할 만한 외부 소스에서 진술이 corroborated(입증)될 수 있는지 여부로 정의하고, 구체성을 입력과 출력 간의 높은 상호 의존성으로 정의한다.우리는 best practice를 따라 쌍별로 비교 평가를 사용한다. 평가자에게는 답변과 BART와 RAG에서 생성된 2가지 질문이 보여진다. 그 다음 그들은 4개 옵션 중 하나를 고른다. ‘질문 A가 낫다’, ‘질문 B가 낫다’, ‘둘 다 좋다’. ‘둘 다 좋지 않다.’

3.4 Fact Verification

FEVER는 자연어 claim(주장)이 위키피디아에 의해 지지되는지 또는 refuted(반박되다)는지 여부 또는 결정하기 위한 충분한 정보가 있는지 여부를 분류한다. 이 작업은 claim과 연관된 증거를 위키피디아에서 검색한 다음 이 증거에 대해 추론하여 claim이 참인지 거짓인지 또는 위키피디아만으로는 검증할 수 없는지 여부를 분류해야 한다. FEVER는 검색 문제와 도전적인 entailment(함축) 추론 작업이 결합된 것이다. 또한 RAG 모델의 생성이 아닌 분류 처리 능력을 탐구하기에 적절한 테스트베드를 제공한다. 우리는 FEVER 클래스 라벨(지지, 반박, 불충분한 정보)을 단일 출력 토큰에 매핑하고 claim-class 쌍을 직접적으로 학습한다. 중요한 것은 대부분의 다른 FEVER 접근과 달리 우리는 검색된 증거에 대해 supvervision(감독)을 사용하지 않는다는 점이다. 많은 현실 세계 응용에서 검색 감독 신호를 사용할 수 없으며, 그러한 감독을 필요로 하지 않는 모델은 더 넓은 범위의 작업에 응용될 수 있다. 우리는 2가지 변형을 탐구한다. 표준 3-way 분류 작업(지지/반박/불충분)과 Thorne과 Vlahos에서 연구된 2-way(지지/반박) 작업이다. 두 경우 모두 라벨 정확도를 리포트한다.

4 Results

4.1 Open-domain Question Answering

표 1은 최첨단 모델과 RAG 모델의 결과를 보인다. 4가지 모든 open-domain QA 작업에서 RAG는 새로운 최첨단 성능을 달성한다(TQA의 경우 T5와 비교 가능한 분할에서만). RAG는 ‘closed-book’(parametric only) 접근법의 생성 유연성과 ‘open-book’ 검색기반 접근의 성능을 결합한다. REALM과 T5+SSM과 달리, RAG는 비싼 전문화된 ‘salient(두드러진) span masking’ pre-training 없이 강력한 결과를 얻는다. RAG의 검색기는 Natural Question과 TriviaQA에 대해 검색 감독을 사용하는 DPR의 검색기를 사용하여 초기화된다는 것에 유의할 필요 있다. RAG는 BERT 기반 ‘cross encoder’를 사용하여 문서를 re-rank 하고, 추출 reader를 사용하는 DPR QA 시스템과 비교하여 favourably(유리한)다. RAG는 최첨단 성능을 위해 re-ranker 또는 추출 reader가 필요하지 않음을 보인다.
답변을 추출할 수 있는 경우에도 답변을 생성하는 것에 몇가지 이점이 있다. 답변을 포함하지는 않지만 답변에 관한 단서를 갖는 문서도 여전히 올바른 답변 생성에 기여할 수 있어, 표준 추출 접근법 보다 문서에 대한 더 효율적인 marginalization을 이끈다. 또한 RAG는 올바른 답변이 검색된 문서에 없는 경우에도 올바른 답변을 생성한다. NQ에 대해 이러한 경우 11.8%의 정확도를 달성했으며, 이 경우 추출 모델은 0%를 달성한다.

4.2 Abstractive Question Answering

표 2에 보이는대로 RAG-시퀀스는 Open MS-MARCO NLG에서 BART를 2.6 Bleu 점과 2.6 Rouge-L 점으로 능가한다. RAG 최첨단 모델 성능에 접근하는데, 이것은 (i) 해당 모델이 참조 답변을 생성하는데 필요한 특정 정보가 포함된 gold passage에 접근할 수 있고 (ii) 많은 질문이 gold passage 없이 답변 가능하지 않고 (iii) 모든 질문은 위키피디아만으로 답변 가능하지 않다는 점을 고려하면 인상적이다.
표 3은 우리 모델에서 생성된 일부 답변을 보인다. 정성적으로 RAG 모델이 BART 보다 덜 hallucinate이고 사실적으로 올바른 텍스트를 더 자주 생성함을 보인다. 이후에 RAG 생성이 BART 생성 보다 더 다양하다는 것도 보인다.

4.3 Jeopardy Question Generation

표 2는 Jeopardy 질문 생성에 대해 RAG-토큰이 RAG-시퀀스 보다 나음을 보인다. 두 모델 모두 Q-BLEU-1에 대해 BART를 능가한다. 표 4는 BART와 RAG-토큰에서 생성된 452개 쌍에 대한 인간 평가 결과를 보인다. 평가자는 BART가 RAG 보다 더 사실적이라고 응답한 경우는 7.1%인 반면 RAG가 더 사실적이라고 한 경우는 42.7%이고, RAG와 BART 모두 사실적이라고 한 경우는 17%이다. 이는 RAG가 최첨단 생성 모델 보다 이 작업에서 더 효과적임을 분명히 보인다. 평가자는 또한 RAG 생성이 훨씬 더 구체적이라고 평가했다. 표 3은 각 모델의 전형적인 생성 예를 보인다.
Jeopardy 질문은 종종 정보의 2개의 별개 조각을 포함하므로 RAG-토큰은 최고의 성능을 수행할 수 있다. 왜냐하면 이것은 여러 문서에서 컨텐츠를 결합하여 응답을 생성할 수 있기 때문이다. 그림 2는 예를 보인다. ‘Sun’을 생성할 때 posterior는 ‘The Sun Also Rises’를 언급하는 문서 2에서 높다. 유사하게 ‘A Farewell to Arms’가 생성되면 문서 1의 posterior가 지배적이다. 흥미롭게도 각 책 제목의 첫 토큰이 생성된 후에는 문서의 posterior는 편평해진다. 이 관찰 결과는 생성기가 특정 문서에 의존하지 않고 title을 완성 할 수 있음을 시사한다. 즉 모델의 파라메트릭 지식만으로도 title을 완성하는데 충분하다. 우리는 BART-only baseline에 부분 디코딩을 ‘The Sun’을 공급하여 이 가설에 대한 증거를 발견했다. BART는 ‘The Sun Also Rises’라는 제목이 BART의 파라미터에 저장되어 있음을 보이며, ‘The Sun Also Rises’ is novel by this author of ‘The Sun Also Rises’로 생성을 완성한다. 유사하게 BART는 부분 디코딩 ‘The Sun Aloso ‘Rises’ is novel by this author of ‘A’‘The Sun Aloso Rises’ is a novel by this author of ‘A Farewell to Arms’로 완성한다. 이 예는 parametric과 non-parametric 메모리가 어떻게 협력하는지를 보인다. non-parametric 성분은 생성을 가이드하고 parametric 메모리에 저장된 특정 지식을 뽑는다.

4.4 Fact Verification

표 2는 FEVER에 대한 결과를 보인다. 3-way 분류의 경우 RAG 점수는 최첨단 모델의 4.3% 내에 존재한다. 이러한 최첨단 모델은 복잡한 파이프라인 시스템으로 도메인별 아키텍쳐와 substantial(상당한) engineering과 중간 검색 감독을 사용하여 학습된다.
2-way 분류의 경우 우리는 gold 증거 문장이 주어질 때 주장이 참인지 거짓인지를 분류하는 RoBERTa를 학습한 Throne과 Vlachos와 비교한다. RAG는 주장만 제공 받고, 자체적으로 증거를 검색함에도 불구하고 이 모델의 정확도 2.7% 이내를 달성한다. 우리는 또한 RAG에 의해 검색된 문서가 FEVER에서 gold 증거로써 주석된 문서에 해당하는지 여부를 분석한다. RAG에 의해 검색된 상위 k개 문서와 gold 증거 주석 사이의 title 중복을 계산한다. 상위 검색 문서가 gold 기사에서 온 경우가 71%이며, 상위 10개 검색 기사 중 gold 기사가 포함된 경우가 90%임을 발견했다.

4.5 Additional Results

Generation Diversigy.
섹션 4.3은 Jeopardy 질문 생성에 대해 RAG 모델이 BART 보다 더 사실적이고 구체적임을 보인다. 최근 다양성 촉진 디코딩에 대한 연구에 따라 우리는 또한 서로 다른 모델에 의해 생성된 전체 ngram 중 고유 ngram의 비율을 계산하여 생성 다양성을 조사한다. 표 5는 RAG-시퀀스의 생성이 RAG-토큰 보다 더 다양하고, 두 모델 모두 다양성 촉진 디코딩 없이 BART 보다 훨씬 더 다양함을 보인다.
Retrieval Ablations.
RAG의 핵심 기능은 작업에 대해 관련된 정보를 검색하는 것을 학습하는 것이다. 검색 메커니즘의 효과성를 평가하기 위해 우리는 학습하는 동안 검색기를 고정하는 ablations(절제)를 실행한다. 표 6에 보여지는대로 학습된 검색은 모든 작업에서 결과를 개선한다.
RAG의 dense 검색기를 단어 중복 기반 BM25 검색기와 비교한다. 여기서 우리는 RAG의 검색기를 고정된 BM25 시스템과 교체하고 p(zx)p(z|x)를 계산할 때 BM25 검색 점수를 logit으로 사용한다. 결과는 표 6에 보인다. FEVER의 경우 BM25가 최고의 성능을 내는데, 아마도 FEVER의 주장이 entity-centric이어서 단어 중복-기반 검색에 적합하기 때문일 것이다.
미분 가능한 검색은 다른 모든 작업에 특히 관련 정보를 검색하는 것이 중요한 Open-Domain QA에서 결과를 개선한다.
Index hot-swapping.
RAG 같은 non-parametric 메모리의 장점은 지식이 테스트 시간에 쉽게 업데이트 될 수 있다는 것이다. T5나 BART 같은 parametric-only 모델은 세계가 바뀜에 따라 그들의 행동을 업데이트하기 위해 추가 학습을 해야 한다. 이를 보이기 위해 우리는 2016년 12월 DrQA 위키피디아 dump를 사용하여 인덱스를 구축하고, 이 인덱스 사용한 RAG의 결과를 우리의 주요 결과(2018년 12월)에서 사용한 새로운 인덱스의 결과와 비교한다. 우리는 이 날짜 사이에 교체된 82명의 세계 정상의 목록을 준비하고 ‘Who is {position}?’ (예: ‘Who is the President of Peru?’)라는 템플릿을 사용하여 각 인덱스로 NQ RAG 모델에 질의한다.
RAG는 2016년 세계 정상에 대해 2016년 index를 사용할 때 70%의 정확도, 2018년 세계 정상에 대한 인덱스를 사용할 때 68%의 정확도를 보인다. 잘못된 인덱스를 사용할 경우 정확도는 낮다. (2018년 인덱스와 2016년 정상을 사용하는 경우 12%, 2016년 인덱스와 2018년 정상을 사용하는 경우 4%). 이것은 non-parametric 메모리를 교체하여 RAG의 세계 지식을 간단히 교체할 수 있음을 보인다.
Effect of Retrieving more document.
모델은 5개 또는 10개의 검색된 latent 문서로 학습되며, 이 두 경우 사이에 큰 차이가 없음을 관찰했다. 우리는 테스트 시간에 검색된 문서의 수를 조정할 수 있는 유연성을 가지며, 이것은 성능과 실행시간에 영향을 미칠 수 있다. 그림 3(왼쪽)은 테스트 시간에 더 많은 문서를 검색하면 RAG-시퀀스의 Open-domain QA 결과가 단조롭게 개선하지만, RAG-토큰의 경우 10개 검색된 문서에서 피크를 찍는 것을 보인다. 그림 3(오른쪽)은 더 많은 문서를 검색하면 RAG-토큰의 Rouge-L이 높아지지만 Bleu-1이 낮아지지만 이 효과는 RAG-시퀀스에 대한 덜 pronounced(명백한)이다.

5 Related Work

Single-Task Retrieval.
이전 작업에서 검색이 개별적으로 고려될 때 다양한 NLP 작업에서 검색이 성능을 개선시키는 것을 보였다. 이런 작업에는 open-domain question answering, face checking, fact completion, long-form question answering, Wikipedia article 생성, dialogue, translation, language modeling 등이 포함된다. 우리의 작업은 개별 작업에 검색을 통합하는 이전 성공을 통합하여, 단일 검색-기반 아키텍쳐가 여러 작업에 걸쳐 강력한 성능을 달성할 수 있음을 보인다.
General-Purpose Architectures for NLP.
NLP 작업을 위한 범용 아키텍쳐에 대한 이전 작업은 검색 사용하지 않고도 큰 성공을 보였다. 단일 pre-trained 언어 모델은 fine-tuning 후에 GLUE 벤치마크의 다양한 분류 작업에서 강력한 성능을 달성했다. 이후 GPT-2는 single, left-to-right, pre-trained 언어 모델이 판별과 생성 작업 모두에서 강력한 성능을 달성할 수 있음을 보였다. 더 나은 성능을 위해 BART와 T5는 single, pre-trained encoder-decoder 모델을 제안하여 bi-directional attention을 활용하여 판별과 생성 작업에서 더 강력한 성능을 달성했다. 우리의 작업은 검색 모듈을 학습하여 pre-trained 언어 모델을 증강하여 단일 통합 아키텍쳐로 가능한 작업 공간을 확장하는데 초점을 맞춘다.
Learned Retrieval.
정보 검색에서 문서 검색을 학습하는 상당한 작업이 있었다. 더 최근 작업은 우리와 유사한 pre-trained 자연어 모델을 사용한다. 일부 작업에서는 검색, reinforcement learning 또는 우리의 연구와 같은 latent variable 접근을 사용하여 question answering 같은 특정 downstream 작업을 돕기 위해 검색 모듈을 최적화한다. 이러한 성공 사례는 단일 작업에서 강력한 성능을 달성하기 위해 서로 다른 검색 기반 아키텍쳐와 최적화 기술을 활용한 반면, 우리는 단일 검색-기반 아키텍쳐가 다양한 작업에서 강력한 성능을 내도록 fine-tuned 될 수 있음을 보인다.
Memory-based Architectures.
우리의 문서 인덱스는 신경망이 attend 해야 하는 대형 외부 메모리로 볼 수 있으며 memory network와 유사하다. 동시에 진행된 연구에서는 우리의 작업에서와 같이 raw 텍스트를 검색하는 대신 입력에서 각 entity에 대한 학습된 임베딩을 검색하도록 학습된다. 다른 작업에서는 fact embedding에 대해 attending하여 모델의 사실적인 텍스트를 생성 능력을 개선한다. 우리 메모리의 핵심 기능은 분산 표현이 아닌 raw 텍스트로 구성되어 있다는 점인데, 이를 통해 (i) human-readable, 모델에 해석 가능성을 부여하고 (ii) human-writable, 문서 인덱스를 편집하여 모델의 메모리를 동적으로 업데이트할 수 있다. 이 접근법은 지식 집약적 대화에서도 사용되었는데, 생성기가 TF-IDF가 아닌 end-to-end 학습된 검색을 통해 얻은 검색 텍스트에 직접 조건화 된다.
Retrieve-and-Edit approaches.
우리의 방법은 주어진 입력에 대해 유사한 학습 입력-출력 쌍은 검색하고 최종 출력을 제공하기 위해 편집하는 retrieve-and-edit 스타일 접근과 몇 가지 유사성을 공유한다. 이러한 접근은 Machine Translation, Semantic Parsing을 포함하여 다양한 도메인에서 성공적이었다. 우리의 접근은 검색된 아이템을 가볍게 편집하는데 중점을 두기 보다하는 것에 검색된 여러 컨텐츠에서 컨텐츠를 집계하고, latent 검색을 학습하고, 연관된 학습 쌍 대신 증거 문서를 검색한다는 차이가 있다. RAG 기술은 이러한 설정에서 잘 작동할 수 있고 유망한 미래 작업이 될 수 있다.

6 Discussion

이 작업에서 우리는 parametric과 non-parametric 메모리에 접근할 수 있는 하이브리드 생성 모델을 제시한다. 우리의 RAG 모델이 open-domain QA에서 최첨단 결과를 얻는 것을 보였다. 우리는 사람들이 순수 parametric BART 보다 RAG의 생성을 더 선호하며, RAG가 더 사실적이고 구체적이라고 평가했다. 우리는 학습된 검색 성분에 대한 철저한 조사를 수행하여 그 효과를 검증했고, 임의의 재학습 없이 검색 인덱스를 hot-swapped하여 모델을 업데이트할 수 있음을 보였다. 미래 작업에서는 두 성분을 BART와 유사한 denoising 목적이나 다른 목적으로 scratch(처음부터) 결합으로 pre-trained 될 수 있는지 조사하는 것이 유익할 수 있다. 우리의 작업은 parametric과 non-parametric 메모리가 상호작용하고, 더 효과적으로 결합할 수 있는 방법에 대한 새로운 연구 방향을 열었고, 다양한 NLP 작업에 적용될 가능성을 보였다.