본문 바로가기
NLP/논문리뷰

[논문 Review] 09. FiD : Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

by ㅣlㅣl 2024. 1. 24.
논문의 핵심 내용 한줄 요약

디코더에서 여러 문서를 효율적으로 결합해서 생성 모델의 성능을 향상시키자!


 

GitHub - facebookresearch/FiD: Fusion-in-Decoder

Fusion-in-Decoder. Contribute to facebookresearch/FiD development by creating an account on GitHub.

github.com

 

 

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

 

 

Abstract

Open-domain QA Generative Model은 외부 지식에 의존하지 않고도 괜찮은 성능을 보이는 것으로 입증됐다. 그러나 좋은 성능을 가진 (크기가 큰) Generative Model은 train & inference에 많은 시간이 소요되므로, 이러한 모델이 evidence를 포함한 passage를 retrieve 했을 때 얼마나 이점을 가지는지 조사해보고자 한다.

성능 평가를 위해 Natrual Questions와 TriviaQA 벤치마크를 이용했으며, retrieved passage가 늘어날수록 성능이 크게 향상된다는 사실을 확인했다. 이는 seq2seq 모델 (여기서는 T5) 이 여러 구절에서 나오는 evidence를 효율적으로 모으고 결합할 수 있는 유연한 프레임워크라는 증거이다.

 

1. Introduction

최근 여러 연구에서는 방대한 데이터로 학습된 LLM에서 factual information을 추출할 수 있음을 보여주었는데, 이를 바탕으로 unstructed text에서 Finetuning한 LLM이 factual information을 얼마나 저장하는지 알아보고, 또 external knowledge를 참조하는 retrieval model과 비교했을 때 경쟁력 있는 성능을 보여줬다는 연구 [각주:1]가 있었다.

하지만 external knowledge를 사용하지 않는 경우 모든 정보를 파라미터에 저장해야 하기 때문에 필연적으로 큰 모델이 필요하고, 따라서 훈련 및 추론에 많은 비용이 든다.

이번 연구에서는 external knowledge를 이용하는 것이 얼마나 많은 이점을 가져다줄 수 있는지를 조사하고자 한다.

 

이전에 사용되었던 extractive model 기반 open-domain QA 태스크에서 사용된 Retriever based approch는 다음과 같다.

1. support documents retrieve 하기

2. 반환된 document에서 정답 extract

  • Retrieval technique : TF/IDF, dense embeddings
  • Extractive model : ELMo, BERT

Extractive model을 사용할 경우 여러 구절에서 evidence를 취합하는 것이 간단하지 않았기 때문에, 이에 대한 여러 연구[각주:2][각주:3] 가 진행되기도 했다.

 

본 논문에서는 Generative Modeling의 이점과 Retrieval Modeling의 이점을 모두 취하기 위해 다음과 같은 방법론을 구상했다.

1. sparse/dense representation 을 사용해 supporting passages를 retrieve

2. retrieved passages를 query와 함께 입력으로 받아 seq2seq 모델이 정답을 생성한다.

 

해당 방법으로 모델을 구성한 결과 테스트해본 두 벤치마크셋에서 SOTA를 달성했다.

특히 retrieved passages의 수가 증가할 때 성능이 크게 향상되는 것을 확인할 수 있었는데, 이는 Generative model이 extractive model에 비해 여러 evidence를 결합하는 데 능숙하다는 것을 의미한다.

 

2. Related work

open domain QA

evidence가 일반적으로 제공되지 않는 질문에 답변하는 태스크이다.

관련 연구[각주:4] 에서는 위키피디아에서 support document를 검색한 다음에 정답을 extract하는 방식으로 해당 태스크를 해결했다.

또 문서에 Gold span이 주어지지 않고 정답만 주어지는 설정을 해결하기 위해 다양한 방법이 제안되었다.

  • 정답에 해당하는 모든 span에 전역 정규화를 사용하는 방법[각주:5]
  • hard expectation-maximization을 사용하는 방법[각주:6]
  • confidence & coverage score를 사용해 여러 문단의 답변을 집계하는 방법[각주:7]

 

Passage retrieval

  • 초기에는 support document를 검색하기 위해 TF/IDF 기반의 sparse representation이 사용됨[각주:8]
  • BiLSTM을 지도학습해서 paragraph를 rerank 하는 방법[각주:9]
  • ranking system을 강화학습으로 학습하는 방법 [각주:10]
  • 이후 위키피디아나 위키데이터 그래프와 같은 외부 정보를 활용해 retrieval step을 개선시키고자 함[각주:11] [각주:12]

