728x90

Introduction

Pre-trained Language Model(PLM) 장점

  • 상당한 지식 습득
  • 외부 메모리 접근 없이 지식 풍부

PLM 단점

  • Hallucination
  • 메모리의 확장 및 수정 불가능

PLM의 단점을 위해 parametric memory + non-parametric memory → Seq2Seq Model을 설계

  • Parametric memory (e.g., Logistic Regression, Linear Regression)
    • Pre-trained seq2seq transformer
  • Non-parametric memory(K-NN, Decision Tree, Random Forest)
    • dense vector index of Wikipedia

여기서 Retriever는 Top-K approximation 방법을 사용해 문서를 검색한다.

 

 

Methods

 

Model

  • $x$ : Input sequence
  • $y$ : target sequence
  • $z$ : text document

RAG Model : $x$를 사용하여 $z$를 검색하고, 시퀀스 $y$를 생성할 때 사용하는 RAG 모델에 대한 탐구하며 모델은 두 가지 구성 요소를 활용

  1. $x$에 대해 텍스트(Top-K)의 분포를 반환하는 매개변수 $η$를 가진 검색기 $p_η(z|x)$
  2. 원래 입력 $x$와 검색된 구절 $z$, 이전 $i-1$ 토큰 $y_{1:i−1}$의 컨텍스트를 기반으로 현재 토큰을 생성하는 매개변수 $θ$로 매개화된 생성기 $p_θ(y_i|x, z, y_{1:i−1})$

Generator와 Retriever을 훈련(end-to-end)하기 위해 검색된 문서를 잠재 변수 취급하며, 생성된 텍스트에 대해 평가하기 위해 검색된 문서들을 두 가지 방식으로 사용하는 모델을 제안

RAG-Sequence Model

검색된 동일한 문서를 이용하여 전체 Sequence 생성. 검색된 문서를 단일 변수로 취급하고 나머지 문서에 대해 Sequence 예측

$$ p_{\text{RAG-Sequence}}(y|x) \approx \sum_{z \in \text{Top-K}(p(z|x))} p_{\eta}(z|x) p_{\theta}(y|z, x) = \sum_{z \in \text{Top-K}(p(z|x))} p_{\eta}(z|x) \prod_{i} p_{\theta}(y_i|z, x, y_{1:i-1}) $$

RAG-Token

생성되는 토큰마다 문서를 추출함. 이는 Generator가 토큰마다 문서를 다시 검색하고 검색된 문서를 바탕으로 다음 토큰을 예

$$ p_{\text{RAG-Token}}(y|x) \approx \prod_{i} \sum_{z \in \text{Top-K}(p(z|x))} p_{\eta}(z|x) p_{\theta}(y_i|z, x, y_{1:i-1}) $$

Retriever: DPR

Retrieval component $p_η(z|x)$ 는 DPR [26]을 기반으로 하며 bi-encoder 구조

$$ p_{\eta}(z|x) \propto \exp(d(z)^T q(x)) $$

$$d(z) = \text{BERT}{d}(z), \quad q(x) = \text{BERT}{q}(x) $$

  • $d(z)$ : $BERT_{BASE}$ (Document Encoder)에 의해 생성된 문서의 Dense representation
  • $q(x)$ : $BERT_{BASE}$(Query Encoder)에 의해 생성된 Quary Represenation

Query $x$ 에 대해 가장 높은 사전 확률 $p_η(z|x)$을 가진 $k$개의 문서 $z$ 목록인 top-k$(p_η(·|x))$를 계산하는 것은 최대 내적 검색(Maximum Inner Product Search, MIPS)을 이용(선형 시간내에 대략적 해결)

Generator: BART

Generator Component $p_\theta(y_i|x,z,y_{1:i-1})$는 Encoder-Decoder을 이용하여 모델링

논문에서는 400M 크기의 Pre-trained BART-large 사용

BART input = 입력 $x$와 생성된 문서 $z$를 단순히 연결

Training

  • Retriever & Generator은 문서 검색에 대한 Direct supervision없이 Training을 진행.
  • 입력/출력 쌍$(x_j, y_j)$으로 구성된 Training Corpus를 사용하여, 각 대상에 대해 $\sum_j - log p(y_j | x_j)$을 최소화하는 방식으로 훈련하며 최적화 기법은 Adam을 사용
  • Document Encoder ($BERT_d$) 업데이트를 진행하지 않으며, Query Encoder($BERT_q$)와 Generator($BERT_{large}$)만 Fine-tunning을 진행

Experiments

  1. $BERT_{BASE}$를 이용한 Document Encoder를 사용해 Wikipedia 기사를 임베딩
  2. Facebook AI Similarity Search(FAISS)를 사용하여 single Maximum Inner Product Search(MIPS)를 통해 Top-K Document Search 함

Dataset

 

1. Open-Domain QA

  1. Natural Question (NQ)
  2. TriviaQA(TQA)
  3. WebQuestion(WQ)
  4. CuratedTrec(CT)

4개의 데이터셋을 이용하여 RAG를 훈련

 

2. Abstractive QA

https://huggingface.co/datasets/ms_marco

MSMARCO NLG Task v2.1을 사용함.

제공된 사이트를 사용하지 않고 질문과 답변을 할 수 없는 질문이 있으며, 일부 질문은 위키백과만을 사용하여 답변할 수 없습니다

→ RAG는 매개변수의 지식에 의존해 합리적인 응답 생성

 

3. Jeopardy QG

https://huggingface.co/datasets/search_qa

Jeopardy는 주어진 Entity에 대해 Entity를 추측하는 질문을 생성하는 독특한 데이터셋

e.g.,) “월드컵” ⇒ “1986년 멕시코가 처음으로 이 국제 스포츠 대회를 두 번째로 개최한 나라로 기록되었습니다.”

 

4. Fact Extraction and VERification(FEVER)

https://huggingface.co/datasets/fever

주장에 대해 반박할 충분한 정보가 있는지 없는지 분류 → 위키백과로 검증 불가능한지 분류

⇒ RAG이 생성이 아닌 분류를 처리할 수 있는 능력이 있는지 테스트

 

Results

 

1. Open-Domain QA

RAG = Closed Book + Open Book

→ REALM 및 T5 + SSM과 같이 비용이 많이 드는 Span masking 없이도 강력한 결과 산출

2. Abstractive QA

RAG는 최첨단 모델 성능에 다음과 같은 이유를 바탕으로 우수한 성능을 보여줌

  1. RAG는 Gold access 없이 좋은 성능을 보여줌
  2. 많은 질문은 Gold access 없이는 답변하기 어려움
  3. 모든 질문이 Wikipedia로만 답변 가능한 것이 아님

RAG가 BART보다 Question Generation에서 Hallucination에 강하다.

3. Jeopardy QG

Jeopardy 질문에는 종종 두 개의 별개 정보가 포함되어 있는데, RAG-Token이 여러 문서의 내용을 결합한 응답을 생성할 수 있기 때문에 가장 잘 수행될 수 있다.

4. Fact Verification


3-way 분류에서, RAG 점수는 domain-specific Architecture 및 substantial engineering, trained using intermediate retrieval supervision 과 약 4.3% 범위 내의 최첨단 모델과 일치합니다.(RAG는 다음과 같은 복잡한 과정 X)