论文笔记--Augmenting Pre-trained Language Models with QA-Memory for Open-Domain Question Answering
1. 文章简介
- 标题:Augmenting Pre-trained Language Models with QA-Memory for Open-Domain Question Answering
- 作者:Wenhu Chen, Pat Verga, Michiel de Jong†, John Wieting, William W. Cohen
- 日期:2023
- 期刊:arxiv preprint
2. 文章概括
文章给出了一种ODQA(Open Domain Question Answering)方法QAMAT,该方法基于两阶段的训练框架,在现有RePAQ的基础上节省了内存和计算量,在多个QA benchmarks上取得更好的表现。
3 文章重点技术
3.1 QA
QA(Question Answering)可分为CBQA(Closed-Book)和ODQA(Open Domain):
- CBQA:基于大量语料库训练一个QA模型,然后直接询问模型得到答案。
- ODQA:一般来说会首先对语料库进行检索,然后对检索结果进行阅读理解,给出最终的答案。
现有的ODQA中的SOTA方法为RePAQ,即在推理阶段直接访问存储的QA对,检索和当前问题相似的Q,最终基于这些问题的回答得到现有问题的答案。但上述方法有以下局限性: 1)这种方法需要大量的监督数据以供问题检索,故一般来说RePAQ需要动态更新检索库,但这个更新过程本身又是昂贵且复杂的。2)RePAQ只支持检索显式存储于索引中的问题,很难满足复杂检索的需求。
3.2 QAMAT(QA-Memory-Augmented Transformer)
为了解决上述问题1),文章提出了一种QAMAT方法。具体来说,输入文本 X = x 1 , … , x n X=x_1, \dots, x_n X=x1,…,xn,其中 X X X可能为预训练阶段的段落或者微调阶段的问题(Q),模型的预训练任务为:给定语料库 ( X , { Q k , Q k } k = 1 m ) (X, \{Q^k, Q^k\}_{k=1}^m) (X,{ Qk,Qk}k=1m),其中 A i A^i Ai为对应 Q i Q^i Qi在 X X X中的spans,我们从 X X X中随机采样 k k k个样本,并将对应 A i A^i Ai的位置替换为[MASK],模型需要尝试预测这些[MASK]对应的token。上述预训练目标为 P ( Y ∣ X ) = ∑ m i ∈ M p ( Y ∣ X , m i ) p ( m i ∣ X ) (1) P(Y|X) = \sum_{m_i\in M} p(Y|X, m_i)p(m_i|X)\tag{1} P(Y∣X)=mi∈M∑p(Y∣X,mi)p(mi∣X)(1),其中 M M M为存储的所有问题对。
3.2.1 Encoder
文章采用了T5[1]的Encoder-Decoder基本架构。其中编码函数 f θ : X → F θ ( X ) ∈ R n × d f_{\theta}: X\to \mathcal{F}_{\theta}(X) \in \mathbb{R}^{n\times d} fθ:X→Fθ(X)∈Rn×d将输入序列 X X X映射为一个向量,然后该向量的指定位置元素被用于表征query和memory:当前问题 X X X的[MASK]分词对应的嵌入 f θ ( X , [MASK] ) ∈