每天给你送来NLP技术干货!


来自:圆圆的算法笔记

点击这里进群—>加入NLP交流群

今天给大家介绍3篇EMNLP 2022中语言模型训练方法优化的工作,这3篇工作分别是:

  • 针对检索优化语言模型:优化语言模型训练过程,使能够生成更合适的句子表示用于检索——RetroMAE: Pre-training Retrieval-oriented Transformers via Masked Auto-Encoder;

  • 针对事实知识提取优化语言模型:在语言模型训练过程中引入知识库,提升语言模型对事实知识的抽取能力——Pre-training Language Models with Deterministic Factual Knowledge;

  • 针对目标域效果优化语言模型:将语言模型在目标domain继续训练,在不遗忘原始知识的情况下学到目标doman新知识——Continual Training of Language Models for Few-Shot Learning。

后台回复【语言模型】,可以获取14种深度学习语言模型的梳理资料。

1

针对检索优化语言模型

在query-document检索任务中,核心是获取到query和document的句子表征,然后利用向量检索的方式完成检索任务。BERT已经成为提取句子表示向量的主流方法。然而,BERT在预训练阶段的主要任务是MLM,缺少对句子整体表示提取的优化目标,导致句子表示提取能力不足。

RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder这篇文章对BERT的训练方式进行了优化,使得BERT能提取更高质量的句子表示,进而提升检索效果。RetroMAE的整体结构如下图所示,包括一个Encoder和一个Decoder。对于每一个样本,Encoder的输入随机mask掉15%的token,和原始BERT类似,利用Encoder得到整体的句子表示。在Decoder侧,输入Encoder的句子表示,以及mask掉70%的token的样本,让Decoder还原整个句子。Encoder是一个比较复杂的BERT模型,Decoder则使用一个比较简单的单层Transformer模型。

本文的模型设计思路是,Decoder提供的信息尽可能少、模型的复杂度尽可能低,这样可以迫使Encoder生成的句子表示包含更完整的句子信息,保障了Encoder生成的句子embedding的质量。相比对比学习学习句子表示的方法,RetroMAE的优势是效果不依赖于数据增强方法和正负样本构造方法的选择。

2

针对事实知识提取优化语言模型

随着prompt的兴起,预训练语言模型经常被用于进行知识抽取。构造一个prompt模板,以完形填空的形式让模型预测空缺位置的token,实现知识抽取。然而,预训练语言模型的抽取结果有时会很大程度上受到prompt选择的影响,如下表所示,鲁棒性较差。一个核心原因是,在训练语言模型的过程中,有些被mask掉的部分并不一定只有唯一一个正确答案。当被mask部分存在多个正确答案,而模型在训练过程中被要求只预测一个正确答案时,就会导致其他本来正确的答案被强行设置成为负样本,进而影响了模型效果。

Pre-training Language Models with Deterministic Factual Knowledge针对这个问题,提出了在构造预训练样本时,引入知识库对数据进行过滤。核心是在KG中查找知识信息,看样本中被mask掉的实体是否这段文本的描述中唯一确定的正确答案。如果是,那么这个样本不会给语言模型带来歧义,正常参与训练;否则就是一个多答案样本,从训练数据中去除掉。通过这种数据过滤的方式,让模型在训练阶段见到的预测任务都是只有一个确定答案的,解决了多答案mask token预测的影响。

为了进一步提升模型能力,文中提出了Clue Contrastive Learning和Clue Classification两个任务。Clue Contrastive Learning的目标是让模型具备一种能力:当上下文指向的答案是确定性的时候,就预测一个更有信心一些。通过构造确定性样本和非确定性样本,以这对样本的对比关系进行学习。Clue Classification让语言模型知道上下文信息中存在什么样的线索。通过保留决定性线索、删除决定性线索、删除其他非决定性线性构造三种样本用于分类。

3

针对目标域效果优化语言模型

在使用预训练语言模型解决下游NLP任务时,如果目标任务的有label数据较少,一种能提升效果的方法是先将语言模型在目标任务domain上无监督语料上继续训练,让语言模型适应目标任务的文本分布。在面对下游各类、持续增加的任务时,我们需要不断的使用新任务domain的语言训练语言模型。这样做的风险可能会破坏原来语言模型学到的知识,导致信息遗忘等问题,带来老任务上效果的下降。

Continual Training of Language Models for Few-Shot Learning提出了一种语言模型连续学习的方法解决上述问题。核心思路是借鉴了Adapter,在语言模型中插入多个CL组件(全连接层),模型在目标domain语言上继续学习的过程中,只更新这些CL组件,原始的语言模型保持参数不变。在具体任务上finetune时,语言模型和CL组件一起更新。

这里面的一个关键模块是使用task id生成CL组件中的mask,每个任务的mask代表了哪些神经元对于当前任务最重要,这些神经元会在后续新任务的训练中被mask掉,不进行梯度更新,防止新任务对老任务已经学到的信息造成影响。每次训练一个新任务时,会把老任务的mask汇总起来控制住不更新的神经元,并且对新的task也学习一套mask。

4

总结

