본문 바로가기
NLP

[논문 리뷰] Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

by cuda 2023. 4. 29.

이번 게시물에서는 retrieval augmented language model의 일종인 RAG model을 내부적으로 수정하여 발전시킨 FiD (Fusion-in-Decoder) model을 제안한 Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering 논문에 대해 다뤄보겠다.

 

본 논문의 저자중 한명인 Gautier Izacard 님은 추후 Atlas와 같은 retrieval augmented language model 후속 연구도 진행하셨으며, LLAMA의 개발에도 참여하신 분이다.

 

원문 링크는 아래와 같다.

 

Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

Generative models for open domain question answering have proven to be competitive, without resorting to external knowledge. While promising, this approach requires to use models with billions of parameters, which are expensive to train and query. In this

arxiv.org

 

 

Introduction

많은 연구들에서 거대 corpus로 훈련된 LLM(Large Language Model)은 factual information을 추출해낼 수 있다는 사실을 보여왔다. 그러나 external knowledge의 도움 없이 양질의 output을 산출해내기 위해서는 model로 하여금 수많은 parameter를 가지고 있게끔 해야하는데, 이러한 거대 model들은 training 과정이 expensive하다는 단점이 있다

 

이러한 문제를 개선하고자, 본 논문에서는 task를 수행할 때 external knowledge corpus로부터 knowledge를 추가적으로 전달받는 retrieval augmented language model인 FiD(Fusion-in-Decoder)를 제안한다. 

 

FiD 구조는 기본적으로 RAG와 같이 retriever와 Encoder-Decoder 구조로 구성된 generator로 구성되어있다. 전반적인 원리 및 구조는 RAG와 비슷하나, Encoder에서 Decoder로 이어지는 부분에서 RAG와 FiD는 차이를 보인다. 

 

RAG model의 경우, 아래의 게시물에서 다뤘었으니 참고 바란다.

 

[논문 리뷰] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

이번 게시물에서는 Retrieval-Augmented Language Model 중 하나인 RAG model을 제시한 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 논문에 대해 다뤄보겠다. 해당 논문이 발표되었던 시기에는, REALM과 같

gbdai.tistory.com

 

그렇다면, RAG와 FiD는 어떤 점에서 차이를 보일까? 이를 조금 더 직관적으로 나타내보기 위해, 두 model의 architecture를 비교한 figure를 만들어보았다.

오른쪽의 differs from RAG를 주목해보자. 기본 RAG에서는 각각의 document에 대한 input이 Encoder와 Decoder 모두에서 독립적으로 처리된 이후, 전체 document에 대해 marginalize를 함으로써 최종 output을 구하게 되었다.

(이에 대한 자세한 설명은 위의 RAG 논문 리뷰를 참고 바란다)

 

그러나, FiD를 보면, Encoder로부터 산출된 각 document에 대한 input의 output representation에 대해 concat을 하고, concat된 representation을 한번에 Decoder의 input으로 넣어주어 최종 output을 구하게 된다.

 

즉, RAG와 다르게, FiD는 여러 document에 대한 Encoder의 output을 concat함으로써, Decoder에서 한번에 처리한다는 차이점이 있다.

 

자세한 내용에 대해서는 아래에서 다뤄보도록 하겠다.

 

 

Method

FiD의 architecture에 관하여 논문에서는 아래와 같이 소개한다

그러나 이를 처음 보고 이해가 쉽지 않기도 했고, 많은 부분이 생략되어있는 figure이기에, 따로 FiD architecture figure를 제작해보았다. 이는 아래와 같다.

이 과정을 차례차례 따라가보도록 하겠다.

 

먼저, input sequence (혹은 query라고도 함) $x$는 retriever에 전달되게 된다.

Retriever는 이를 통해 external knowledge corpus에서 input sequence와 유사한 top-k document를 retrieve하게 된다.

(external knowledge corpus는 여러 document로 이루어져 있다. top-k document를 가져온다는 것은 corpus 중에서 input과 유사한 부분을 가져온다는 뜻이다)

 

또한, 본 논문에서는 retriever로 BM25와 DPR을 사용하였다고 한다. 후반부에 다시 언급하겠지만, model 성능 측정 과정에서 Natural Question(NQ) dataset과 TriviaQA dataset에서는 DPR을 사용하였고, SQuAD에서는 BM25를 사용하였다고 한다.

 

