【NAACL 2022】GPL:用于密集检索的无监督域自适应的生成伪标记
论文地址:https://arxiv.org/abs/2112.07577
《文本匹配——【EMNLP 2021】TSDAE》中的自适应预训练的一大缺点是计算开销高,因为必须首先在语料库上运行预训练,然后在标记的训练数据集上进行监督学习。标记的训练数据集可能非常大。
GPL(用于密集检索的无监督域自适应的生成伪标记)克服了上述问题:它可以应用于微调模型之上。因此,可以使用其中一种预训练模型并将其调整到特定领域:
训练的时间越长,你的模型就越好。在 V100-GPU 上训练模型大约 1 天。GPL 可以与自适应预训练相结合,从而进一步提升性能。
GPL 分三个阶段工作:
- query 生成:对于我们域中的给定文本,我们首先使用 T5 模型为给定文本生成可能的query。例如,当你的文本是“Python is a high-level general-purpose programming language”时,模型可能会生成类似“What is Python”这样的query。中文T5 Doc2Query 预训练模型地址 :https://huggingface.co/doc2query/msmarco-chinese-mt5-base-v1
- 负例挖掘:接下来,对于生成query “What is Python”,我们从语料库中挖掘负例passage,即与query 相似但用户认为不相关的 passage。这样的负例 passage 可能是“Java is a high-level, class-based, object-oriented programming language.”。. 我们使用密集检索进行这种挖掘,即我们使用现有的文本嵌入模型之一并检索给定query 的相关passage。
- 伪标签:在负例挖掘步骤中,我们检索到与query 实际相关的passage(如 “What is Python” 的另一个定义)。为了克服这个问题,我们使用 Cross-Encoder 对所有(query、passage)对进行评分。
训练:一旦我们有了三元组 (generated query, positive passage, mined negative passage) 和对 (query, positive) 、 (query, negative) 的评分的Cross-Encoder,我们就可以开始使用MarginMSELoss训练文本嵌入模型:
伪标记步骤非常重要,与之前的方法 QGen(《文本匹配——【NeurIPS 2021】BEIR》) 相比,它提高了性能,QGen 将 passages 视为正(1)或负(0)。正如我们在下图中看到的,对于生成query (“what is futures conrtact”),负例挖掘步骤检索与生成query 部分或高度相关的passages。使用 MarginMSELoss 和Cross-Encoder,我们可以识别这些 passages 并教导文本嵌入模型这些段落也与给定查询相关。
下表概述了 GPL 与自适应预训练(MLM 和 TSDAE)的比较。如前所述,GPL 可以与自适应预训练相结合:
相关文章
- 【愚公系列】2022年08月 微信小程序-view生成分享图片
- Apache OpenSSL生成证书使用
- 5分钟NLP:Python文本生成的Beam Search解码
- 在Python中生成随机数据
- 2022可视化网页生成工具盘点
- NeurIPS 2022 | 用变分编码器生成周期图,时间、空间复杂度最低
- mac关闭自动生成DS_store
- 7 Papers | CoRL 2022最佳论文;语言模型生成自然界没有的蛋白质
- 【Binder 机制】AIDL 分析 ( 创建 AIDL 文件 | 创建 Parcelable 类 | AIDL 中使用 Parcelable 类 | 编译工程生成 AIDL 对应的Java源文件 )
- 开源轻量级静态博客系统,极速部署你的博客,几百页面瞬间生成
- ubuntu中修改grub的启动时间生成
- Java生成读取条形码和二维码图片详解编程语言
- 使用Oracle生成安全的二进制文件(oracle 二进制文件)
- 用js来生成随机彩票号码清单
- asp.net文件上传功能(单文件,多文件,自定义生成缩略图,水印)
- Jquery动态生成表格示例代码
- WinForm拖拽控件生成副本的解决方法
- 如何使用VisualStudio2010在数据库中生成随机测试数据