오늘은 DPR과 RAG에 이어 FiD 논문에 대해서 리뷰해보고자 한다.
https://arxiv.org/abs/2007.01282
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
1. Introduction
앞서 발표되었던 LLM들은 외부 지식의 도움 없이 양질의 output을 내기 위해서 모델이 수많은 parameter를 가지고 있게 training이 되어야 했기 때문에 이런 training 없이 더 좋은 품질의 output을 위해 다양한 시도들을 진행했다.
REALM의 경우에는 외부 지식들을 활용하되 pre-training 시에 해당 외부 지식들을 함께 학습한다.
LM이 MLM task를 진행할 때, 따로 Q-A 데이터 셋을 주어주는 게 아니라 이 외부 지식들을 활용해서 LM이 얼마나 더 예측을 잘하게 하는지를 학습하기 때문에 unsuperivsed 방식으로 Retriever가 학습되는 방식을 제안했다.
DPR의 경우에는 Q-A 데이터쌍을 supervised 학습을 통해 retriever 자체의 성능을 강화하는 방식을 진행했고,
20년도 Facebook에서 나온 RAG 모델의 경우 downstram task에서 retriever와 generator를 end-to-end로 통합했다.
하지만 이러한 방법들도 문제가 존재했다.
Retriever가 반환한 여러 passage를 하나로 concat 해서 generator를 하기 때문에, 길이가 길어지면 결국은 정보의 손실이 생기고, 마찬가지로 generator(BART 등)가 긴 입력을 처리하기가 어려운 long context problem도 발생한다. 또한, Retrieval 된 각 문서 간 상호작용이 제한적이라서 관련성이 낮은 문서가 섞이면 성능이 저하가 된다는 점이었다.
그래서 이 FiD 논문에서는 제목 그대로 Fusion-in-Decoder처럼 "각 문서를 따로 인코딩하고, 디코더에서 융합하자" 라는 아이디어를 제안했다.
2. Model Architecture
본격적으로 FiD의 구조에 대해서 한번 살펴보도록 하자.
retrieved passaged들을 encoder 단계에서는 독립적으로 처리하고 decoder에서 cross-attnetion으로 통합(fusion) 한다는 아이디어이다. 즉, 각 passage를 encoder에서 독립적으로 contextualize 한 뒤, decoder가 이들을 cross-attention을 진행한다는 이야기다.

전반적으로 봤을 때, retriever와 encoder-decoder로 이루어진 generator로 구성되어 있기 때문에 전반적인 원리는 RAG와 비슷해보일 수 있으나 Encoder와 Decoder로 이어지는 부분에서 RAG와의 차이점이 존재한다.
RAG의 경우에는 각 retrieved document 마다 독립적으로 p(answer | query, doc)을 계산하고, deocder에서도 문서별로 따로 작동해서 각각의 출력을 생성한다. 이후에 최종 output 확률을 위해 문서별 확률을 marginalized 한다. 즉, retrieved document가 endcoder와 decoder에서 독립적으로 처리된 이후에 최종 output을 구한다.
그렇기 때문에 decoder는 한 번에 하나의 문서만 조건으로 답을 생성하기 때문에 문서들 간 cross-attention이 불가능하다.
즉, 각 document마다 encoder-decoder가 따로 돌고, decoder는 한 번에 하나의 문서의 hidden state에만 attend하기 때문에 cross-attention이 불가능 하다.
(정확히는 cross-attention 그 자체가 불가능하다기 보다는 문서 전체에 대한 결합 학습이 안된다는 의미)
반면, FiD의 경우 각 (query, doc) 쌍을 각각 encoder로 인코딩한 뒤, 이 encoder output을 즉, 각 encoder에서 넣고 나온 encoder output hidden states들을 전부 concat 하여 하나의 긴 시퀀스로 만들기 때문에, 이 모든 encoder 출력을 decoder에 입력하여 한꺼번에 보고 최종 답변을 생성할 수 있게 한다. 다시 말해서 디코더가 동시에 여러 문서를 참조할 수 있기 때문에 문서들 간의 cross-attention이 가능하다.
다시 말해서 두 가지 방법에서 핵심적인 차이점은 RAG의 경우 확률적 marginalization이며, FiD의 경우 representation-level fusion이다. 조금 더 쉽게 풀어서 설명하자면 RAG는 문서별로 독립된 generation 후 확률적으로 합치고, FiD는 모든 문서의 인코딩을 한꺼번에 합쳐서 생성한다의 느낌이다.
3. Method & Experiments
또한, 본 논문에서는 Retriever로 BM25와 DPR 등 외부 retirever 사용하는데, 구체적으로 성능 측정과정에서 NaturalQuestions (NQ)와 TriviaQA에서는 DPR을 SQuAD에서는 BM25를 사용했다고 한다.
Generator는 T5나 BART와 같은 sequence-to-sequence 모델을 활용했다. 아까도 정리했듯이 각각의 input sequence x와 각각의 document를 concat을 하는 데 여기에 special token을 추가해 준다. "question: ", "title: ", "context: "를 넣어주고 이렇게 만들어진 input sequence는 generator에 입력되게 된다.
일반적인 sequence generation loss를 활용했고 Retrieval은 frozen 상태에서 generator만 fine-tuning 된다.

그래서 실제 이 FiD의 실험 결과를 확인해보면, FiD-large 모델은 모든 open-domain QA 벤치마크에서 SOTA를 달성했다.
여기서 주목할 점은, 400M의 parameter를 가진 RAG 보다 절반정도 적은 parameter를 가진 FiD-BASE가 더 좋은 성능을 내는 것을 확인할 수 있다.
또한, retrieved 되는 document의 개수를 다르게 해서 각각의 task에서 성능을 측정해 보았다.

retrieve 되는 document의 수가 많아질수록, 성능이 점점 증가하는 것을 확인할 수 있다.
추가적으로 evaluation에 사용되는 document의 수를 고정하고, training에 사용되는 document의 수를 변경하며 성능을 측정하는 실험을 진행했다.

training에 사용되는 document의 개수가 작을수록 성능이 하락하는 것을 확인할 수 있다.
4. Conclusion
FiD는 retrieved 문서의 정보를 decoder에서 융합하도록 설계된 RAG 발전형으로 Cross-attention fusion 구조를 제안했다.
즉, retrieval + generation의 효율적 통합을 통해 open-domain QAD의 정확도를 크게 향상한 논문이다.
하지만 여전히 retriever가 frozen이라 이 성능에 따라 전체 모델이 좌우되고, passage 수가 많아지면 decoding 속도가 느려진다.
다시 말해서 앞서 나온 REALM 처럼 학습이 진행되는 것은 아니고, Multi-passage reasoning을 개선하기 위한 아이디어를 제시한 논문이라고 정리하면 될 것 같다.
오늘은 이렇게 해서 FiD 논문에 대해서 정리를 해보았다.
RAG와 FiD의 핵심적인 구조적 차이에 대해서 이해하는 데 다음 블로그를 참고했습니다.
https://gbdai.tistory.com/68
[논문 리뷰] Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering
이번 게시물에서는 retrieval augmented language model의 일종인 RAG model을 내부적으로 수정하여 발전시킨 FiD (Fusion-in-Decoder) model을 제안한 Leveraging Passage Retrieval with Generative Models for Open Domain Question Answeri
gbdai.tistory.com
감사합니다.