이후, retrieved documents들과 input sequence를 통해 input representation을 만들게 된다.

이 과정은 아래의 figure를 참고하면 이해가 빠를 것이다.

기본적으로는 input sequence $x$와 각각의 document를 concat하는 구조이다. 여기에 추가적으로, "question: ", "title: ", "context: " 의 special token을 추가해준다. 위의 figure에서의 빨간 단어들이 그 예이다.

 

이렇게 만들어진 input sequence는 Encoder-Decoder 구조의 generator에 입력되게 된다.

(FiD는 기본적으로 T5 model을 기반으로 만들어졌으며, 본 논문에서는 T5 BASE(220M)와 LARGE(770M)를 활용한 FiD-BASE와 FiD-LARGE 두 model이 제안된다. T5 model에 관한 자세한 설명은 하단의 리뷰를 참고 바란다)

 

[논문 리뷰] Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

이번 게시물에서는 구글에서 연구하고 발표한 T5를 다룬 논문인 Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer에 대해 다뤄보겠다. 해당 모델의 경우, BART와 같이 Encoder-Decoder 구조

gbdai.tistory.com

이후, Encoder로부터 산출된 각 document에 대한 input의 output representation에 대해 concat을 하고, concat된 representation을 한번에 Decoder의 input으로 넣어주어 최종 output을 구하게 된다.

 

논문에서는 이렇게 concat하여 Decoder에 전달해주는 방법이 기존 RAG에서의 방법보다 여러 document에서부터의 evidence를 잘 aggregate한다는 장점을 가진다고 말한다.

(기존에는 각각의 document에 대해 값을 산출하고, 각 document에 대한 값인 $p(z|x)$를 곱한 뒤 document에 대해 marginalize함으로써 여러 document들로부터의 정보를 aggregate하였는데, 본 논문에서는 concat하여 한번에 decoder로 전달하는 방식이 기존의 방식보다 더 좋다는 말을 하는 것이다.)

 

 

Experiments

그렇다면, 실제로 이러한 방법론은 기존 방법론보다 좋은 성능을 보였을까? 아래는 본 연구에서 진행한 비교 실험 결과이다.

우선, FiD-LARGE가 모든 dataset에서 SOTA 혹은 그에 비슷한 성능을 내는것을 확인할 수 있었다.

여기서 주목할 점은, RAG와 FiD-BASE의 결과이다. 400M개의 parameter를 가진 RAG보다 절반 정도 적은 parameter를 가진 FiD-BASE가 더 좋은 성능을 내는 것을 확인할 수 있다.

 

또한, 저자들은 top-k의 개수, 즉 retrieve되는 document(passage)의 개수를 다르게 하여 성능 측정을 해보았다. 이에 대한 결과는 아래와 같다.

retrieve되는 document의 수가 많아질수록, 성능이 점점 증가하는 것을 확인할 수 있다.

저자들은 이에 대해 extractive approach들은 10-20개 사이에서 성능이 수렴하는 것을 밝히며, 생성기반의 seq2seq model들이 다양한 document들로부터 얻는 정보를 잘 활용한다고 주장한다.

 

위 실험의 경우, training때 사용된 document의 개수와 evaluation에 사용된 document의 수가 같았다. (50일 경우 training도 50개로 진행하고, evaluation도 50개로 진행)

저자들은 추가적으로 evaluation때 사용되는 document의 수는 100개로 고정하되, training에 사용되는 document의 수를 변경하며 성능을 측정하는 실험을 진행하였다. 결과는 아래와 같다.

마찬가지로, training에 사용되는 document(passage) 개수가 적을수록, 성능이 하락하는 것을 확인할 수 있다.

다만, 적은 document들(5,10,25,50)로 학습한 model들에 대해 100개의 document로 1000step동안 fine-tuning한 경우 성능이 하락이 매우 완화되는 것 또한 확인할 수 있다.  저자들은 이러한 결과를 통해 성능 하락은 최소한으로 하며 computational resource또한 최소한으로 사용할 수 있는 효율적인 학습을 할 수 있다고 말한다.

댓글