论文阅读——RoBERTa A Robustly Optimized BERT Pretraining Approach
RoBERTa A Robustly Optimized BERT Pretraining Approach
Abstract
Devlin等人在 BERT Pre-training of Deep Bidirectional Transformers for Language Understanding 提出的BERT预训练研究虽然已达到最优结果,但
- 训练成本比较高,很难彻底得到训练
- 训练的时候通常是在不同大小的私有数据集上进行训练的,很难判断具体哪个部分对结果有促进作用
所以,作者重新衡量了关键参数和数据集大小的影响,并提出了改进BERT的方法,即RoBERTa
1 Introduction
本文贡献:
出了一套重要的BERT设计选择和培训策略,并引入了能够提高下游任务绩效的备选方案
使用了一个新的数据集,CCNEWS,并确认使用更多的数据进行预训练进一步提高了下游任务的性能
训练改进表明,在正确的设计选择下,
masked language model
的预训练可以与所有其他最近发表的方法相媲美
2 Background
BERT
预训练有两个目标:
Masked Language Model (MLM)
15%
token
进行替换,其中80%被替换为[MASK]
替换,10%保持不变,10%被随机选择的token
替代。Next Sentence Prediction (NSP)
用于预测两句话在原文中是否相邻。正例和负例的采样概率相等。NSP目标旨在提高下游任务的性能
BERT的优化算法中,Adam参数:β1=0.9,β2=0.999,ϵ=le−6β_1=0.9,β_2=0.999,\epsilon=le-6β1=0.9,β2=0.999,ϵ=le−6,L2L_2L2重量衰减0.01
3 Experimental Setup
GPU
数据集介绍
各大榜单介绍
4 Training Procedure Analysis
4.1 Static vs. Dynamic Masking
静态Masking
对每一个序列随机选择15%的
Tokens
替换成[MASK]
,为了消除与下游任务的不匹配,还对这15%的Tokens
进行:(1)80%的时间替换成
[MASK]
;(2)10%的时间不变;
(3)10%的时间替换成其他词。
但整个训练过程,这15%的
Tokens
一旦被选择就不再改变,也就是说从一开始随机选择了这15%的Tokens
,之后的N个epoch里都不再改变了。这就叫做静态Masking。动态Masking
一开始把预训练的数据复制10份,每一份都随机选择15%的
Tokens
进行Masking,也就是说,同样的一句话有10种不同的mask方式。然后一份数据(同一种mask方式)都被训练了N/10个epoch(同一种mask的数据被训练了N/10次),相当于一共N个epoch,且每个序列被mask的Tokens
是会变化的。这就叫做动态Masking。
作者在只将静态Masking改成动态Masking,其他参数不变的情况下做了实验,动态Masking确实能提高性能。
4.2 Model Input Format and Next Sentence Prediction(with NSP and without NSP)
**原始BERT:**为了捕捉句子之间的关系,使用了NSP任务进行预训练,就是输入一对句子A和B,判断这两个句子是否是连续的。在训练的数据中,50%的B是A的下一个句子,50%的B是随机抽取的(假的)。
RoBERTa:去除了NSP,而是每次输入连续的多个句子,直到最大长度512(可以跨文章)。这种训练方式叫做FULL-SENTENCES,而原来的BERT每次只输入两个句子。
作者比较了四种方式:
- SEGMENT-PAIR+NSP:这遵循BERT中使用的原始输入格式,并带有NSP损失。每个输入都有一对段,每个段可以包含多个自然句子,但总组合长度必须小于512个标记。
- SENTENCE-PAIR+NSP:每个输入包含一对自然句子,从一个文档的连续部分或从单独的文档中采样。由于这些输入明显少于512个令牌,我们增加批处理大小,以便令牌的总数保持类似于SEGMENT-PAIR+NSP。我们保留NSP损失。
- FULL-SENTENCES
- DOC-SENTENCES:输入的构造类似于 FULL-SENTENCES,除了它们不能跨越文档边界。在文档末尾附近采样的输入可能小于512个令牌,因此在这些情况下,我们动态地增加批处理大小,以获得与 FULL-SENTENCES 类似的令牌总数。我们消除了NSP损失。
实验表明在MNLI这种推断句子关系的任务上,RoBERTa也能有更好性能。
4.3 Training with large batches
原始的 BERTbaseBERT_{base}BERTbase: batch_size=256,训练步数steps=1M。
RoBERTa: batch_size 为 8k。为什么要用更大的batch size呢?作者借鉴了在机器翻译中,用更大的batch size配合更大学习率能提升模型优化速率 和 模型性能 的现象,并且也用实验证明了确实BERT还能用更大的batch_size。
4.4 Text Encoding
Byte-Pair Encoding (BPE):BPE依赖于子词单元,而不是全词,子词单元是通过对训练语料库进行统计分析提取的。**主要通过wordpiece技术将word分解为更为细粒度的片段。RoBERTa采用BPE,获得了超过5w个token(BERT只有3w)。**Radford等人(2019)引入了一个聪明的BPE实现,它使用字节而不是unicode字符作为基本子字单元。使用字节可以学习一个中等大小(50K units)的子单词词汇表(原始BERT使用30k),它仍然可以编码任何输入文本,而不会引入任何“un-known”标记。
5 RoBERTa(实验结果)
借鉴XLNet用了比BERT多10倍的数据,RoBERTa也用了更多的数据,性能确实有所提升,但相应的也需要更长的训练时间。
RoBERTa参与了SQuAD、RACE和GLUE的打榜,并与当时最好的模型XLNet进行比对,结果如下:
GLUE Results
SQuAD Results
RACE Results
论文阅读——RoBERTa A Robustly Optimized BERT Pretraining Approach相关推荐
- 《论文阅读》RoBERTa: A Robustly Optimized BERT Pretraining Approach
<论文阅读>RoBERTa: A Robustly Optimized BERT Pretraining Approach 简介 想法来源 数据集的选择 创新点 总结 期刊:arxiv 2 ...
- 【预训练语言模型】RoBERTa: A Robustly Optimized BERT Pretraining Approach
·阅读摘要: 本文在BERT模型的基础上进行了一些改进,提出了RoBERTa模型,并证明了RoBERTa比BERT的效果更好一些. ·参考文献: [1] RoBERTa: A Robustly ...
- RoBERTa: A Robustly Optimized BERT Pretraining Approach
1 简介 本文根据2019年<RoBERTa: A Robustly Optimized BERT Pretraining Approach>翻译总结的. RoBERTa:稳健优化BERT ...
- RoBERTa: A Robustly Optimized BERT Pretraining Approach(通篇翻译)
RoBERTa:一种稳健优化的BERT预训练方法 Yinhan Liu ∗ § Myle Ott ∗§ Naman Goyal ∗§ Jingfei Du ∗§ Mandar Joshi † Danq ...
- RoBERTa: A Robustly Optimized BERT Pretraining Approach
Abstract Dev 目录 Abstract 1 Introduction 本文贡献: lin等人在 BERT Pre-training of Deep Bidirectional Transfo ...
- RoBERTa:A Robustly Optimized BERT Pretraining Approach(2019-7-26)
模型概述 RoBERTa可以看作是BERT的改进版,从模型结构上讲,相比BERT,RoBERTa基本没有什么创新,它更像是关于BERT在预训练方面进一步的探索.其改进了BERT很多的预训练策略,其结果 ...
- 【论文阅读笔记】BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translati
BART:去噪序列到序列的预训练自然语言生成.翻译和理解 动力 自监督方法在广泛的NLP任务中取得了显著的成功.最成功的方法是masked language model的变体去噪的自编码器.训练去噪的 ...
- 论文阅读Unsupervised Corpus Aware Language Model Pre-training for Dense Passage Retrieval
密集文本检索的无监督语料库感知语言模型预训练 ACL2022 论文链接 摘要 最近的研究证明了使用微调语言模型(LM)进行密集检索的有效性.然而,密集检索器很难训练,通常需要经过精心设计的微调管道才能 ...
- Roberta 充分训练的bert模型
RoBERTa是在论文<RoBERTa: A Robustly Optimized BERT Pretraining Approach>中被提出的.此方法属于BERT的强化版本,也是BER ...
最新文章
- python如何读取excel数据-python怎么读取excel中的数值
- NBU备份之一 Windows操作系统BMR的配置
- Eclipse、NetBeans、IntelliJ集成开发工具 Java IDE
- ese如何实现支付 nfc_海运费如何实现快捷支付?答案有了
- mysql jdbc字符编码_java中jdbc/sql出现编码问题
- 04737 c++ 自学考试2019版 第四章课后程序设计题1
- python交互模式下tab键自动补全
- linux下面实现执行rm命令,显示do not use rm command
- 再学 GDI+[22]: TGPLinearGradientBrush - 之一: TLinearGradientMode
- 7个等级 容灾等级_在餐厅吃饭竟是7级风险!最新社交风险等级出炉!
- OBS---环境配置之#include D3DX10.h报错
- angr进阶(2)C++程序的处理
- 宋宝华:深入理解cache对写好代码至关重要
- 使用Word批量删除换行和空白行
- Android中使用SVG矢量图打造多边形图形框架
- hotmail手机端_hotmail邮箱官方版|hotmail邮箱手机版下载_v7.8.2_9ht安卓下载
- Android 时间格式化
- 一篇博客让你横扫数电常考所有集成电路芯片(已更新50%持续更新)
- text/css什麼意思
- Android 自定义相机 Camera 图片方向问题