前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多语言DPR:知识蒸馏+Soft Prompt解码

多语言DPR:知识蒸馏+Soft Prompt解码

作者头像
NewBeeNLP
发布2023-12-13 09:34:12
2860
发布2023-12-13 09:34:12
举报
文章被收录于专栏:NewBeeNLP

作者 | 酯基 整理 | NewBeeNLP https://zhuanlan.zhihu.com/p/655833258

前置-多语言BERT:XLM

在介绍论文之前,本文先对多语言模型进行简单的介绍。

cross-lingual language models (XLMs)来自Facebook提出的将语言模型拓展为多语言的方法,详情可以见:XLM解读[1] 或原文 Cross-lingual Language Model Pretraining[2].

XLM的预训练过程与BERT类似,

  • 输入处理(BPE):使用BPE(Byte Pair Encoding)在每种语言的语料库上抽样并学习BPE split,拼接得到多语言词表。
  • Language Embedding:与BERT类似,XLM的embedding分类三个部分,但Segment Embedding替换为了Language Embedding
  • 预训练任务(CLM, MLM, TLM):无监督单语单向LM训练任务,无监督单语双向LM训练任务,有监督翻译LM训练

XLM预训练

更多: 常见多语言模型详解[3]

Intro

本文中,作者针对现有的多语言DPR中存在的language bias问题,提出了知识蒸馏+Soft Prompt解码的方法(KD-SPD)。无需多语言的检索数据集,仅利用现成的预训练单语DPR与平行语料数据即可将检索能力迁移到多语言DPR模型中。

实验结果显示KD-SPD在15种语言上都显著超过baseline,进一步分析显示KD-SPD能够缓解language bias,并展现了在新的语言上的零样本迁移能力。

language bias示例

任务:MLIR

首先作者在文中阐述了多语言检索与跨语言检索两种任务的定义。

  • Cross-lingual IR(CLIR): 跨语言的检索,即语言A-语言B的任务。
  • Multilingual IR(MLIR):目标语言未知的任务,从可能含有多种语言的文档集中进行检索(语言A-语言B/C/D...)。

在本文中KD-SPD面向的场景是MLIR,其中实验中的query为英文,召回文档由多种不同的语言组成。

Soft Prompt Decoder (SPD)

作者提出蒸馏过程中的学生模型与神经翻译模型类似,不同的是多语言文档编码器将目标语言翻译成embedding向量而非自然语言。因此,作者以encoder-decoder的架构搭建学生模型,其中encoder为多语言预训练模型(如mBERT、XLM),解码器为Soft Prompt Decoder。

  • Soft Prompt Matrix

借鉴了prompt tuning[4]中prompt分解的想法,将输入的prompt分解为两部分,如下图所示。其中uv是语言相关的两个低秩矩阵,\mathbf{P}是通用矩阵。

在prompt tuning中,分解矩阵的目的是保留模型在不同任务中的知识共享。在本文中,作者的目的是利用该矩阵保留不同语言之间相同的内在特征。

  • Cross-attention Decoder

SPD解码器使用类Transformer解码器,但与Transformer不同,SPD解码器中的多头注意力是Token Embedding与Prompt之间的交叉注意力。第m个注意力头的计算如下式所示:

\text { Attention }_m=\operatorname{Softmax}\left(\frac{W_m^q \hat{\mathbf{P}}_k \cdot W_m^k \mathbf{T}_{d_k}}{\sqrt{d / M}}\right) W_m^v \mathbf{T}_{d_k}

最后取第N个Decoder Block输出的池化结果作为最终的embedding结果。

SPD结构

知识蒸馏(KD)

知识蒸馏使用下式的batch内两个模型embedding间的均方差损失作为蒸馏阶段的损失函数。可以看出作者的目的是让平行语料的embedding尽量靠近。

\operatorname{loss}:=\frac{1}{K B} \sum_{k=1}^K \sum_{i=1}^B\left|f_D^{\prime}\left(s_{k i}\right)-g_D\left(e_{k i}\right)\right|^2

训练与测试图示

实验

本文的实验主要以英文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

Conclusion

本文提出了一种名为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监督。

  • 无监督方法(a)中,仅使用维基百科英语语料,正样本使用不同的dropout mask进行构建。
  • 在监督方法(b)中,使用平行语料作为训练正样本。
  • 在NLI监督方法(c)中,作者进行了两种实验,一种为利用跨语言NLI数据进行对比学习的训练,另一种为仅使用单语语料进行训练,即图中的lang A/B/C都为英语。

作者在多语言检索、跨语言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的作用在于使语义空间中不同语言但语义相似的句子进一步靠近。最终的优化目标为联合损失

\mathcal{L}=\mathcal{L}_{\mathcal{A}}-\lambda \mathcal{L}_{\mathcal{B}}

跨语言稠密检索

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NewBeeNLP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前置-多语言BERT:XLM
  • Intro
  • 任务:MLIR
    • Soft Prompt Decoder (SPD)
      • 知识蒸馏(KD)
      • 实验
      • Conclusion
      • 延申-多语言对齐
      • 跨语言稠密检索
        • 本文参考资料
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档