前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XLNet团队:公平对比,BERT才会知道差距!

XLNet团队:公平对比,BERT才会知道差距!

作者头像
AI科技评论
发布2019-07-30 15:23:59
5370
发布2019-07-30 15:23:59
举报
文章被收录于专栏:AI科技评论AI科技评论

我们认为使用大型模型架构和相同数据在XLNet 和BERT之间进行公平的比较研究具有重要的科学价值。

XLNet发布之后,在GLUE基准和多个NLP任务中都超越BERT。但几天前,Facebook研究人员表示BERT如果有更大的数据,就会重回排行榜第一名。之所以有人对这种超越不服,原因在于BERT在预训练中只使用了13GB的文本,而XLNet却使用了126GB。

那么如果使用相同数据集进行预训练,结果会怎样呢?

XLNet团队为了回应质疑,再次以更公平的方式(相同的配置、相同的数据)将XLNet与BERT进行对比。

如下——

几周前,我们发布了新模型XLNet,它在各种基准测试中优于BERT。与BERT相比,我们最大的模型相比BERT在训练中使用了大约10倍的数据。为了公平比较,我们在比较时使用了基础模型架构以及相同的训练数据。

但我们在学术界和工业界的朋友对XLNet-Large与BERT在相同训练数据下的比较产生较大的兴趣。

当然,我们自己也好奇当使用额外数据情况下会有什么收益。我们所需要做的就是将我们所拥有的所有数据都投入到我们初始版本的训练中。

我们认为使用大型模型架构和相同数据在XLNet 和BERT之间进行公平的比较研究具有重要的科学价值。

一、相同配置

在本研究中,我们确保BERT和XLNet训练中几乎所有可能的超参数都相同。这些超参数都是有BERT作者发布的。换句话说,选择这些超参的目的是为了优化BERT,而不是XLNet。具体来讲,我们仔细控制了以下的超参:

用于BERT并由BERT作者发布。换句话说,它们被选择并且可能针对BERT而不是XLNet进行了优化。具体来说,我们仔细控制以下超参数:

  • 相同的批量大小:256
  • 相同数量的培训步数:1M
  • 相同的优化器:Adam,学习率1e-4,预热10K,线性衰减
  • 相同的培训语料库:Wikipedia + BooksCorpus。我们使用相同的工具来处理维基百科,如BERT repo中所描述的。但由于某些未知原因,我们的Wikipedia语料库只有2B 的词,而BERT使用的是2.5B 的词。因此,XLNet接受了略微少的数据训练。
  • 相同型号的架构参数:24层,1024个隐藏大小,16个heads
  • 相同的微调超参数搜索空间

此外,我们修改了一些与数据相关的实现细节,以便与BERT进行一对一的比较。

  • 在我们之前的实现中,未屏蔽的令牌在预训练中看不到CLS和SEP。在我们当前的实现中,未屏蔽的令牌确实看到了CLS和SEP,这与BERT一致。
  • 在微调期间,在BERT之后,我们使用“BERT格式”[CLS,A,SEP,B,SEP]而不是[A,SEP,B,SEP,CLS]。

此外,我们考虑BERT的三种变体,并报告每个单独任务的最佳微调结果。三种变体如下:

  • Model-I:作者发布的原始BERT
  • Model-II:BERT具有全字掩蔽,也由作者发布
  • Model-III:由于我们发现下一句话预测(NSP)可能会影响性能,我们使用已发布的BERT代码预先训练一个新模型,而不会造成NSP损失

请注意,此设置可能会为BERT带来一些优势,因为可以通过不同的变体获得单个任务的最佳性能。

二、对比结果

在GLUE和SQuAD上的开发设置结果和在RACE上的测试集结果如下(没有使用数据扩充、集合或多任务学习):

不同模型的比较。XLNet-Large经过了更多数据和更大批量的训练。对于BERT,我们报告了每个数据集的3个变体的最佳微调结果。

三、分析

表中有一些有趣的结果:

  1. 使用几乎相同的训练配方,训练相同的数据,XLNet在所有数据集上都以相当大的优势超越BERT。
  2. 11个基准中有8个,在10倍以上数据(比较XLNet-Large-wikibooks和XLNet-Large)的训练收益小于从BERT切换到XLNet的收益。
  3. 在一些基准测试中,例如CoLA和MRPC,在更多数据上训练模型的性能甚至低于在较少数据上训练模型的性能。

我们相信我们从上述结果中获得了宝贵的经验。

XLNet提高了性能。观察#1与我们早期在基础模型上的消融研究一致,表明在相同的训练条件下XLNet优于BERT。

XLNet-Large可以更好地进行优化。观察#2和#3似乎表明我们之前发布的XLNet-Large(经过更多数据培训)没有充分利用数据规模。因此,我们将继续研究如何正确扩展XLNet的语言预训练。根据我们目前的(有限的)观察结果,我们推测以下培训细节可能会发挥重要作用:

  • 数据相关:数据规模、数据源、数据清理、数据编码、数据格式化
  • 优化相关:学习率(和时间表)、批量大小、培训步骤数、优化器
  • 重要的是,这些超参数可能彼此具有高阶交互。

Facebook AI最近进入GLUE排行榜似乎也暗示了培训细节的重要性。

总之,这项研究更明确地将算法/模型的影响与其他因素(如训练细节、大型计算和大数据)分离开来。根据结果,我们认为算法和模型至少与其他因素一样重要。它们很可能都是实现自然语言理解最终目标所必需的。我们将很快用上述新结果更新XLNet的论文。

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档