최근 연구[각주:13] [각주:14]에서는 dense representation & approximate nearest neighbors에 기반한 retrieval system이 이전의 모델과 비교되고 있는데, 이는 기존 방식과 비교했을 때 QA pair를 통해 약한 지도학습을 진행할 수 있고 cloze task로 pretrain 후 end-to-end 방식으로 finetuning할 수 있다는 장점이 있다.

 

Generative QA

답변이 support document의 span과 일치하지 않는 방식으로 존재하는 NarrativeQA, CoQA, ELI5와 같은 데이터셋에서 주로 고려된 태스크이다.

본 연구와 가장 유사한 이전 연구[각주:15] [각주:16]에서는 open domain QA를 위한 retrieval augmented generative model을 도입했는데, 이번 연구에서는 generative model이 retrieved passages를 처리하는 방식에서 이전 연구와의 차이가 존재한다.

이 방식은 이전 연구보다 대량의 문서로 확장 및 다수의 evidence를 활용하는 데 유리하다.

 

3. Method

[그림 1] FiD 전체 작동 방식

1. support passage retrieve 하기

2. seq2seq 모델로 이를 처리한다

 

Retrieval

support passage retrieval을 위해 2가지의 방법론을 고려한다.

  • BM25 :  주어진 쿼리에 대해 문서와의 연관성을 평가하는 랭킹 함수로 사용되는 알고리즘으로, TF-IDF 계열의 검색 알고리즘 중  SOTA 인 것으로 알려져 있다 [각주:17]
    • passage를 BoW로 표현
    • ranking function은 TF-IDF로 표현
    • SpaCy를 통해 question & passage 토크나이즈
  • DPR (Dense Passage Retrieval) : 간단한 이중 인코더 구조를 기반으로 적은 수의 질문과 지문을 학습해 얻은 dense 임베딩을 사용해 구현한 retrieval [각주:18]
    • passage, question은 2개의 BERT network를 사용해 dense vector로 표현됨
    • ranking function은 query - passage 사이의 dot product

검색은 FAISS 라이브러리를 사용해 가장 가까운 벡터를 찾는 방식으로 수행된다.

  • FAISS : Facebook AI Similarity Search
    페이스북 AI 연구팀(Facebook AI Research, FAIR)에서 개발한 라이브러리로, 대량의 고차원 벡터에서 유사성 검색 및 클러스터링을 빠르고 효율적으로 수행할 수 있습니다. 파시스는 특히 딥 러닝에서 생성된 대량의 벡터 데이터에 대한 연산을 처리하는 데에 최적화되어 있습니다.

    전통적으로 벡터 유사도를 구하기 위해 유클리드 거리나 코사인 유사성 같은 메트릭을 사용하여 모든 벡터 쌍 사이의 거리를 계산합니다. 하지만 이러한 방법은 계산량이 많아 대량의 데이터에 대해 비효율적이며, 시간도 많이 소요됩니다. 이러한 문제를 해결하기 위해 파시스는 양자화 및 압축, 색인 생성 등의 여러 최적화 기법을 사용하여 대량의 고차원 벡터에서 유사 벡터를 빠르게 찾을 수 있게 합니다. [각주:19]

 

Reading

 unsupervised data에서 사전학습된 seq2seq network (BART, T5) 를 generative model로 두고 실험을 진행했다.

모델은 question, support passages ( title + passage )를 입력으로 받고 정답을 생성하는데, 각 모듈에서의 동작 과정은 아래와 같다.

[그림 2] FiD Architecture

[Encoder]

  • passage마다 encoder에서 독립적으로 처리됨
    -> 한 번에 하나의 context에 대해서만 self attention 수행하므로 모델의 계산 시간이 선형적으로 증가
    -> 많은 context로 확장이 가능함

  • 구분자는 스페셜 토큰으로 추가 (question:, title:, context:)
question:~~~~title:~~~~context:~~~~

 

[Decoder]

  • Encoder로부터 전달된 모든 representation을 concat해서 Decoder에 넣고 attention 수행해서 답변 생성
    -> 여러 구절에서 수집된 evidence를 aggregate 할 수 있음
  • 모델은 evidence fusion을 decoder에서만 수행하므로 Fusion-in-Decoder로 지칭

 

