0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Transformers研究方向

深度学习自然语言处理 来源:深度学习自然语言处理 作者:一轩明月 2022-03-30 16:50 次阅读

BERT 通过改变 NLP 模型的训练方式迎来了 NLP 领域的 ImageNet 时刻。自此之后的预训练模型分别尝试从mask 范围,多语言,下文预测,模型轻量化,预训练方式,模型大小,多任务等方向谋求新突破,有的效果明显,有的只是大成本小收益。

自 2018 年 BERT 提出之后,各种预训练模型层出不穷,模型背后的着眼点也各有不同,难免让人迷糊。本文旨在从以下几个方面探讨系列 Transformers 研究方向:

扩大遮罩范围(MaskedLM)

下文预测(NextSentencePrediction)

其他预训练方式

轻量化

多语言

越大越好?

多任务

要说 BERT 为什么性能卓越,主要是它改变了 NLP 模型的训练方式。先在大规模语料上训练出一个语言模型,然后将这个模型用在阅读理解/情感分析/命名实体识别等下游任务上

7725c54a-afe7-11ec-aa7f-dac502259ad0.png

Yann LeCun 将 BERT 的学习方式称为“自监督学习”,强调模型从输入内容中学习,又对其中部分内容进行预测的特点。而 BERT 本身实际算是是基于 Transformer 编码器部分改进而来的多任务模型,会同时执行遮罩语言模型学习以及下文预测任务,以此习得潜藏语义。

扩大遮罩范围改进 MaskedLM

遮罩语言模型里的“遮罩”,通常是分词后一小段连续的 MASK 标记

7745101c-afe7-11ec-aa7f-dac502259ad0.png

相比于从上下文中猜整个词,给出 ##eni 和 ##zation 猜到 tok 显然更容易些。

也正因单词自身标识间的联系和词与词间的联系不同,所以 BERT 可能学不到词语词间的相关关系。而只是预测出词的一部分也没什么意义,预测出整个词才能学到更多语义内容。所以拓展遮罩范围就显得十分重要了:

字词级遮罩——WWM

短语级遮罩——ERNIE

缩放到特定长度——N-gram 遮罩/ Span 遮罩

短语级遮罩使用时得额外提供短语列表,但加上这样的人工信息可能会干扰模型导致偏差。T5 尝试了不同跨度的遮罩,似乎长一些的会好点

775ba3d6-afe7-11ec-aa7f-dac502259ad0.png

可以看到初期扩大跨度是有效的,但不是越长越好。SpanBERT 有一个更好的解决方案,通过概率采样降低对过长遮罩的采纳数量。

77707536-afe7-11ec-aa7f-dac502259ad0.png

从 SpanBERT 的实验结果来看随机跨度效果不错

77861db4-afe7-11ec-aa7f-dac502259ad0.png

此外,也有模型尝试改进遮罩比例。Google 的 T5 尝试了不同的遮罩比例,意外的是替代项都不如原始设置表现好

779b8168-afe7-11ec-aa7f-dac502259ad0.png

下文预测

准确地讲应该是下一句预测(NextSentencePrediction,NSP),通过判断两个句子间是否是上下文相关的来学习句子级知识。从实验结果来看,BERT 并没有带来明显改进

77b3a52c-afe7-11ec-aa7f-dac502259ad0.png

BERT 的欠佳表现给了后来者机会,几乎成了兵家必争之地。XLNET / RoBERTa / ALBERT 等模型都在这方面进行了尝试

RoBERTa

77c6173e-afe7-11ec-aa7f-dac502259ad0.png

ALBERT

77e3810c-afe7-11ec-aa7f-dac502259ad0.png

XLNet

77ffb9d0-afe7-11ec-aa7f-dac502259ad0.png

可以看出 NSP 带来的更多的是消极影响。这可能是 NSP 任务设计不合理导致的——负样本是从容易辨析的其他文档中抽出来的,这导致不仅没学到知识反而引入了噪声。同时,NSP 将输入分成两个不同的句子,缺少长语句样本则导致 BERT 在长句子上表现不好。

其他预训练方式

