RoBERTa: A Robustly Optimized BERT Pretraining Approach

51 篇文章 5 订阅
33 篇文章 4 订阅

1 简介

本文根据2019年《RoBERTa: A Robustly Optimized BERT Pretraining Approach》翻译总结的。
RoBERTa:稳健优化BERT方法。对BERT进行了优化。

RoBERTa :Robustly optimized BERT approach.

RoBERTa包括:

  1. 采用动态mask;
  2. 采用FULL-SENTENCES without NSP loss;没有使用NSP,NSP作用不大。
  3. large mini-batches;采用更大的batch。
  4. a larger byte-level BPE。BPE 指Byte-Pair Encoding 。

此外,
1) 训练更长的时间也可以改进RoBERTa。
2) 使用更多额外的数据,可以改进模型对下游任务的表现。

实验结果主要和BERT、XLNet进行了比较,好于它们。

2 Static vs. Dynamic Masking

BERT默认是静态mask(在数据预处理时表现一次)。我们改成动态的,可以看到表现有提升。动态mask指在每次将序列输入到模型时生成mask,
在这里插入图片描述

3 FULL-SENTENCES without NSP loss

SEGMENT-PAIR:BERT中采用的。有NSP。

SENTENCE-PAIR+NSP:将segment换成sentence(句子)。

FULL-SENTENCES:每个输入是连续从一个文档或者多个文档中提取的,总长度至少512个token。输入可能跨文档,即当我们在一个文档采样完后,长度不够时,我们继续在下一个文档中采样,在他们中间会添加个额外的分割token。没有NSP。

DOC-SENTENCES:类似FULL-SENTENCES,只是不跨文档,所以可能不够512个token。我们采用动态创建batch size方法。没有NSP。

如下表,虽然DOC-SENTENCES效果好点,但因为其batchsize在变化,故为了简化与其他模型的比较,我们用的FULL-SENTENCES。
在这里插入图片描述

4 大batch的训练

如下表,可以看到2K的batchsize好于BERT的256.

在这里插入图片描述

5 BPE

Byte-Pair Encoding (BPE)是介于character-和word-level之间的混合,可以处理在自然语言中普遍存在的大量词汇。BFE不是依靠整个词语,而是采用子词语。

BPE的词汇大小一般是10K到100K个子词。但是unicode 字符占据了相当大一部分。Radford et al. (2019)引入一种新的方式,用bytes代替unicode字符。使用bytes可以学习一个的大小适中50K的子词表,可以编码任何文本,不用引入任何未知token。

原始的BERT使用的是字符水平的BPE,大小30K,是在用启发式tokenization处理后再被学习的。

我们用一个更大的50K子词的byte-level BPE代替BERT中的,不用任何额外的处理或者输入的tokenization。不过这增加了BERTBASE 和BERTLARGE分别15M、20M的参数量。

不过也有研究说BPE可能轻损害某些任务的表现。但是我们认为一个广泛使用的编码胜过表现上轻微的损失。这部分可以进一步研究下。

6 实验结果

在这里插入图片描述

GLUE上的实验结果:
在这里插入图片描述

SQuAD实验结果:
在这里插入图片描述

RACE实验结果:

在这里插入图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值