RAG와의 차이점?

  • 검색 모델을 따로 학습하지 않고 검색 알고리즘 사용 (BM25, DPR)
  • Generator Model의 차이 (RAG - BART / FiD - T5)
  • RAG로 학습한 검색 모델을 FiD의 검색 모델로 사용 시 FiD의 성능을 높일 수 있다는 연구
    Retrieval Augmentation Reduces Hallucination in Conversation [각주:20]

 

4. Experiments

Datasets

  • NaturalQuestions[각주:21] : Google search query에 해당하는 질문 - 답변 데이터셋

[그림 1] NaturalQuestions Dataset

 

  • TriviaQA[각주:22] : 퀴즈 리그 웹사이트에서 수집한 질문

[그림 2] TriviaQA Dataset

 

  • SQuAD v1.1 : 독해 데이터셋 -> annotator에게 답을 구할 수 있는 질문을 작성하도록 요청

 

  • validation set을 test set으로 사용 / train set의 10%를 validation set으로 사용
  • 이전 연구[각주:23]와 동일한 전처리를 적용
    • 표, infobox, list 와 같은 부분 삭제
    • 각 문서를 100개 단어로 구성된 text block으로 나눠 passage로 취급
    • 각 구절에는 해당 passage의 출처가 되는 위키피디아 문서 제목과 함께 [SEP] 토큰이 앞에 붙음

 

Evaluation

모델이 예측한 정답은 standard exact match metric (EM) 으로 평가가 진행된다.

  • standard Exact Match metric (EM) [각주:24]
    정규화(lower case, 관사 및 구두점 & 공백 제거) 후 허용 가능한 정답 목록 중 하나라도 예측 값과 일치하면 정답으로 간주함

 

Technical Details

  • Huggigface T5 model (220M, 770M) 사용
  • learning rate : 10^-4
  • dropout rate : 0.1
  • optimizer : Adam
  • batch size : 64
  • 500 step마다 evaluation 진행
  • 100개의 passage retrieve하고 250개의 word-piece로 쪼개기
  • Greedy decoding 방식

 

  • NQ & TriviaQA -> DPR 사용 (3. Method - Retrieval 참고)
  • SQuAD -> BM25 사용  (3. Method - Retrieval 참고)

 

Comparison to SOTA

[표 1] 성능 평가표

  • SQuAD를 제외하면 base 모델도 기존 것들보다 성능이 뛰어났음
  • extractive 모델, 다른 생성 모델보다 뛰어난 성능
  • Encoder에서 여러 구절로 확장하고, Decoder에서 이를 한꺼번에 처리해서 여러 개의 evidence를 얻는 방식이 효과적이었다!
  • Retrieval을 통해 추가적인 지식을 사용하면 성능이 크게 향상된다

 

 

Scaling with number of passages

[그림 3]  retrieved passages의 수에 따른 성능 차이

  • 구절 수를 늘렸을 때 (10 -> 100) TriviaQA에서 6%, NaturalQuestions에서는 3.5% 의 성능 향상
  • 반면 대부분의 extractive model은 10~20개가 최대를 찍음[각주:25]
  • 이는 seq2seq Architecture가 여러 passage에서 나온 evidence를 결합하는 데 좋은 성능을 보인다는 것을 의미

 

하지만 학습에 드는 computational cost를 줄이기 위해서는 더 적은 passage를 쓰는 것이 유리하다.

성능 감소를 최대한 막기 위해서 초기 1000 step에서는 100개의 passages 를 사용하는 것을 권장한다.

이렇게 하면 정확도 격차를 줄이면서 훨씬 적은 리소스를 사용할 수 있다.

[표 2] training 동안 retrieve되는 passage 수에 따라서 변화하는 성능

 

 