本文主要介绍了3篇EMNLP 2022中和语言模型优化相关的工作,涉及检索、知识提取、持续学习等方面。语言模型在很多场景有各种各样的应用,学术界对于语言模型的优化方向,逐渐从原来的大规模预训练方式、模型结构优化,转向到细领域的针对性优化。


介绍几篇EMNLP'22的语言模型训练方法优化工作相关推荐

  1. UDS服务基础篇之22

    UDS诊断服务基础篇之22 前言 22服务作为诊断服务种的基础服务,可以简单理解为就是一个用于读取ECU数据的外部接口,可实时获取软件内部的相关的状态信息. 鉴于本文是基础入门介绍,小T还是会问下大家 ...

  2. 介绍一篇关于session的好文章,写的很详细

    介绍一篇关于session的好文章,写的很详细 目录: 一.术语session 二.HTTP协议与状态保持 三.理解cookie机制 四.理解session机制 五.理解javax.servlet.h ...

  3. 第4代白盒測试方法介绍--理论篇

    关键词: 白盒測试 第4代 測试方法 4GWM 在线測试 持续測试 灰盒 脚本驱动 脚本桩 摘  要: 本文是第4代白盒測试方法的理论介绍,描写叙述3个关键领域内9项关键特征的概念与固有特征.同一时候 ...

  4. 【OpenCV 例程200篇】22. 图像添加非中文文字

    [OpenCV 例程200篇]22. 图像添加非中文文字 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 函数 cv2 ...

  5. 新颖的自我介绍_新颖一分钟自我介绍4篇

    新颖一分钟自我介绍4篇 新颖一分钟自我介绍1 大家好,我叫XX,是XX部门XX职位.是刚来的新伙伴.我比较乐观,开朗,希望在以后的工作中能多多指教(职位高就不要说的"多多指教")合 ...

  6. 计算机夏令营英语自我介绍,保研夏令营英文自我介绍3篇

    保研夏令营英文自我介绍3篇 更新时间:2017/10/15 11:15:00 保研夏令营是近几年各高校(特别是著名高校)抢夺优质生源的一种方式.以下是百家姓网小编搜集的保研夏令营英文自我介绍3篇,欢迎 ...

  7. 计算机博士英文复试自我介绍,考博英语复试自我介绍7篇自我介绍

    <考博英语复试自我介绍7篇自我介绍>由会员分享,可在线阅读,更多相关<考博英语复试自我介绍7篇自我介绍(6页珍藏版)>请在装配图网上搜索. 1.考博英语复试自我介绍7篇自我介绍 ...

  8. 计算机教师幽默介绍,老师幽默的自我介绍6篇

    老师幽默的自我介绍6篇 老师幽默的自我介绍1 各位同学好,我是你们班的新数学老师,以后负责上你们班的数学课.大家对我相对不熟悉,但是我希望以后各位同学都支持我的工作,好好学习. 我的名字叫向南,很高兴 ...

  9. 今天给在家介绍一篇基于jsp的旅游网站设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

最新文章

  1. 启用 SR-IOV 解决 Neutron 网络 I/O 性能瓶颈
  2. python安装路径怎么找-Python---查看安装路径
  3. java 保留数字与中文_java 转中文数字
  4. ubuntu16.04下安装emacs
  5. BZOJ3262: 陌上花开(cdq分治)
  6. c语言编译器怎样退出全屏,BOOX 应用软件怎样退出全屏模式?
  7. C语言优先队列作用,C语言实现优先队列(priority queue)
  8. 【OpenCV 例程200篇】70. 一维连续函数的傅里叶变换
  9. python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
  10. 报告PPT|Python网络程序设计教学要点与案例分享(含音频)
  11. 人工智能是 6G 诞生的关键!| 极客头条
  12. dns按来路ip智能解析_智能解析_智能DNS解析_操作指南_云解析 DNS - 阿里云
  13. 京瓷4501i打印机扫描步骤_「硬件」如何使用打印机扫描文件传送到电脑本地?...
  14. html里表格做斜线表头,word表格斜线_Word2010怎么绘制斜线表头-太平洋IT百科
  15. 怎样截屏计算机桌面,如何快速截图? 电脑桌面截图快捷键是哪个【详细介绍】...
  16. 凸优化之共轭函数(二)
  17. 《joel说软件》读书笔记
  18. 计算机有线传播介质,有线传输介质有那些?
  19. 数据之道读书笔记-03差异化的企业数据分类管理框架
  20. springmvc+mybatis 无极限树形结构菜单

热门文章

  1. Spring 循环依赖(5.2.x)
  2. 【python】tensorflow和pytorch神经网络一元二次函数拟合
  3. 集丰照明|目前已发布的半导体照明电子行业标准有哪些?
  4. 饿死胆小的,撑死胆大的------简评百度收购91无线
  5. 删除无用的系统服务项
  6. Windows与网络基础:注册表基础和注册表维护与优化
  7. Leetcode 1370. Increasing Decreasing String
  8. Shopex乱码解决方案
  9. opera for windows 上的阿里旺旺调用
  10. 如何批量导入快递单号,并刷新所有无信息