BERT重夺多项测试第一名,改进之后性能追上XLNet,现已开源预训练模型

晓查 发自 凹非寺
量子位 出品 | 公众号 QbitAI

640?wx_fmt=png

NLP领域今年的竞争真可谓激烈。短短一个多月的时间,BERT又重新杀回GLUE测试排行榜第一名。

今年6月,谷歌和CMU提出的NLP模型XLNet在20多项测试中排行第一,性能全面超越BERT。

然而就在XLNet“霸榜”一个月后,Facebook把BERT改进了一番,进一步“榨干”了BERT的性能,帮助它在GLUE和RACE测试中再次取得最优成绩,算是扳回一城。

这个改进版的BERT叫做RoBERTa,全名是Robustly Optimized BERT approach

Facebook不仅发布了文章,还迅速开源了预训练模型。在高于PyTorch 1.1版本中,你甚至可以使用官方的torch.hub直接导入模型。

import torch
roberta = torch.hub.load(‘pytorch/fairseq’, ‘roberta.large’)
roberta.eval() # disable dropout (or leave in train mode to finetune)

测试得分

RoBERTa在9个GLUE中的4个基准任务测试实现了最先进的结果,总分数为88.5,与XLNet相同的整体GLUE任务性能,双方互有胜负。

640?wx_fmt=png

在RACE测试中,RoBERTa已经全面超越XLNet。

640?wx_fmt=png

与BERT的差别

Facebook的研究人员发现超参数选择对BERT的最终结果有重大影响,因此他们重新研究了BERT的预训练模型,测量了不同超参数和训练集大小的影响,结果发现BERT存在明显的训练不足。

经过调整后,BERT可以达到或超过其后发布的每个模型的性能,这些结果突出了之前被忽视的设计选择的重要性,

RoBERTa与BERT的不同之处在于,它依赖于预训练大量数据和改变训练数据的mask模式,而且RoBERTa删除了下一句预测(NSP)。

RoBERTa的修改很简单,包括:

  1. 更长时间的训练时间,更大的batch,更多的数据;

  2. 删除下一句预测(NSP)目标;

  3. 在较长序列上进行训练;

  4. 动态改变用于训练数据的mask模式。

RoBERTa的预训练时间要比BERT长得多,Facebook将预训练步数从100K增加到300K再增加到500K。当步数达到300K时,其性能已经超过了XLNet。

640?wx_fmt=png

除了在模型上的调整,RoBERTa的训练数据集也比BERT大很多。

原始的BERT使用了13GB大小的数据集,内容来自英文维基百科和BookCorpus。但RoBERTa使用了包含6300万条英文新闻的160GB数据集。

最后,RoBERTa和BERT一样烧钱,研究人员使用1024Nvidia V100 GPU训练了大约一天时间。而BERT需要使用1024个谷歌TPU训练76分钟。

论文地址:
https://arxiv.org/abs/1907.11692

GitHub:
https://github.com/pytorch/fairseq/tree/master/examples/roberta

—  —

加入社群 | 与优秀的人交流

640?wx_fmt=png

小程序 | 全类别AI学习教程

640?wx_fmt=jpeg


640?wx_fmt=jpeg

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「好看」吧 !



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值