참고 문헌

  1. Adam Roberts, Colin Raffel, and Noam Shazeer. 2020. How much knowledge can you pack into the parameters of a language model? arXiv preprint arXiv:2002.08910. [본문으로]
  2. https://aclanthology.org/P18-1078/ [본문으로]
  3. Sewon Min, Danqi Chen, Hannaneh Hajishirzi, and
    Luke Zettlemoyer. 2019a. A discrete hard EM approach for weakly supervised question answering. In Proc. EMNLP-IJCNLP [본문으로]
  4. Danqi Chen, Adam Fisch, Jason Weston, and Antoine Bordes. 2017. Reading Wikipedia to answer opendomain questions. In Proc. ACL. [본문으로]
  5. Christopher Clark and Matt Gardner. 2018. Simple and effective multi-paragraph reading comprehension. In Proc. ACL. [본문으로]
  6. Sewon Min, Danqi Chen, Hannaneh Hajishirzi, and Luke Zettlemoyer. 2019a. A discrete hard EM approach for weakly supervised question answering. In Proc. EMNLP-IJCNLP. [본문으로]
  7. ShuohangWang, Mo Yu, Jing Jiang,Wei Zhang, Xiaoxiao Guo, Shiyu Chang, Zhiguo Wang, Tim Klinger, Gerald Tesauro, and Murray Campbell. 2018b. Evidence aggregation for answer re-ranking in opendomain question answering. In Proc. ICLR. [본문으로]
  8. Danqi Chen, Adam Fisch, Jason Weston, and Antoine Bordes. 2017. Reading Wikipedia to answer opendomain questions. In Proc. ACL. [본문으로]
  9. Jinhyuk Lee, Seongjun Yun, Hyunjae Kim, Miyoung
    Ko, and Jaewoo Kang. 2018. Ranking paragraphs for improving answer recall in open-domain question answering. In Proc. EMNLP. [본문으로]
  10. ShuohangWang, Mo Yu, Xiaoxiao Guo, ZhiguoWang, Tim Klinger, Wei Zhang, Shiyu Chang, Gerry Tesauro, Bowen Zhou, and Jing Jiang. 2018a. R3:
    Reinforced ranker-reader for open-domain question answering. In Proc. AAAI. [본문으로]
  11. Sewon Min, Danqi Chen, Luke Zettlemoyer, and Hannaneh Hajishirzi. 2019b. Knowledge guided text retrieval
    and reading for open domain question answering. arXiv preprint arXiv:1911.03868. [본문으로]
  12. Akari Asai, Kazuma Hashimoto, Hannaneh Hajishirzi, Richard Socher, and Caiming Xiong. 2020. Learning to retrieve reasoning paths over wikipedia graph for question answering. In Proc. ICLR. [본문으로]
  13. Kelvin Guu, Kenton Lee, Zora Tung, Panupong Pasupat, and Ming-Wei Chang. 2020. Realm: Retrievalaugmented language model pre-training. arXiv preprint arXiv:2002.08909. [본문으로]
  14. Kenton Lee, Kristina N. Toutanova, Llion Jones, Ming-Wei Chang, Andrew Dai, Jakob Uszkoreit, Quoc Le, and Slav Petrov. 2019. Natural Questions: a benchmark for question answering research. TACL. [본문으로]
  15. Sewon Min, Julian Michael, Hannaneh Hajishirzi, and Luke Zettlemoyer. 2020. Ambigqa: Answering ambiguous open-domain questions. arXiv preprint arXiv:2004.10645. [본문으로]
  16. Patrick Lewis, Ethan Perez, Aleksandara Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich K¨uttler, Mike Lewis, Wen-tau Yih, Tim Rockt¨aschel, et al. 2020. Retrieval-augmented generation for knowledge-intensive nlp tasks. arXiv preprint arXiv:2005.11401. [본문으로]
  17. https://littlefoxdiary.tistory.com/12 [본문으로]
  18. https://velog.io/@sangmandu/Dense-Passage-Retrieval [본문으로]
  19. https://dajeblog.co.kr/16-faiss%EC%97%90-%EB%8C%80%ED%95%9C-%EB%AA%A8%EB%93%A0-%EA%B2%83/ [본문으로]
  20. https://arxiv.org/pdf/2104.07567.pdf  [본문으로]
  21. https://aclanthology.org/Q19-1026/ [본문으로]
  22. https://aclanthology.org/P17-1147/ [본문으로]
  23. Dense Passage Retrieval for Open-Domain Question Answering [본문으로]
  24. Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. 2016. SQuAD: 100,000+ questions for machine comprehension of text. In Proc. EMNLP. [본문으로]
  25. ZhiguoWang, Patrick Ng, Xiaofei Ma, Ramesh Nallapati, and Bing Xiang. 2019. Multi-passage BERT: A globally normalized BERT model for open-domain question answering. In Proc. EMNLP-IJCNLP. [본문으로]