NSP 表现不够好,是不是有更好的预训练方式呢?各家都进行了各种各样的尝试,私以为对多种预训练任务总结的最好的是 Google 的 T5 和 FaceBook 的 BART

T5 的尝试

7819e60c-afe7-11ec-aa7f-dac502259ad0.png

782fdbd8-afe7-11ec-aa7f-dac502259ad0.png

BART 的尝试

7846348c-afe7-11ec-aa7f-dac502259ad0.png

各家一般都选语言模型作为基线,而主要的尝试方向有

挡住部分标识,预测遮挡内容

打乱句子顺序,预测正确顺序

删掉部分标识,预测哪里被删除了

随机挑选些标识,之后将所有内容前置,预测哪里是正确的开头

加上一些标识,预测哪里要删

替换掉一些标识,预测哪里是被替换过的

试验结果如下

785e9fea-afe7-11ec-aa7f-dac502259ad0.png

787a6b80-afe7-11ec-aa7f-dac502259ad0.png

实验表明遮罩模型就是最好的预训练方法。要想效果更好点,更长的遮罩和更长的输入语句似乎是个不错的选择。而为了避免泄露具体挡住了多少个词,每次只能标记一个遮罩,对一个或多个词做预测

轻量化

BERT 模型本身非常大,所以为了运行更快,模型轻量化也是一大研究方向。一网打尽所有 BERT 压缩方法[1]对此有细致描述,主要分几个方向:

修剪——删除部分模型,删掉一些层 / heads 等

7893d3cc-afe7-11ec-aa7f-dac502259ad0.png

矩阵分解——对词表 / 参数矩阵进行分解

78adaacc-afe7-11ec-aa7f-dac502259ad0.png

知识蒸馏——师生结构,在其他小模型上学习

78c30a3e-afe7-11ec-aa7f-dac502259ad0.png

参数共享——层与层间共享权重

78de936c-afe7-11ec-aa7f-dac502259ad0.png

多语言

数据集在不同语言间分布的非常不均匀,通常是英语数据集很多,其他语言的相对少些,繁体中文的话问题就更严重了。而 BERT 的预训练方法并没有语言限制,所以就有许多研究试图喂给预训练模型更多语言数据,期望能在下游任务上取得更好的成绩。

谷歌的 BERT-Multilingual 就是一例,在不添加中文数据的情况下,该模型在下游任务上的表现已经接近中文模型

78f8c0ac-afe7-11ec-aa7f-dac502259ad0.png

有研究[2]对多语言版 BERT 在 SQuAD(英语阅读理解任务)和 DRCD(中文阅读理解任务)上进行了测试。最终证明可以取得接近 QANet 的效果,同时多语言模型不用将数据翻译成统一语言,这当然要比多一步翻译过程的版本要好。

790d4d4c-afe7-11ec-aa7f-dac502259ad0.png

从上面的结果可以看出无论是用 Embedding 还是 Transformer 编码器,BERT 都学到了不同语言间的内在联系。另有研究[3]专门针对 BERT 联通不同语言的方式进行了分析。

首先,在相同的 TLM 预训练模型中对不同语言建立关联

7924dbc4-afe7-11ec-aa7f-dac502259ad0.png

然后,通过控制是否共享组件来分析哪个部分对结果影响最大

7939dbd2-afe7-11ec-aa7f-dac502259ad0.png

结果是模型间共享参数是关键

79551ad2-afe7-11ec-aa7f-dac502259ad0.png

这是因为 BERT 是在学习词和相应上下文环境的分布,不同语言间含义相同的词,其上下文分布应该很接近

797019ea-afe7-11ec-aa7f-dac502259ad0.png

而 BERT 的参数就是在学习期间的分布,所以也就不难理解模型在多语言间迁移时的惊人表现了

越大越好?

尽管 BERT 采用了大模型,但直觉上数据越多,模型越大,效果也就应该更好。所以很多模型以此为改进方向

7989f450-afe7-11ec-aa7f-dac502259ad0.png

T5 更是凭借 TPU 和金钱的魔力攀上顶峰

79a9f160-afe7-11ec-aa7f-dac502259ad0.png

然而更大的模型似乎并没有带来太多的回报

79cbd118-afe7-11ec-aa7f-dac502259ad0.png

