作者 | 酯基 整理 | NewBeeNLP https://zhuanlan.zhihu.com/p/655833258
在介绍论文之前,本文先对多语言模型进行简单的介绍。
cross-lingual language models (XLMs)来自Facebook提出的将语言模型拓展为多语言的方法,详情可以见:XLM解读[1] 或原文 Cross-lingual Language Model Pretraining[2].
XLM的预训练过程与BERT类似,
XLM预训练
更多: 常见多语言模型详解[3]
本文中,作者针对现有的多语言DPR中存在的language bias问题,提出了知识蒸馏+Soft Prompt解码的方法(KD-SPD)。无需多语言的检索数据集,仅利用现成的预训练单语DPR与平行语料数据即可将检索能力迁移到多语言DPR模型中。
实验结果显示KD-SPD在15种语言上都显著超过baseline,进一步分析显示KD-SPD能够缓解language bias,并展现了在新的语言上的零样本迁移能力。
language bias示例
首先作者在文中阐述了多语言检索与跨语言检索两种任务的定义。
在本文中KD-SPD面向的场景是MLIR,其中实验中的query为英文,召回文档由多种不同的语言组成。
作者提出蒸馏过程中的学生模型与神经翻译模型类似,不同的是多语言文档编码器将目标语言翻译成embedding向量而非自然语言。因此,作者以encoder-decoder的架构搭建学生模型,其中encoder为多语言预训练模型(如mBERT、XLM),解码器为Soft Prompt Decoder。
借鉴了prompt tuning[4]中prompt分解的想法,将输入的prompt分解为两部分,如下图所示。其中uv是语言相关的两个低秩矩阵,\mathbf{P}是通用矩阵。
在prompt tuning中,分解矩阵的目的是保留模型在不同任务中的知识共享。在本文中,作者的目的是利用该矩阵保留不同语言之间相同的内在特征。
SPD解码器使用类Transformer解码器,但与Transformer不同,SPD解码器中的多头注意力是Token Embedding与Prompt之间的交叉注意力。第m个注意力头的计算如下式所示:
最后取第N个Decoder Block输出的池化结果作为最终的embedding结果。
SPD结构
知识蒸馏使用下式的batch内两个模型embedding间的均方差损失作为蒸馏阶段的损失函数。可以看出作者的目的是让平行语料的embedding尽量靠近。
训练与测试图示
本文的实验主要以英文query与多语言文档作为测试。训练时使用XLM-R初始化SPD,教师模型选用ANCE。训练使用CCAligned平行语料数据,同时使用mMARCO微调mDPR作为baseline进行比较。
测试集使用多个多语言IR测试集的集合(CLEF、mTREC、LAReQA)。
对比的baseline为SMT/NMT+BM25,mDPR以及KD-Encoder。
mDPR的实施有两种方法:第一种,将MLIR任务转化为多个CLIR任务,对召回的列表用Round Robin或Score方法合并列表;第二种为端到端的召回。
结果如下图所示:
在多个数据集上的结果
针对language bias的问题,作者也进行了实验。作者对比了不同模型生成的平行文档rank list的排名差距和分差。如下图所示,KD-SPD具有最小的排名差距和分数差,证明模型有效地克服了language bias。
平行文档的排名差与分差
同时,作者也发现KD-SPD具有很好的零样本迁移能力,在训练集中未出现的语言上也能够有很好的表现,如下图所示,在CLEF数据集中芬兰语上的结果。
Zero-shot ability
本文提出了一种名为KD-SPD的框架,隐式地将多语言文档映射到同一语义空间,该框架在多语言及跨语言任务上都表现优异,并且大大减少了MLIR所需的训练数据量,有效地缓解了language bias,并展现了出色的零样本迁移能力。
EMNLP2022 mSimCSE:English Contrastive Learning Can Learn Universal Cross-lingual Sentence Embeddings[5]
mSimCSE是一篇将SimCSE扩展到多语言的工作。在这篇工作中,作者展示了仅使用英语语料进行对比学习,无需更多平行数据,模型就能够学习到高质量的embedding。弱监督和无监督模型在STS和跨语言检索任务上有显著的提升。
mSimCSE配置
如上图所示,mSimCSE的训练可以分为无监督与有监督以及NLI监督。
作者在多语言检索、跨语言STS以及分类任务上进行了测试。结果显示,仅使用英语的监督NLI方法,就可以大大提升模型的跨语言对其能力,其结果甚至能够媲美使用了大量平行语料数据训练的模型。
EMNLP2021 DuEAM:Cross-lingual Sentence Embedding using Multi-Task Learning[6]
在DuEAM中,作者提出了一种基于双编码器架构的无监督架构,其中包含无监督联合损失和anchor-learner方法,以获得高质量的跨语言embedding,该方法不需要任何的平行语料用于训练。
DuEAM
作者使用anchor模型的 word-level语义信息 测量source和target语句的相似度,再令learner模型产生的source和target的sentence embedding的欧氏距离逼近anchor产生的WMD距离[7]。
另外,作者还引入了translation mining based loss,这个loss的作用在于使语义空间中不同语言但语义相似的句子进一步靠近。最终的优化目标为联合损失
ICLR2023: MSM: Modeling Sequential Sentence Relation to Improve Cross-lingual Dense Retrieval[8]
在这篇跨语言稠密检索的研究中,作者提出一种Masked Sentence Encoder方法,利用平行文档的同构的语义信息学习多语言信息。本文的中心思想是:不同语言的平行文档,句子级别的语义信息和顺序信息应当是相似的。
MSM
MSM方法用于document encoder的训练,输入为文档序列,输入的token type embedding被替换为sentence position embedding。作者使用对比损失进行训练,其中positive anchor为原始句子,负样本为跨文档采样的随机句向量与文档内负样本。
[1]
XLM解读: https://blog.csdn.net/Magical_Bubble/article/details/89520545
[2]
Cross-lingual Language Model Pretraining: https://arxiv.org/pdf/1901.07291.pdf
[3]
常见多语言模型详解: https://blog.csdn.net/Jay_Tang/article/details/107873888
[4]
prompt tuning: https://arxiv.org/pdf/2303.02861.pdf
[5]
English Contrastive Learning Can Learn Universal Cross-lingual Sentence Embeddings: https://arxiv.org/abs/2211.06127
[6]
Cross-lingual Sentence Embedding using Multi-Task Learning: https://aclanthology.org/2021.emnlp-main.716
[7]
WMD距离: https://zhuanlan.zhihu.com/p/251344868
[8]
Modeling Sequential Sentence Relation to Improve Cross-lingual Dense Retrieval: https://arxiv.org/abs/2302.01626