大BERT —— RoBERTa

【关于 大 Bert 模型系列算法】

大BERT模型总结
名称介绍动机预训练方法微调问题
BertTransformer的双向编码器多义词问题 && GPT 单向 TransformerTask 1:Masked LM && Task 2:Next Sentence Prediction直接利用 特定任务数据 微调1. [MASK]预训练和微调之间的不匹配2. Max Len 为 512
XLNet广义自回归预训练方法1. Bert 预训练和微调之间的不匹配 2. Bert 的 Max Len 为 512(1)Permutation Language Modeling【解决Bert 预训练和微调之间的不匹配】(2)Two-Stream Self-Attention for Target-Aware Representations【解决PLM出现的目标预测歧义】(3)XLNet将最先进的自回归模型Transformer-XL的思想整合到预训练中【解决 Bert 的 Max Len 为 512】直接利用 特定任务数据 微调问题
RoBERTaA Robustly Optimized BERT Pretraining Approach1. 确定方法的哪些方面贡献最大可能是具有挑战性的 2. 训练在计算上是昂贵的的,限制了可能完成的调整量1. 去掉下一句预测(NSP)任务 2. 动态掩码 3. 文本编码 4. 更大的数据量 5. 更大的batch_size直接利用 特定任务数据 微调问题
ELECTRA判别器 & 生成器1. 只有15%的输入上是会有loss利用一个基于MLM的Generator来替换example中的某些个token,然后丢给Discriminator来判别直接利用 特定任务数据 微调问题
ERNIE 1.0ERNIE: Enhanced Representation through Knowledge Integration随机【MASK】会让模型不能充分学习到语义信息1. Knowledge Integration 2. Dialogue Language Model(DLM)问题
ERNIE 2.0ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding之前的工作主要通过词或句子的共现信号,构建语言模型任务进行模型预训练。除了语言共现信息之外,语料中还包含词法、语法、语义等更多有价值的信息。1. 预训练连续学习 2. 更多的无监督预训练任务问题
ERNIE-TERNIE: Enhanced Language Representation with Informative Entities引入外部图谱1. 引入知识图谱 2. 异构信息融合 2. dAE问题
RoBERTa
  • 更大的模型参数量(论文提供的训练时间来看,模型使用 1024 块 V100 GPU 训练了 1 天的时间)
  • 更大bacth size。RoBERTa 在训练过程中使用了更大的bacth size。尝试过从 256 到 8000 不等的bacth size。
  • 更多的训练数据(包括:CC-NEWS 等在内的 160GB 纯文本。而最初的BERT使用16GB BookCorpus数据集和英语维基百科进行训练)
RoBERTa对BERT的改进
1. 动态掩码

BERT 依赖随机掩码和预测 token。原版的 BERT 实现在数据预处理期间执行一次掩码,得到一个静态掩码。 而 RoBERTa 使用了动态掩码:每次向模型输入一个序列时都会生成新的掩码模式。这样,在大量数据不断输入的过程中,模型会逐渐适应不同的掩码策略,学习不同的语言表征。

静态掩码:在数据预处理的时候,统计mask
动态掩码:将序列输入模型的时候,才进行mask

2. 去掉NSP任务
  • 动机:虽然是句子对输入,但其实一个句子不只有一句,而是文章里面的连续片段,可以包含多句。
  • 操作:采用去掉NSP而采用FULL - SENTENCES方式

RoBERTa去掉了NSP,而采用连续的抽取句子填充输入序列,直到最大长度512(可跨文章)。这种训练方式叫做(FULL - SENTENCES),而原来的BERT每次只输入两个句子。

3. 更大的数据量

在BERT采用的数据BOOKCORPUS + English WIKIPEDIA(共16G)基础上

  • 增加 CC-NEWS(76GB)
  • 增加 OPENWEBTEXT(38GB)
  • 增加 STORIES(31GB)
    也就是RoBERTa一共用了160GB语料进行预训练。
4. 更大的batch_size

BERT的batch_size是256,一共训练了1M步,实验证明,采用更大的batch_size以及训练更多步,可以提高性能。最后RoBERTa采用的batch_size是8K。

5. Byte-Pair Encoding 文本编码
  • BERT:采用的是基于character level的Byte-Pair Encoding(BPE)编码,词表大小是30K;
  • RoBERTa:文本编码。Byte-Pair Encoding(BPE)是字符级和词级别表征的混合,支持处理自然语言语料库中的众多常见词汇。原版的 BERT 实现使用字符级别的 BPE 词汇,大小为 30K,是在利用启发式分词规则对输入进行预处理之后学得的。Facebook 研究者没有采用这种方式,而是考虑用更大的 byte 级别 BPE 词汇表来训练 BERT,这一词汇表包含 50K 的 subword 单元,且没有对输入作任何额外的预处理或分词。

采用更大的BEP词汇表(50k)

《RoBERTa: A Robustly Optimized BERT Pretraining Approach》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值