DC-BERT: DECOUPLING QUESTION AND DOCUMENT FOR EFFICIENT CONTEXTUAL ENCODING
Motivation
关注预训练的LM应用于open-domain的无法处理高吞吐量的传入问题。
DC-BERT
B
B
B
E
E
E
R
R
R
T
T
T的较低层编码更多的局部句法信息,如词性标签,而较高层往往依赖于更广泛的上下文来捕捉更复杂的语义。
D
D
D
C
C
C
B
B
B
E
E
E
R
R
R
T
T
T受这个启发,它将
B
B
B
E
E
E
R
R
R
T
T
T的较低层解耦到本地上下文(question和document),然后在独立编码的基础上应用
T
T
T
r
r
r
a
a
a
n
n
n
s
s
s
f
f
f
o
o
o
r
r
r
m
m
m
e
e
e
r
r
r层,以实现question-document的交互。如图1所示:
D D D C C C B B B E E E R R R T T T有两个独立的 B B B E E E R R R T T T模型:一个在线 B B B E E E R R R T T T只对question编码一次,一个离线 B B B E E E R R R T T T预编码所有documnent并缓存它们的编码。启用缓存后, D D D C C C B B B E E E R R R T T T可以立即读出任何documnent的编码。question和document的解耦编码随后被馈送到具有question和document交互的global position 和 type embeddings 的 T T T r r r a a a n n n s s s f f f o o o r r r m m m e e e r r r层,这产生了(question-document)对的上下文编码。
D D D C C C B B B E E E R R R T T T可以应用于documnent检索器和阅读器。这项工作重点研究如何加快检索器的速度,因为每个问题检索的文档数量可能相当大,而馈入阅读器模块的文档数量有限。因此,解决文档检索器的效率问题更为重要。
METHODOLOGY
D D D C C C B B B E E E R R R T T T的整体架构(图1)包括一个用于解耦编码的 d d d u u u a a a l l l − - − B B B E E E R R R T T T 组件,一个用于问题-文档交互的 T T T r r r a a a n n n s s s f f f o o o r r r m m m e e e r r r组件,以及一个用于文档重新排序的分类器组件。
Dual-BERT component.
两个独立的
B
B
B
E
E
E
R
R
R
T
T
T对question和document分别encode:
question:
T
T
T
∈
∈
∈
R
R
R
N
^N
N
×
^×
×
d
^d
d
document:
T
‘
T^‘
T‘
∈
∈
∈
R
R
R
M
^M
M
×
^×
×
d
^d
d
并且对document的encode可以转移至offline,降低计算成本:
线下encode则计算成本:
另外,作者认为,question和document缺乏交互会导致IR性能下降,所以设计了下列的Transformer层进行交互。
Transformer component.
-
一个全局位置embedding对串联的question-docuent编码序列中位置 P i P_i Pi处的token进行重新编码(总长度:N+M+3,包括 [CLS] 和 [SEP] token):
-
一个全局tpye embedding去区分question和document的token:
全局位置和type embedding都是由来自预先训练的 B B B E E E R R R T T T的位置和句子嵌入初始化的,并且将在训练期间更新。这些额外的嵌入是在问题和文档编码的基础上添加的。然后将这三个embedding f f f e e e d d d T T T r r r a a a n n n s s s f f f o o o r r r m m m e e e r r r( K K K层),它是由 B B B E E E R R R T T T的最后 K K K层初始化。
Classifier component.
取最后一层
T
T
T
r
r
r
a
a
a
n
n
n
s
s
s
f
f
f
o
o
o
r
r
r
m
m
m
e
e
e
r
r
r的[CLS]位置输出送到
M
M
M
L
L
L
P
P
P层:
o表示question的,o’表示document的。
M
M
M
L
L
L
P
P
P的参数由优化交叉熵函数更新:
3 EXPERIMENTS
Benchmark datasets.
- SQuAD
- Natural Questions
Evaluation metrics.
- 比较单个GPU上检索的速度
- P@N:答案跨度出现在前N个文档之一中的问题的百分比
- PBT@N:用于衡量文档re-rank的语义检索能力,即包含答案跨度的前N个文档中至少有一个不在TF-IDF前N个文档中的问题的百分比。换句话说,这个新的度量标准衡量了检索器在TF-IDF检索器之外的能力(越高越好)
- PTB@N:这是前N个TF-IDF中至少有一个检索到包含答案跨度的文档不在检索者的前N个文档中的问题的百分比。该指标衡量检索器保留TF-IDF检索器返回的相关文档的能力(越低越好)。
- 对于下游的QA任务,采用EM(exact match)得分。
Implementation details.
预训练的
B
B
B
E
E
E
R
R
R
T
T
T用于doc-re-rank,预训练的
B
B
B
E
E
E
R
R
R
T
T
T
−
-
−
w
w
w
w
w
w
m
m
m (whole word masking)用于下游QA。对于标准的TF-IDF检索,使用DrQA的TF-IDF检索器收集80份doc进行SQuAD的评估。我们选择按检索器排序的前10个文档输入阅读器模块。
T
T
T
r
r
r
a
a
a
n
n
n
s
s
s
f
f
f
o
o
o
r
r
r
m
m
m
e
e
e
r
r
r层数
K
K
K为1。
learning rate :4e-5
Adam 优化器
对于最后的分类层,使用2层带有tanh(·)激活函数的MLP
看看结果
表1:两个基准数据集的性能比较。
表2,PBT @ 10和PTB@10中的检索器性能。
消融
DC-BERT-Linear:用线性曾取代Transformer层。
DC-BERT-LSTM:使用LSTM和两层线性层取代Transformer层。
Transformer层数的影响:
层数增加,性能有所提升,但是检索速度降低。
检索文档的数量影响:
D
D
D
C
C
C
B
B
B
E
E
E
R
R
R
T
T
T始终由于其他
B
B
B
E
E
E
R
R
R
T
T
T变体,再检索文档较小时尤为明显。