RoBERTa相比BERT的改进

继BERT、XLNet之后,Facebook提出的RoBERTa(a Robustly Optimized BERT Pretraining Approach)。本篇文章主要总结下RoBERTa相比于BERT的改进。
RoBERTa在模型结构层面没有改变,改变的只是预训练的方法,具体是以下三点。
1.动态mask
RoBERTa把预训练的数据复制10份,每一份都随机选择15%的Tokens进行mask,也就是说,同样的一句话有10种不同的mask方式。然后每份数据都训练N/10个epoch。这就相当于在这N个epoch的训练中,每个序列的被mask的tokens是会变化的。

BERT随机选择15%的tokens替换,为了消除上下游任务的不匹配问题,对这15%的tokens进行:(1)80%的时间替换为[MASK] (2)10%的时间不变 (3)10%的时间替换为其他词

在这里插入图片描述

2.去掉NSP任务
RoBERTa去掉了NSP任务,使用FULL-SENTENCES训练方式。每次输入连续的多个句子,直到最大长度512。
BERT使用了NSP任务,对于输入的两个句子判断是否为连续的。训练数据的构成为,50%的样本是同一篇文章的上下句,50%的样本是不同文章的两句话。
3.更大的mini-batch,更多的数据
(1)RoBERTa使用的batch size为8k,BERT使用的batch size是256。
(2)RoBERTa使用的数据量为160G,BERT使用的数据量为13G
在这里插入图片描述

"""
bert mask的事例代码
"""
import random as rng
import collections
tokens = ["I","like","you","I","like","you","I","like","you","I","like",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值