所以,简单增大模型规模并不是最高效的方法。

此外,选用不同的训练方法和目标也是一条出路。比如,ELECTRA 采用新型训练方法保证每个词都能参与其中,从而使得模型能更有效地学习表示(representation)

79e9ea7c-afe7-11ec-aa7f-dac502259ad0.png

79fa6988-afe7-11ec-aa7f-dac502259ad0.png

ALBERT 使用参数共享降低参数量,但对性能没有显著影响

7a0b68be-afe7-11ec-aa7f-dac502259ad0.png

7a1fde84-afe7-11ec-aa7f-dac502259ad0.png

多任务

BERT 是在预训练时使用多任务,我们同样可以在微调时使用多任务。微软的用于自然语言理解的多任务深度神经网络[4](MTDNN)就是这么做的

7a343ce4-afe7-11ec-aa7f-dac502259ad0.png

相交于 MTDNN,GPT-2 更加激进:不经微调直接用模型学习一切,只用给一个任务标识,其余的交给模型。效果出众但仍称不上成功

T5 对此做了平衡

7a5918a2-afe7-11ec-aa7f-dac502259ad0.png

谷歌的 T5 类似于 GPT-2,训练一个生成模型来回答一切问题。同时又有点像 MTDNN,训练时模型知道它是在同时解决不同问题,它是一个训练/微调模型

同时,大体量预训练模型都面临相同的两个难题:数据不均衡和训练策略选定

不均衡数据

不同任务可供使用的数据量是不一致的,这导致数据量小的任务表现会很差。数据多的少采样,数据少的多采样是一种解决思路。BERT 对多语言训练采用的做法就是一例

为平衡这两个因素,训练数据生成(以及 WordPiece 词表生成)过程中,对数据进行指数平滑加权。换句话说,假如一门语言的概率是

,比如 意味着在混合了所有维基百科数据后, 21% 的数据是英文的。我们通过因子 S 对每个概率进行指数运算并重新归一化,之后从中采样。我们的实验中, ,所以像英语这样的富文本语言会被降采样,而冰岛语这样的贫文本语言会过采样。比如,原始分布中英语可能是冰岛语的 1000 倍,平滑处理后只有 100 倍

训练策略

7a7a4c20-afe7-11ec-aa7f-dac502259ad0.png

无监督预训练+微调:在 T5 预训练后对各任务进行微调

多任务训练:所有任务和 T5 预训练一同训练学习,并直接在各任务上验证结果

多任务预训练+微调:所有任务和 T5 预训练一同训练学习,然后对各任务微调训练数据,再验证结果

留一法多任务训练:T5 预训练和目标任务外的所有任务一同进行多任务学习,然后微调目标任务数据集,再验证结果

有监督多任务预训练:在全量数据上进行多任务训练,然后对各任务微调结果

可以看到先在海量数据上进行训练,然后对特定任务数据进行微调可以缓解数据不平衡问题。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3579

    浏览量

    134068
  • 模型
    +关注

    关注

    1

    文章

    3141

    浏览量

    48673
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    21999

