Current limitation of Retriever-Reader Approach
Error Propagation
5-10개의 문서만 Reader에게 전달
해당 문서가 올바른 문서라는 보장이 없음
Query-dependent encoding
Document Search
passage가 아닌 phrase를 바로 검색할 수 없을까?

Phrase를 모두 embedding 해놓고, query만 embedding

기존에는 새로운 query가 들어오면 매번 를 계산해야 했지만,
, 로 나눠 query에 대해서만 새로 encoding을 해주면 됨
F가 G와 H로 decompose 된다는 보장이 없음
⇒ 어떻게 각 phrase를 vector space 상에 잘 mapping 할 수 있을까?
⇒ Dense, Sparse Embedding을 둘 다 사용하자
Dense vectors vs. Sparse vectors
Dense vectors
Sparse vectors
Phrase and Question Embedding
Dense representation
Dense vector 만드는 방법

PLM 이용
시작 점에 있는 벡터와 끝 점에 있는 벡터를 재사용

Coherency vector
phrase가 한 단위 문장 구성 요소에 해당하는지 나타냄
구를 형성하지 않는 phrase를 걸러냄
Question embedding도 동일
Sparse representation

Scalability Challenge
Wikipedia에 600억 phrases가 존재
storage, indexing, search의 scalability가 고려되어야 함
storage: pointer, filter, scalar quantization 활용 (240T → 1.4T)
Search: FAISS 활용해 dense vector에 대해 search를 먼저 수행 후, sparse vector로 rerank
Experiment Results
Limitation
많은 저장 공간을 필요로 함
최신 Retriever-reader 모델 대비 낮은 성능
Decomposability gap이 원인
기존 question, passage, answer를 모두 함께 encoding 한 것을 question과 passage/answer로 나눠 encoding
question과 passage 사이 attention 정보가 없음
※ 모든 이미지 및 코드 출처는 네이버 커넥트재단 부스트캠프 AI Tech 5기입니다. ※