雷锋网按: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进行了优化。具体来说,我们仔细控制以下超参数:

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

在我们之前的实现中,未屏蔽的令牌在预训练中看不到CLS和SEP。在我们当前的实现中,未屏蔽的令牌确实看到了CLS和SEP,这与BERT一致。

在微调期间,在BERT之后,我们使用“BERT格式”[CLS,A,SEP,B,SEP]而不是[A,SEP,B,SEP,CLS]。

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

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

二、对比结果

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

resnet学习的心得体会(XLNet团队公平对比BERT才会知道差距)(1)

不同模型的比较。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的论文。

原文链接:https://medium.com/@xlnet.team/a-fair-comparison-study-of-xlnet-and-bert-with-large-models-5a4257f59dc0

雷锋网报道

,