【NLP】 RoBERTa: A Robustly Optimized BERT Pretraining Approach

1. Dynamic Masking🌺

RoBERTa 是对 BERT 的优化提升,改进之一就是在 Masked Language Model (MLM) 任务中,使用 dynamic masking 代替原先的 static masking

BERT :随机15%的 token 进行 mask,这个过程在数据预处理阶段进行的,而非模型训练阶段。每个样本只会进行一次随机 mask,每个 epoch 都是相同的。

RoBERTa:复制同一语句10次,对每一句进行随机15%的 token 进行 mask,假设训练40轮,,每个训练 sentence 都有着相同的 mask 四次。当预训练轮数较大或数据量较大时,动态掩码方法能够提高数据的复用效率。

2. Without NSP💐

在原始的 BERT 的预训练过程中,会将两个文本片段拼接在一起作为输入,并通过 Next Sentence Prediction(NSP) 任务预测这两段文本是否构成“下一个句子”关系。
在论文中,作者对比了4组实验结果,发现去掉 NSP,实验结果反而更好。

3. 更多的预训练数据集🍀

RoBERTa 中,进一步将预训练数据的规模扩展至160GB,是 BERT 的10倍。

4. 更大的 Batch Size 及更多的 Steps🍂

RoBERTa 采用了 8K 的批次大小,并且进一步将训练步长加大至 500K,使用更大的批次能够有效减少训练时长,当固定批次大小并增加训练步数后,也能得到更好的实验结果,如下图所示。

5. 更大的词表🌼

RoBERTa 采用了更大的词表,使用 byte-level BPE(BPE: Byte Pair Encoding)作为 tokenizer。 RoBERTa 的词表大小是 50265,比 BERT 的 30522 更大。这是为了更好地处理英语语言的多样性和复杂性。

byte-level BPE 则是一种 subword tokenization 方法,通过将单词切分成较小的子单元来帮助模型更好地理解单词。与传统的 BPE 不同,byte-level BPE 考虑了字符级别的信息,因此可以更好地处理一些语言中常见的字符序列,例如单词内部的连字符或下划线等。

在原始 BERT 中,采用一个30K大小的 WordPiece 词表。这种词表的一个弊端是,如果输入文本无法通过词表中的 WordPiece 子词进行拼接组合,则会映射到 “unknown” 这种未登录词标识。

RoBERTa 采用 SentencePiece 这种字节级别 byte-level 的 BPE 词表的好处是能够编码任意输入文本,因此不会出现未登录词的情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉淀体育生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值