[Paper Review] Dense Passage Retrieval for Open-Domain Question Answering
Paper Review for DPR model
0. Abstract ๐ฌ
Open-domain question answering
์ ๋ต๋ณ์ ํจ๊ณผ์ ์ธ passage๋ฅผ retrieval
ํ๋ ๋ฐฉ์์ ์์กดํ๋ค. ์ด ๋ฐฉ์์ ์ง๊ธ๊น์ง TF-IDF
, BM25
์ ๊ฐ์ sparse vector space
๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ธํด ์๋ค. ๋ณธ ๋
ผ๋ฌธ์์๋ ์ด retrieval
์ ์ํ vector representation์ด ์ ์ ์์ question & passage
๋ฅผ ์ฌ์ฉํ dual-encoder framework
๋ฅผ ์ด์ฉํ์ฌ, dense representation
์ผ๋ก๋ ์ฌ์ค์ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋ณด์ธ๋ค.
๊ด๋ฒ์ํ open-domain QA dataset
์ ์ด์ฉํ์ฌ ํ๊ฐํ์ ๋, ๋ณธ ๋
ผ๋ฌธ์ dense retriever
์ ์์ 20๊ฐ์ retrieval
์ ํ๋์์ ๊ธฐ์กด์ Lucene-BM25
์์คํ
์ ๋์ ์ผ๋ก 9% ~ 19% ๋ฅ๊ฐํ๋ค. ๋ํ, ์ด๋ open-domain QA
์์ ์๋ก์ด SOTA
๋ฅผ ๋ฌ์ฑํ๋ค.
1. Introduction โ๏ธ
QA (Open-domain Question Answering)
์ ๊ฑฐ๋ํ ๋ฌธ์์ ์งํฉ์ ์ฌ์ฉํ์ฌ factoid question
์ ๋ต๋ณํ๋ task์ด๋ค. ์ด์ ์ QA system
์ ๋ค์ ๋ณต์กํ๊ณ , ๋ค์ํ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์๋ค. ํ์ง๋ง Comprehension model
์ ๋ฐ๋ฌ๋ก ์ธํด, ๋งค์ฐ ๊ฐ๋จํ two-stage framework
๋ก ๋๋์ด์ก๋ค.
context retriever์ด ๋จผ์ ๋ต๋ณ์ ์ํ passage๋ค์ ์์ ์งํฉ์ ์ ํํ๋ค.
๊ทธ๋ฆฌ๊ณ reader์ด retrieved ๋ context๋ค์ ๋ถ์ํ์ฌ ์ฌ๋ฐ๋ฅธ ์ ๋ต์ ๋์ถํ๋ค.
๋ฌผ๋ก QA task๋ฅผ machine reading๋ง์ task๋ก ๋ฐ๋ผ๋ณด๋ ๊ด์ ๋ํ ์ถฉ๋ถํ ๊ณ ๋ คํ ๋ง ํ์ง๋ง, huge performance degradation์ ์ฌ๋ก๊ฐ ์กด์ฌํ๊ธฐ์, retrieval์ ๋ํ ํฅ์์ด ํ์ํ๋ค๊ณ ์ฌ๊ฒจ์ง๋ค.
QA์์ retrieval์ ์ฃผ๋ก TF-IDF ์ด๋ BM25๋ก ๊ตฌํ๋์ด ์๋๋ฐ, ์ด๋ keyword ๋ฅผ ์ค์ ์ผ๋ก sparse vector๋ก ํํํ๋ ๋ฐฉ๋ฒ์ด์๋ค. ๋ฐ๋๋ก, dense vector์ latent semantic encoding ์ ํ์ฉํ์ฌ ์์ sparse vector๊ณผ๋ ์๋ณด์ ์ธ ๊ด๊ณ์ ์๋ค.
์๋ฅผ ๋ค์ด ์๋์ ๊ฐ์ ์์๋ฅผ ์ดํด๋ณด์.
Q : Who is the bad guy in lord of the rings?
Useful context : Sala Baker is best known for portraying the villain Sauron in the Lord of the Rings trilogy.
Term-based system
์ villain ๊ณผ bad guy์ ๋ํ semantic similarity
๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์, ํด๋น context
๋ฅผ retrieval
ํ๊ธฐ ์ด๋ ต์ง๋ง, dense retrieval system
์ ์ด ๋ ๋จ์ด๋ฅผ ์ฐ๊ฒฐ์ง์ด ํด๋น context
๋ฅผ reteival
ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๋ ๋์๊ฐ์ Dense encoding
์ learable
ํ๊ธฐ ๋๋ฌธ์, ํน์ task์ ๋ํด specific ํ๊ฒ ํ์ตํ์ฌ ์ ์ฐ์ฑ ๋ํ ๊ฐ์ง๊ณ ์๋ค. ์ด๋ฐ ๊ณผ์ ์ MIPS (maximum inner product search) Algorithm
์ ํตํด์ ๊ณ์ฐ๋๋ค.
๊ทธ๋ฌ๋, ์ผ๋ฐ์ ์ผ๋ก ์ข์ dense vector representation
์ ํ์ตํ๋ ๊ฒ์ ํฐ ์์ question & context pair
์ด ํ์ํ๋ค๊ณ ์ฌ๊ฒจ์ ธ ์๋ค. Dense retrieval
๋ฐฉ๋ฒ์ TF-IDF
/BM25
์ ๊ฐ์ ๊ณ ์ ๋ฐฉ์์ ๋ฅ๊ฐํ์ง ๋ชปํ์์ง๋ง, ICT (inverse cloze task) training
์ ์ด์ฉํ ๋ชจ๋ธ์ธ ORQA
๊ฐ ์ฒ์์ผ๋ก ์ด ๋ฐฉ์์ ๋ฅ๊ฐํ๊ฒ ๋์๋ค.
์ฌ๊ธฐ์
ICT (inverse cloze task)
๋,context
๋ด์์ ํน์ sentence
๋ฅผ ์ถ์ถํ์ฌ, ํด๋นsentence
๊ฐ ์ด๋context
์ ์ํ๋์ง๋ฅผ ํ์ตํ๋ ๊ฒ์ด๋ค.
ํ์ง๋ง, ์์ ORQA
์ ์ฑ๋ฅ์๋ ๋ถ๊ตฌํ๊ณ , multiple domain
์์์์ SOTA๋ฅผ ๋ฌ์ฑํ๊ธฐ์๋ 2๊ฐ์ง ๋ถ๋ถ์์ ๋ฌธ์ ์ ์ด ์์๋ค.
- ICT๋ computationally intensive ํ๊ณ , ๋จ์ํ sentence๋ฅผ matching ์ํค๋ ๊ฒ์ด Question anwsering์ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ์ด ๋ช ํํ์ง ์๋ค.
- context encoder์ question-answer ์์ ์ด์ฉํด fine-tuned ๋์ง ์์๊ธฐ ๋๋ฌธ์, ํด๋น encoder์ ํตํ representation์ด ์ต์ ์ ๊ฐ์ด ์๋ ์ ์๋ค.
๋ณธ ๋
ผ๋ฌธ์์๋, ์ถ๊ฐ์ ์ธ pre-training
์์ด question-answer
์ ์๋ค(Not so much)๋ง ์ด์ฉํ์ฌ ๋ ๋์ dense embedding model
์ ๋ง๋๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค. Pretrained BERT model
๊ณผ dual-encoder
์ ํ์ฉํ์ฌ, ์๋์ ์ผ๋ก ์ ์ ์์ question-passage(answer) ์์ ์ด์ฉํ๋๋ก ํ ๊ฒ์ด๋ค.
์ด ๊ณผ์ ์์, ์ ์ฌํ question-passage ๋ค์ ๋ด์ ์ ์ต๋ํํ๋ ๋ฐฉํฅ์ผ๋ก ์ต์ ํ๋ฅผ ์งํํ ๊ฒ์ด๋ฉฐ, batch ๋ด์ ๋ชจ๋ question, passage ์์ ๋น๊ตํ ๊ฒ์ด๋ค. ๋ณธ ๋
ผ๋ฌธ์ DPR method์ BM25
๋ฐฉ์์ ํฐ ์ฐจ์ด๋ก ๋ฅ๊ฐํ๋ฉฐ, ๋จ์ํ representation์ด ์๋ end-to-end QA
์ ํ๋ ๋ํ ORQA
์ ๋นํด ํฐ ์ฐจ์ด๋ฅผ ๋๋ค.
๋ณธ ๋
ผ๋ฌธ์ ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๊ฐ๋จํ๊ฒ question-answer ์ ์๋ค์ ํ์ตํ๋ ๊ฒ๋ง์ผ๋ก๋, BM25
์ ์ฑ๋ฅ์ ๋ฅ๊ฐํ๋ค. ๋ํ, ์ด๋ ์ถ๊ฐ์ ์ธ pre-train
์ ์๊ตฌํ์ง ์๋๋ค. ๋ํ Open-domain
์์ retrieval์ ์ฑ๋ฅ์ด ๋์์๋ก, end-to-end
์ QA ์ฑ๋ฅ ๋ํ ๋์์ง๋ค.
2. Background ๐ง
open-domain
์ ์ฃผ์ task๋ ๋ค์๊ณผ ๊ฐ์ factoid question
์ด ์ฃผ์ด์ก์ ๋, ๋ค์ํ ์ฃผ์ ์ topic ์ ๋ํ corpus๋ฅผ ์ฐธ์กฐํ์ฌ ์ ๋ต์ ์ฐพ์๋ด๋ ๊ฒ์ด๋ค.
Q : Who first voiced Meg on Family Guy?
Q: Where was the 8th Dalai Lama born?
๋ ๊ตฌ์ฒด์ ์ผ๋ก๋, QA ๋ฅผ extractive ํ question ์ ํ์ ์ง๋๋ค. ๋ค์ ๋งํด question์ ๋ํ ์ ๋ต์ ํญ์ corpus set์ document ์ ํ๋ ์ด์ ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํ๋ค.
ํ์ง๋ง ์ด๋ฐ ๋ฉ์ปค๋์ฆ์ ๊ฒฝ์ฐ, open-domain question
์ ํน์ฑ์ ๋งค์ฐ ๋ง์ document๊ฐ ์กด์ฌํด์ผ ํ๋ฉฐ, corpus์ ํฌ๊ธฐ๋ millions of document ์์ billion๊น์ง ๋งค์ฐ ํฐ ์๋์ ๊ฐ์ง๋ค๋ค.
๋ฐ๋ผ์ ์ด๋ฅผ ์ํ efficient retriever component
, ์ฆ ์ ํํ ์ ๋ต์ ์ฐพ์๋ด๊ธฐ ์ ์ query์ ์ ์ฌํ ์งํฉ (์ ์ฒด corpus์ ๋ถ๋ถ์งํฉ)์ ๊ตฌํ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. Retriever $R$ ์ $R : (q, \mathcal{C}) \rightarrow \mathcal{C}_{\mathcal{F}}$ , $\mathcal{C}$๋ฅผ corpus, $q$ ๋ฅผ question ์ด๋ผ๊ณ ํ์ ๋, retriever์ $\mathcal{C}_{\mathcal{F}} \in \mathcal{C},\;\; |\mathcal{C}_{\mathcal{F}}| = k \ll |\mathcal{C}|$ ํ corpus $\mathcal{C}$์ subset์ธ $\mathcal{C}_{\mathcal{F}}$๋ฅผ ๊ตฌํด๋ด์ด์ผ ํ๋ค.
3. Dense Passage Retriever (DPR) ๐ฅฝ
์ด ๋
ผ๋ฌธ์์๋ open-domain QA task
์์ retrieval component
๋ฅผ ํฅ์์ํค๋ ๋ฐ์ ์ค์ ์ ๋๋ค. $M$ ๊ฐ์ text passage ๊ฐ ์ฃผ์ด์ก์ ๋, DPR
์ ๋ชฉํ๋ ์ด ๋ชจ๋ passage๋ฅผ ๋ชจ๋ low-dimensional๋ก ๋ณํ์์ผ top-k relevant passage
๋ฅผ ์ค์๊ฐ์ผ๋ก ํจ๊ณผ์ ์ผ๋ก retrieval ํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. (๋น์ฐํ๊ฒ๋ $M$์ ๋งค์ฐ ํฐ ์งํฉ์ผ๋ก, ๋ณธ ๋
ผ๋ฌธ์์๋ 21 million ์ ๋์ด๋ค.)
3.1 Overview
๋ณธ ๋
ผ๋ฌธ์ DPR
์ text passage๋ฅผ $d$-dimensional real-valued vector
๋ก encoding ํ๋ dense encoder
$E_p()$ ๋ฅผ ์ฌ์ฉํ๋ค. run-time ๋๋, ์ด์ ๋ค๋ฅธ encoder์ธ $E_Q()$ ๊ฐ ์ฌ์ฉ๋๋๋ฐ, ์ด๋ input question ์ $d$-dimensional vector๋ก ๋ณํํ์ฌ, ์ด ๋ฒกํฐ๋ค๊ฐ์ ๊ณ์ฐ์ ํตํด top-k relevant passage
๋ฅผ retrieval ํ๊ฒ ๋๋ค. ์ด relevantness ๊ณ์ฐ์ ๋ค์๊ณผ ๊ฐ์ dot product
๋ก ๊ณ์ฐ๋๋ค.
๋ฌผ๋ก Cross Attention
๊ณผ ๊ฐ์ด ๋ context ๊ฐ์ ์ ์ฌ๋๋ฅผ ๋์ฑ ์ ํํ๊ฒ ์ธก์ ํ ์ ์๋ ๋ฐฉ์ ๋ํ ์กด์ฌํ์ง๋ง, ๋งค์ฐ ํฐ ์๋์ passage ๋ค์ ๊ณ์ฐํ๊ธฐ ์ํด์๋ decomposable
ํ ๋ฐฉ์์ด ๋์ฑ ํจ์จ์ ์ด๋ค. ๋๋ถ๋ถ์ decomposable
ํ similarity function
์ Euclidean distance (L2)
์ด๋ฉฐ, cosine similarity
๋ํ unit vector ๋ค์ ๋ํ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๊ธฐ ์ฉ์ดํ์ง๋ง, ๋ณธ ๋
ผ๋ฌธ์์๋ L2
์ cosine similarity
๋ฅผ ์ด์ด์ฃผ๋ฉฐ, ๋์ฑ ๊ฐ๋จํ dot product
๋ฅผ ์ฌ์ฉํ๋ค.
Encoders
question ๊ณผ passage ๋ฅผ encoding ํ๋ ๋ฐฉ์์๋ neural network ๋ ์์ง๋ง, ๋ณธ ๋
ผ๋ฌธ์์๋ 2๊ฐ์ ๋
๋ฆฝ์ ์ธ BERT
๋ฅผ ์ฌ์ฉํด [CLS] ํ ํฐ์ representation์ผ๋ก ์ฌ์ฉํ ๊ฒ์ด๋ค.
Inference
Inference ์๊ฐ์๋, passage encoder
$E_P$๋ฅผ ๋ชจ๋ passage ์ ๋ํด์ ์ ์ฉํ๋ฉฐ, FAISS๋ฅผ ์ด์ฉํ์ฌ indexing ํ๋ค. FAISS
๋ open-source library
๋ก, dense vector๋ค์ ๋ํ ํจ์จ์ ์ธ clustering
์ ํตํด์ ๋งค์ฐ ๋ง์ ์์ vector๋ค์ ๋ค๋ฃฐ ์ ์๋ค. Question $p$๊ฐ ์ฃผ์ด์ง๋ฉด, $v_q = E_Q(q)$๋ฅผ ํตํด top-$k$ passage๋ค์ ์ฐพ๋๋ค.
์ด ๊ณผ์ ์์ HNSW
๋ผ๋ ANN
๋ฐฉ์์ ์ฌ์ฉํ๋๋ฐ, ๋ค์ ๋งํฌ์ ์์ธํ๊ฒ ์ค๋ช
๋์ด ์๋ค.
3.2 Training
Encoder๋ค์ ํ์ต์์ผ dot-product similarity
๋ฅผ ํ์ฉํด retrieval์ ํจ๊ณผ์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ metric learning problem
์ด๋ค. ์ด ๋ชฉ์ ์ ๊ณง relevant question-passage
์์ ๋ํ distance๋ฅผ ์ต์ํํ๋ ๊ฒ์ ์๋ค.
question $q$ ์ ๋ํด์ ํ์ต์ ์งํํ ๋, $p_i^+$๋ฅผ positive passage
(relevant passage for $q$)๋ผ๊ณ ํ์ ๋, training data $\mathcal{D}$ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ ์ ์๋ค.
$\mathcal{D}$๋ n๊ฐ์ instance๋ฅผ ๊ฐ์ง๋ฉฐ, 1์์ ์ฌ๋ฐ๋ฅธ question-answer
๊ณผ question ์ ๊ด๊ณ์๋ negative passage
๋ฅผ m ๊ฐ ๊ฐ์ง๊ณ ์๋ค. ์ฐ๋ฆฌ๋ ์ด data์ ๋ํ loss function
์ positive passage
์ ๋ํ negative log likelihood
๋ฅผ ์ด์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ ์ ์๋ค.
Positive and negative passages
์ด ํ์ต์ ์ํด์๋, question-passage
์ ์ ์ ํ ์์ ์ฐพ๊ธฐ์๋ ๋ช
ํํ์ง๋ง, negative passage
๋ค์ ์ฐพ๊ธฐ ์ํด์๋ ๋งค์ฐ ํฐ ํ์์ sampling ๋์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, positive passage
๋ QA dataset๋ด์ context๊ฐ ์กด์ฌํ๊ฑฐ๋ answer๋ฅผ searching ํด์ ์ฐพ์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ชจ๋ passage, ์ฆ relevant ํ์ง ์์ passage๋ negative passage
์ด๋ค. ์ค์ ๋ก๋ ์ด๋ ํ ๋ฐฉ์์ผ๋ก negative passage
๋ฅผ ๊ตฌํ๋๋๋ ์ฃผ๋ก ์ค์ํ๊ฒ ์ฌ๊ฒจ์ง์ง ์์ง๋ง, ๋๋ก๋ ๋์ ์ฑ๋ฅ์ encoder์ ๊ตฌํํ๋ ๋ฐ์ ์ฃผ์ํ ์ญํ ์ ํ๋ค.
๋ฐ๋ผ์ ๋ณธ ๋
ผ๋ฌธ์์๋ negative passage
๋ฅผ ๊ตฌํ๋ ๋ฐฉ์์ 3๊ฐ์ง ์ข
๋ฅ๋ก ๋๋์๋ค.
- Random passage : corpus ๋ด๋ถ์ ์๋ ๋๋คํ passage
- BM25 : BM25๋ฅผ ํตํด ๊ณ์ฐ๋์ด answer์ด ํฌํจ๋์ด ์์ง๋ ์์ง๋ง, question ์ ํ ํฐ์ ๊ฐ์ฅ ๋ง์ด ํฌํจ๋ passage
- Gold : training set ๋ด๋ถ์ ๋ค๋ฅธ question์ ๋ํด์ positive passage๋ก ํ๋ณ๋ passage
์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ ๋ํด์๋ Section 5.2 ์์ ๋ค๋ฃฐ ๊ฒ์ด๋ฉฐ, ๊ฐ์ฅ ๋์ ์ฑ๋ฅ์ ๋ณด์๋ ๋ฐฉ๋ฒ์ gold passage
๋ค์ ๊ฐ์ ํฌ๊ธฐ์ mini-batch์ ๋ํด์ ์ฌ์ฉํ๋ ๊ฒ์ 1๊ฐ์ BM25
๊ธฐ๋ฐ negative passage
์ ๋ํ๋ ๊ฒ์ด๋ค. ๋ ๋์๊ฐ์, gold
๊ธฐ๋ฐ์ negative passage
๋ฅผ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ computational
์ ์ธ ๊ด์ ์์ ํจ์จ์ฑ์ ๋ณด์ธ๋ค.
In-batch negatives
ํ๋์ mini-batch์ $B$๊ฐ์ question์ด ์กด์ฌํ๋ค๊ณ ํ์. ๊ทธ๋ฆฌ๊ณ respectively ํ๊ฒ relevant ํ passage์ ์์ ์ด๋ฃจ๊ณ ์๋ค. ์ด questions ๋ค๊ณผ passages ๋ค์ vector๋ก ๋ํ๋ธ ๊ฒ์ ํ๋ ฌํํ ๊ฒ์ ๊ฐ๊ฐ $Q$, $P$ ๋ผ๊ณ ํ๋ฉด (๊ฐ๊ฐ์ ํฌ๊ธฐ๋ $(B\times d)$๊ฐ ๋๋ค.), $S=QP^T$ ๋ ๊ณง ๊ฐ question๊ณผ passage ๊ฐ์ ๋
๋ฆฝ์ ์ธ similarity
๋ฅผ ๋ํ๋ด๊ฒ ๋๋ค.
์ด๋ ๊ฒ $S$๋ฅผ ๊ตฌํ๋ฉด, $(q_i, p_j)$ ์์ $i=j$์ธ ๊ฒฝ์ฐ์๋ง positive passage
๊ฐ ๋๊ณ , ๋๋จธ์ง์ ๊ฒฝ์ฐ์๋ gold
๊ธฐ๋ฐ์ negative passage
๊ฐ ๋์ด B-1๊ฐ์ negative passage
๋ฅผ ๊ตฌํ ์ ์๋ค. ๋ํ ์ด ๋ฐฉ์์ computational efficency
๋ฅผ ๋ณด์ฅํ๊ฒ ๋๋ค.
4. Experimental Setup ๐ฌ
4.1 Wikipedia Data Pre-processing
๋ฐ๋ก ์ถ๊ฐ์ ์ธ ์ค๋ช ์ด ๋ถํ์ํ์ฌ ์๋ฌธ ๊ทธ๋๋ก ๊ฐ์ ธ์๋ค.
Following (Lee et al., 2019), we use the English Wikipedia dump from Dec. 20, 2018 as the source documents for answering questions. We first apply the pre-processing code released in DrQA (Chen et al., 2017) to extract the clean, text-portion of articles from the Wikipedia dump. This step removes semi-structured data, such as tables, infoboxes, lists, as well as the disambiguation pages. We then split each article into multiple, disjoint text blocks of 100 words as passages, serving as our basic retrieval units, following (Wang et al., 2019), which results in 21,015,324 passages in the end.5 Each passage is also prepended with the title of the Wikipedia article where the passage is from, along with an [SEP] token.
4.1 Question Answering Datasets
์ด ๋ ผ๋ฌธ์์๋ 5๊ฐ์ง QA dataset์ ์ด์ฉํ์ฌ ํ์ต์ ์งํํ๋ค. ๊ทธ ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ๋ค.
- Natural Questions (NQ) : end-to-end QA์ ๋ชฉ์ ์ ๋ง๊ฒ design ๋์์ผ๋ฉฐ, real Google search quesries ๊ณผ Wikipedia์ answer์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์๋ค.
- TriviaQA : Web ์์ ์กด์ฌํ๋ trivia questions๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ค์ด์ก๋ค.
- WebQuestions (WQ) : Google Suggest API๋ฅผ ์ด์ฉํ์ฌ answer๋ค์ Freebase ๋ด๋ถ์ ์๋๋ก ํ๋ dataset
- CuratedTREC (TREC) : TREC QA track๊ณผ ์ฌ๋ฌ Web soruce๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ open-domain QA dataset
- SQuAD v1.1 : Reading comprehension์ ํตํด ์ป์ ์ ๋ช ํ dataset
4.2 Selection of positive passages
TREC
, WebQuestions
, ๊ทธ๋ฆฌ๊ณ TriviaQA
๋ ์ ์ ์์ question-answer
์์ด ์ฃผ์ด์ก๊ธฐ ๋๋ฌธ์, BM25
๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ฅ answer ์ด ์์ ํ๋ฅ ์ด ๋์ context๋ฅผ ์ฐพ๋๋ค. ๋ง์ฝ ์์ 100๊ฐ์ passage๋ค ๋ชจ๋ ์ ๋ต์ ํฌํจํ๊ณ ์์ง ์๋ค๋ฉด, ํด๋น question์ ๋ฌด์๋ ๊ฒ์ด๋ค.
SQuAD
์ Natural Questions
๋ค์ ๋ํด์๋, ๊ธฐ์กด์ passage๊ฐ ๋๋์ด์ ธ ์๊ณ , candidate passage
์ pool
๋ด๋ถ๊ฐ ์๋ก ๋ค๋ฅด๊ฒ processing ๋์๊ธฐ ๋๋ฌธ์, ๊ฐ gold passage
๋ฅผ ๊ทธ์ ์์ํ๋ passage์ ๊ต์ฒด์ํจ๋ค. ๋ง์ฝ ์ด ์์
์ ์คํจํ๋ค๋ฉด, ๊ทธ ์ง๋ฌธ์ ์ญ์ ํ๋ค.
5. Experiments: Passage Retrieval ๐งช
์ด ์น์
์์๋, retrieval performance
๋ฅผ ๋ค๋ฃฌ๋ค. ๊ธฐ์กด์ retrieval method์ ๋ํด์ ์ด๋ค ํจ๊ณผ๋ฅผ ๊ฐ์ง๋์ง์ ๋ํด์ ์ดํด๋ณธ๋ค.
๋ณธ ๋
ผ๋ฌธ์ main experiement์์ ์ฌ์ฉ๋ DPR ๋ชจ๋ธ์ batch size๊ฐ 128์ด๋ฉฐ, BM25 ๊ธฐ์ค์ negative passage
๋ฅผ ํฌํจํ in-batch negative
๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ question-passage
์๋ค์ ํฐ ๋ฐ์ดํฐ์
(NQ
, TriviaQA
, SQuAD
) ์ ๋ํด์๋ 40 epoch ๋งํผ, ์์ ๋ฐ์ดํฐ์
(TREC
, WQ
)์ ๋ํด์๋ 100 epoch ํ์ต์ํจ๋ค. ๋ํ lr ์ $10^{-5}$ ๋ก ์ค์ ํ๊ณ , optimizer์ Adam
์ ์ฌ์ฉํ๋ค. (dropout : 0.1)
๊ฐ ๋ฐ์ดํฐ์ ์ ๋ํด์ ์ ํ์ต๋๋ retriever์ ์ ์ฐํ๊ฒ ๋ค๋ฃจ๋ ๊ฒ๋ ์ข์ง๋ง, ๋ค์ํ ๋ฐ์ดํฐ์ ์ ๋ํด์ ์ ๋ฐ์ ์ผ๋ก ์ข์ ํ์ต๋ฅ ์ ๊ฐ์ง๋ retriever ์ ์ฐพ์๋ด๋ ๊ฒ ๋ํ ์ข์ ์ ๊ทผ์ด ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ๋ณธ ๋
ผ๋ฌธ์์๋ multi-dataset encoder
์ ํ์ตํ๊ธฐ ์ํ์ฌ SQuAD
๋ฐ์ดํฐ์
์ ์ ์ธํ ๋ค๋ฅธ ๋ฐ์ดํฐ์
์ ๋ณํฉํ์๋ค. ๋ํ BM25
, BM25 + DPR
, traditional retriever
์ ๋ชจ๋ ์คํํด๋ณด์๋ค. ์ด ๊ณผ์ ์์ BM25
์ DPR
์ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํฉํ๊ธฐ ์ํด์ $BM25(q, p) + \lambda * sim(q,p)$ ์ ๊ฐ์ด ์ ํ์ ๊ฒฐํฉ์ผ๋ก ๋ชจ๋ธ์ ๊ตฌํํ์๋ค. ($\lambda = 1.1$์ผ ๋๊ฐ ๊ฐ์ฅ ์ฑ๋ฅ์ด ๋์๋ค.)
5.1 Main Results
๋ณธ ๋
ผ๋ฌธ์์ 5๊ฐ์ง ๋ฐ์ดํฐ์
์ ๋ํด์ top-k passage
๋ฅผ ๋ฝ์๋ด๋ passage retrieval
์ ์งํํ๋ค. SQuAD
dataset๋ฅผ ์ ์ธํ๊ณ , DPR
์ BM25
๋ณด๋ค ๋ชจ๋ ๋ฐ์ดํฐ์
์ ๋ํด ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์๊ณ , k๊ฐ ์์ ๋ ํนํ ๋ค๋ฅธ ๋ฐ์ดํฐ์
๋ค ๊ฐ์ ์ ํ๋์ gap์ด ์ปค์ก๋ค.
multiple dataset
์ ์ด์ฉํ์ฌ ํ์ต์ ์งํํ ๊ฒฐ๊ณผ, 5๊ฐ์ง ๋ฐ์ดํฐ์
์ค ๊ฐ์ฅ ์์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง TREC
dataset ์ด ๋งค์ฐ ํฐ ์ฑ๋ฅ ํฅ์์ ๋ณด์๋ค. ๋ฐ๋๋ก, Natural Questions
์ WQ
๋ ์์ ์ฑ๋ฅ ํฅ์์ ๋ณด์ด๋ฉฐ, TriviaQA
์ ๊ฒฝ์ฐ ์คํ๋ ค ์กฐ๊ธ ๋ฎ์์ง๊ธฐ๋ ํ๋ค. ์ด ๊ฒฐ๊ณผ๋ ์ถํ DPR
๊ณผ BM25
์ ๊ฒฐํฉ์ ์ํด ๋์ฑ ํฅ์๋ ์ ์์ ๊ฒ์ด๋ค.
So why the SQuAD performs better in BM25?
1. anntoators ๋ค์ด passage๋ฅผ ๋ณธ ํ์ ์ง๋ฌธ์ ์์ฑํ๊ธฐ ๋๋ฌธ์, passage์ ํค์๋๊ฐ ํฌํจ๋์ด ์์ ํ๋ฅ ์ด ๋๋ค.
2. data๋ค์ด Wikipeidia ์์ 500๊ฐ ์ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ธฐ ๋๋ฌธ์, bias ๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
5.2 Ablation Study on Model Training
Sample efficiency
๊ฐ training dataset
์ ํฌ๊ธฐ์ ๋ฐ๋ผ์ ์ ํ๋๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋๋๋ฐ, ๊ทธ๋ํ์์ ๋ณด๋ค์ํผ dataset์ ํฌ๊ธฐ๊ฐ 1k ๊ฐ๋ง ๋์ด๋ BM25
์ ์ฑ๋ฅ์ ๋ฅ๊ฐํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ํ, retrieve ํ๋ top-k
์๊ฐ ์ฆ๊ฐํ ์๋ก ์ฑ๋ฅ ๋ํ ์ฆ๊ฐํ๊ฒ ๋๋ค.
In-batch negative training
์ ํ๋ negative passage
์ ์ ์ ๋ฐฉ์, Negative passage
์ ๊ฐ์, In-batch negative
์ฌ์ฉ ์ ๋ฌด, retrieve ํ๋ passage์ ์์ ๋ฐ๋ฅธ ์ฑ๋ฅ์ ์ฐจ์ด๋ฅผ ๋ํ๋ธ๋ค.
๋๋ ทํ๊ฒ, #N(negative passage
์ ์) ๊ฐ ์ปค์ง์ ๋ฐ๋ผ์ ์ฑ๋ฅ์ด ์ข์์ง์ด ๋ํ๋ฌ์ผ๋ฉฐ, Gold
๋ฐฉ์ ๋จ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค, BM25
๊ธฐ์ค negative passage
๋ฅผ 1๊ฐ์ฉ ์์ด์ ์ฌ์ฉํด ์ฃผ๋ ๊ฒ์ด ๋์ ์ฑ๋ฅ์ ๋ํ๋๋ค.
ํ์ง๋ง, BM25
๊ธฐ์ค negative passage
์ ์๋ฅผ 1๊ฐ์์ 2๊ฐ๋ก ๋๋ฆฐ ๊ฒฐ๊ณผ, ์ฑ๋ฅ์ ์ฐจ์ด๊ฐ ๊ฑฐ์ ๋ํ๋์ง ์์ ๊ฒ์ผ๋ก ๋ณด์, BM25
์ ์๋ ๋ชจ๋ธ์ ํฌ๊ฒ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ์กฐ๊ธ ํฅ๋ฏธ๋ก์ ๋ ๊ฒ์,
In-batch negative passage method
๋ฅผ ํ์ฉํ ๊ฒฐ๊ณผ๊ฐ ๋จ์งcomputational efficency
๋ฅผ ๋ณด์ฅํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ, ์ฑ๋ฅ์ ์ธ ์ธก๋ฉด์์๋ ์์๊ฐ ์์๋ค.
Impact of gold passages
Gold passage
์ ํ์์ฑ์ ๋ค์๊ณผ ๊ฐ์ด ์คํ์ ํตํด ์์๋๋ค. Dist. Sup
์ BM25
์ ๋ฐ๋ฅธ negative passage
๋ฅผ ์๋ฏธํ๋๋ฐ, ์ด์ ๋นํด 1% ์ ๋์ ์ฑ๋ฅ ํฅ์์ ๋ณด์ด๋ ๊ฒ์ผ๋ก ๋ณด์, Gold passage
๊ฐ ๋์ฑ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
Similarity and loss
๋จผ์ , similarity function
์ ๋ํด์ ๋๊ฐ์ง ๋ฐฉ์์ธ Dot Product
, L2 distance
๋ฅผ ๋น๊ตํ๊ฒ ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก Loss function
์ ๋ํด์ 2๊ฐ์ง ๋ฐฉ์์ ๋น๊ตํ๋๋ฐ, NLL (Negative log likelihood)
์ triplet loss
๋ฅผ ๋น๊ตํ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก Dot Product
์ NLL
์ ์ฌ์ฉํ์ ๊ฒฝ์ฐ retrieval ์ฑ๋ฅ์ด ์ข์๊ธฐ ๋๋ฌธ์, ์ด ๋ ๊ฐ์ง ๋ฐฉ์์ ์ด์ฉํ์ฌ ๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ค.
Cross-datset generalization
์ด์ธ์๋, ์ถ๊ฐ์ ์ธ fine-tuning
์ด ํ์ํ์ง ์๋ค. ๋ณธ ๋
ผ๋ฌธ์์๋, ํน์ dataset ์ ์ด์ฉํด ํ์ตํ ๋ชจ๋ธ์ ๋ค๋ฅธ dataset์ ์ ์ฉํด๋ด์ผ๋ก์จ ์ด๋ฅผ ์ฆ๋ช
ํ๋ค. NQ
dataset์ ๋ํด์๋ง DPR
๋ฅผ ํ์ต์ํจ ํ, WQ
, TREC
์ ์คํ์ ํด๋ณธ ๊ฒฐ๊ณผ, ์ ์๋ฏธํ ๊ฒฐ๊ณผ๋ฅผ ๋๋ฉฐ, ์๋นํ ๋์ ์ฑ๋ฅ์ ๋ด๋ ๊ฒ์ ํ์ธํ์๋ค.
5.3 Qualitative Analysis
BM25
๋ณด๋ค DPR
์ด ๋ ๋์ ์ฑ๋ฅ์ ๋ด๋ ๊ฒ์๋ ๋ถ๊ตฌํ๊ณ , BM25
๊ณผ ๊ฐ์ Term-matching
๋ฐฉ๋ฒ์ ํน์ ๊ตฌ๋ ์ ํ์ ํค์๋์ ๋ํด sensitive
ํ๋ค. ๋ฐ๋ฉด DPR
์ semantic relationship
์ ๋์ฑ ์ ํํํ๊ฒ ๋๋ค.
5.4 Run-time Efficiency
The main reason that we require a retrieval component for open-domain QA is to reduce the number of candidate passages that the reader needs to consider, which is crucial for answering userโs questions in real-time. We profiled the passage retrieval speed on a server with Intel Xeon CPU E5-2698 v4 @ 2.20GHz and 512GB memory. With the help of FAISS in-memory index for real-valued vectors10, DPR can be made incredibly efficient, processing 995.0 questions per second, returning top 100 passages per question. In contrast, BM25/Lucene (implemented in Java, using file index) processes 23.7 questions per second per CPU thread.
On the other hand, the time required for building an index for dense vectors is much longer. Computing dense embeddings on 21-million passages is resource intensive, but can be easily parallelized, taking roughly 8.8 hours on 8 GPUs. However, building the FAISS index on 21-million vectors on a single server takes 8.5 hours. In comparison, building an inverted index using Lucene is much cheaper and takes only about 30 minutes in total.
6. Experiments: Question Answering ๐ง
6.1 End-to-end QA System
๋ณธ ๋
ผ๋ฌธ์์๋ ์๋ก ๋ค๋ฅธ retriever system์ ๋ํด์ ์ ์ฐํ๊ฒ ์ ์ฉํ ์ ์๋ end-to-end QA system
์ ๊ตฌํํ๋ค. ์ด ์์คํ
์ neural reader
๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๋จผ์ , retriever์ด top-k retrieved passage
๋ฅผ ์ ๊ณตํ๋ฉด, reader model์ passage๋ค์ ๋ํ selection score
์ ๊ฐ passage์ ๋ถ์ฌํ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ passage๋ค์ ๋ํด์ answer span
์ ์ถ์ถํ๊ณ , ๊ฐ span ๋ง๋ค์ ์ ์๋ฅผ ๋ถ์ฌํ๊ฒ ๋๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ๊ฐ์ฅ ๋์ passage score
์์์ answer span
์ด ์ ๋ต์ผ๋ก ์ถ์ถ๋๋ค.
์ด ๊ณผ์ ์์ passage selection model
์ reranker
์ด๋ผ๋ ์๋ก์ด ๋ชจ๋ธ์ ์ฌ์ฉํ๋๋ฐ, question ๊ณผ passage ๊ฐ์ cross attention
์ ์ด์ฉํด์ passage ๊ฐ์ similarity
๋ฅผ ๊ณ์ฐํ๋ค. ์ด ์ฐ์ฐ์ decomposable
ํ๊ธฐ ๋๋ฌธ์ ๋ง์ passage์ ๋ํด์ ์ ์ฉํ ์๋ ์์ง๋ง, dual-encoder
๋ณด๋ค ์ฑ๋ฅ์ด ์ข๊ธฐ ๋๋ฌธ์, ์์ top-k
์ ๋ํด์ ์ด ๊ณผ์ ์ ์ํํ๋ค.
์์ ์์ ๊ฐ์๋ฐ, $\hat{P}$ ๋ผ๋ ๋ชจ๋ Top-k passage
์ ๋ํด์ cross-attention
์ ์ํํ๊ณ , ํด๋น ๊ฐ์ softmax
๋ก ํ์ต์์ผ ๊ฐ์ฅ ์ฐ๊ด๋๊ฐ ๋์ passage๋ฅผ ์ฐพ๋๋ค. ๊ทธ ํ์, ํด๋น passage์์ $w$ ๋ผ๋ learnable vector
์ ์ด์ฉํด์ start token
, end token
์ ๊ณฑํ ๊ฐ์ answer span score
๋ก ์ ์ฉํ์ฌ answer span
์ ์ฐพ๊ฒ ๋๋ค.
reader
์ ํ์ต ๊ณผ์ ์, positive-passage
์ ๋ํ selection score
์ log-likelihood
๋ฅผ ํตํด ํ์ต๋๋ฉฐ, answer span
์ positive passage
์์์ ๋ชจ๋ answer span
์ marginal log-likelihood
๋ฅผ ์ต๋ํํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต๋๋ค. ํ๋์ passage ๋ด๋ถ์์ ์ ๋ต์ด ์ฌ๋ฌ ๋ฒ ๋ํ๋ ์ ์๊ธฐ ๋๋ฌธ์, ๋ชจ๋ answer span
์ ๋ํด์ ํ์ตํ๋ค.
6.2 Results
๊ฐ Model, dataset์ ํตํฉ์ ๊ธฐ์ค์ผ๋ก ์์ ๊ฐ์ด ์ ํ๋๋ฅผ ์ธก์ ํ๋ค. ์ ์ฒด์ ์ผ๋ก retriever์ ์ ํ๋๊ฐ ๋์์๋ก end-to-end
์ ํ๋๊ฐ ๋์์ง๋ค. ๋ค๋ฅธ ๋ชจ๋ธ๋ค (ORQA
, REALM
, etc)์ ๋ชจ๋ธ์ ์ํ pre-training
์ ์ํํ๊ณ , ๋์ ๊ณ์ฐ๋ณต์ก๋๋ฅผ ์ง๋๊ณ ์์ง๋ง, ๋ณธ ๋
ผ๋ฌธ์ DPR
๋ชจ๋ธ์ ์ถ๊ฐ์ ์ธ pre-training
์์ด ๊ฐ๋จํ๊ฒ ๊ตฌํํ์ฌ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์๋ค.
์ถ๊ฐ์ ์ผ๋ก, Retrieval model
๊ณผ reader model
์ joint
ํ์ฌ ๊ฐ์ ํ๋์ ๋ชจ๋ธ๋ก์จ ๋์์ ํ๋ จ์ํค๋ ์คํ ๋ํ ํด๋ณด์์ผ๋, 39.8EM์ ๋ฌ์ฑํ๋ฉฐ ๋
๋ฆฝ์ ์ธ retrieval
, reader
model์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋์ฑ ๋์ ์ฑ๋ฅ์ ๊ฐ์ง๋ค๋ ๊ฒ์ ํ์ธํ๋ค.
8. Conclusion ๐ฌ
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ dense retrieval method
๊ฐ ๊ธฐ์กด์ traiditional sparse retrieveal componet
๋ฅผ ๋ฅ๊ฐํ๊ณ , ์ ์ฌ์ ์ผ๋ก ๋์ฒดํ์๋ค. ๊ฐ๋จํ๊ฒ dual-encoder
๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๋๋ผ์ด ์ฑ๋ฅ์ ๋ณด์์ผ๋ฉฐ, ์ด ์์ ๋ช๋ช ์ค์ ์์๋ค์ด ์กด์ฌํ๊ธฐ๋ ํ๋ค. ๋ ๋์๊ฐ์ ์ด ๋
ผ๋ฌธ์์์ ์ํ์ ๋ถ์์, ๋์ฑ ๋ณต์กํ ๋ชจ๋ธ๋ค์ด ํญ์ ์ถ๊ฐ์ ์ธ value๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์๋๋ผ๋ ๊ฒ ๋ํ ์๊ฒ ๋์๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก, ๊ฒฐ๊ตญ ๋ณธ ๋
ผ๋ฌธ์ ๋ฐฉ์์ผ๋ก SOTA๋ฅผ ๋ฌ์ฑํ์๋ค.