原文标题:BERT 之后的故事

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何使用 Llama 3 进行文本生成

    服务。以下是主要的几种方法: 方法一:使用现成的API服务 许多平台提供了LLaMA 3的API接口,例如Hugging Face的Transformers库和Inference API
    的头像 发表于 10-27 14:21 208次阅读

    GPGPU体系结构优化方向(1)

    继续上文GPGPU体系结构优化方向 [上],介绍提高并行度和优化流水线的方向
    的头像 发表于 10-09 10:03 205次阅读
    GPGPU体系结构优化<b class='flag-5'>方向</b>(1)

    电流方向和电荷运动方向的关系

    电流方向和电荷运动方向的关系是一个复杂而有趣的话题。 电荷和电流的基本概念 在讨论电流方向和电荷运动方向的关系之前,我们需要先了解电荷和电流的基本概念。 电荷是物质的基本属性之一,它可
    的头像 发表于 07-29 17:05 1637次阅读

    负电荷的移动方向是电流方向

    负电荷的移动方向不是电流方向。电流方向的定义是正电荷的移动方向。在电学中,电流的方向通常被规定为正电荷的移动
    的头像 发表于 07-29 17:03 1367次阅读

    计算机视觉的主要研究方向

    计算机视觉(Computer Vision, CV)作为人工智能领域的一个重要分支,致力于使计算机能够像人眼一样理解和解释图像和视频中的信息。随着深度学习、大数据等技术的快速发展,计算机视觉的研究和应用取得了显著进步。本文将对计算机视觉的主要研究
    的头像 发表于 06-06 17:17 824次阅读

    电流的方向与电流表的指针偏转方向是否一致?

    电流的方向与电流表指针的偏转方向之间的关系是电学测量中的一个基本问题。
    的头像 发表于 05-07 17:07 3704次阅读

    ST60A2的发射方向是垂直方向还是水平方向

    ST60A2的发射方向是垂直方向还是水平方向
    发表于 03-29 08:06

    线圈磁场方向的判断方法用什么定则

    线圈磁场方向的判断可以利用右手螺旋定则。该定则是由法国物理学家安德烈-玛丽·安培(Andre-Marie Ampere)于19世纪提出的。 右手螺旋定则是一种用于判断电流所产生的磁场的方向的方法
    的头像 发表于 02-25 17:07 4773次阅读

    感应电动势的方向与磁力线方向导体运动方向

    当导体在磁场中运动时,会产生感应电动势。感应电动势是由导体自身的运动产生或是由导体与磁场的相互作用引起的。本文将探讨感应电动势的方向与磁力线方向以及导体运动方向之间的关系。 什么是感应电
    的头像 发表于 02-14 15:01 4071次阅读

    Transformers内部运作原理研究

    为了理解每个组件的作用,让我们通过训练Transformer解决翻译问题的过程,逐步了解Transformer的工作原理。我们将使用训练数据的一个样本,其中包含输入序列(英语中的'You are welcome')和目标序列(西班牙语中的'De nada')。
    的头像 发表于 01-30 09:47 3048次阅读
    <b class='flag-5'>Transformers</b>内部运作原理<b class='flag-5'>研究</b>

    Transformers的功能概述

    近年来,我们听说了很多关于Transformers的事情,并且在过去的几年里,它们已经在NLP领域取得了巨大成功。Transformers是一种使用注意力机制(Attention)显著改进深度学习
    的头像 发表于 01-23 10:15 636次阅读
    <b class='flag-5'>Transformers</b>的功能概述

    使用基于Transformers的API在CPU上实现LLM高效推理

    英特尔 Extension for Transformers是英特尔推出的一个创新工具包,可基于英特尔 架构平台,尤其是第四代英特尔 至强 可扩展处理器(代号 SapphireRapids,SPR)显著加速基于Transformers的大语言模型( LargeLangua
    的头像 发表于 01-22 11:11 2479次阅读
    使用基于<b class='flag-5'>Transformers</b>的API在CPU上实现LLM高效推理

    如何判断编码器的方向

    通过直流调速器(590)里的参数可以知道编码器的方向,如果反了,将A、B相信号反一下就行了,这是平时我在现场看到别人调试时这么做的,请问如果没有直流调速器,要怎么判断编码器的方向呢?
    发表于 12-21 07:17

    高压放大器研究方向及其应用领域

    高压放大器是一种电子设备,用于将输入信号的电压增大到较高的输出电压。它在许多领域中有广泛的应用,包括通信、医疗、科学研究等。 高压放大器的研究方向主要集中在以下几个方面: 提高功率效率:高压放大器
    的头像 发表于 12-05 17:35 537次阅读
    高压放大器<b class='flag-5'>研究</b><b class='flag-5'>方向</b>及其应用领域

    高压放大器能够进行哪些领域和方向研究

    高压放大器是一种专门用于放大高压信号的设备,其功能是将输入的低电压信号放大到较高的电压水平。由于高压放大器的特殊性,它在许多领域和方向都有着广泛的研究应用。接下来,安泰电子将介绍高压放大器在几个典型
    的头像 发表于 11-29 11:57 490次阅读
    高压放大器能够进行哪些领域和<b class='flag-5'>方向</b>的<b class='flag-5'>研究</b>