Fusion-in-Decoder(FiD): 현존 최고의 성능을 내는 오픈 도메인 질의 응답 모델
- 질의 (query)에 적합한 문서를 찾아(retrieve) 이를 생성 모델(generation model)에 넣어 답변을 얻어 내는 방식
-> 생성형 모델의 고질적인 문제인 hallucination(환각: -> 말이 안되는 말?)을 완화함
-> 검색 + 생성 기법이 '아무말 생성'에 가까운 생성 모델의 인퍼런스 결과를 사실에 근거한 답변으로 탈바꿈 시키는 효과가 있다.
논문에서 사용한 방식
1. 우선 쿼리 (ex. Where was Alan Turing born?)에 적절한 문서를 검색 모델을 통해 검색한다.
2. N 개 검색 결과를 생성 모델 인코더에 넣어 줌
3. 생성 모델(ex.Generative seq2seq model) 디코더에서 답변(ex. Maida Vale, London)을 생성
FiD 저자들은 검색모델은 BM25, DPR을 활용함
생성 모델로는 T5같은 transformer 계열 Sequence-to-sequence 모델을 사용함.
FID의 답변 생성 방식은 아래 그림과 같다.
쿼리와의 관련성이 높은 순서 대로, N개 입력을 만들고 각각 인코더에 태워서 벡터로 인코딩한다.
이 N 개의 인코딩 벡터들을 합쳐 (concatenate) 디코더에 넣고 답변을 생성함.
FiD저자들은 pretrain을 마친 T5모델의 질의-답변 쌍 데이터로 파인튜닝해서 모델을 구축함.
연관 문서들은 5~10개 넣은 것 보다 50여개 넣었을떄 성능이 월등히 좋아지는것을 볼 수있음.
-> 실험해봤을 때, 10~15개의 연관 문서들이 30개보다 좋은 성능을 보였음. (데이터마다 조금씩 다른 경향을 보이는 것 같음 )
-> 그래도, 연관 문서가 (1-5개) 보다 많을 수록( 15~이상) 성능이 개선됨.
논문 : https://arxiv.org/pdf/2007.01282.pdf
참고: https://ratsgo.github.io/insight-notes/docs/qa/answerer
'Machine Learning > NLP' 카테고리의 다른 글
[code]BERT example code (0) | 2023.07.20 |
---|---|
자연어처리 흐름 한눈에 보기 (0) | 2023.07.07 |
[summary]what is Embedding? (0) | 2023.07.05 |
what is Encoder model, Decoder model, Encoder&Decoder model ??? (0) | 2023.07.05 |
[논문리뷰]Dense Passage Retrieval for open-Domain Questionestions and passages Answering(2020) (0) | 2023.07.05 |