XLNet:公平PK,BERT你已经被超过!
作者 | XLNet Team
译者 | 孙薇
责编 | Jane
出品 | AI科技大本营(ID: rgznai100)
【导语】几周前,XLNet 团队发布了新型预训练语言模型 XLNet,这个新模型在各项基准测试中都优于谷歌之前发布的BERT模型,其中模型 XLNet-Large 的数据量更是 BERT 模型的 10 倍左右。那 XLnet 和 BERT 到底要选谁?
这次 XLnet 团队进行了一次对比实验,为了确保对比的公正性,在对比实验中作者采用相同的环境和配置,相同的训练数据,并确保在 BERT 和 XLNet 两个模型的训练方法中,几乎每个超参数(hyperparameter)都是相同的,这些超参数都是由 BERT作者发布,并在BERT中使用的。即是说,这些超参数是为BERT模型设计选择的,很可能是针对BERT最优化的,而非XLNet。具体超参数设置如下(两个模型的超参数完全相同):
Batch-size: 256
训练步数:1M
优化器:Adam,学习率 1e-4,warmup 1万,线性衰减
训练语料库:Wikipedia + BooksCorpus,在处理Wikipedia时使用了与BERT repo相同的工具,但出于某种原因,我们的Wiki语料库仅有20亿单词,BERT使用了25亿单词,因此XLNet的训练数据略少于BERT。
模型结构参数:24层,1024个隐层,16 heads
微调(finetuning)超参数搜索空间
此外,作者还修改了一些数据相关的实现细节,以便与BERT模型进行一对一的比较。
在之前的实验中,预训练环节,未被mask的token无法看到分类token CLS和分隔token SEP,而现阶段的实现中可以看到了,与BERT模型保持一致。
在微调环节,与BERT一样,用“BERT格式”取代了普通的 XLNet格式,即使用[CLS, A, SEP, B, SEP] 取代了 [A, SEP, B, SEP, CLS]。
另外,我们考虑了BERT模型的三种变体,并报告了各个单独任务的最佳微调结果。三种变体如下:
模型1(Model-I):BERT 作者发布的原始BERT模型
模型2(Model-II):同样来自作者的中文全词覆盖模型
模型3(Model-III):由于考虑到下句预测(NSP)可能会影响表现,我们使用BERT已发布的代码针对没有NSP loss的新模型进行了预训练
注意:由于通过不同变体可以获得各个任务的最佳表现,以上设置也许会让BERT模型更占优势。
GLUE 和 SQuAD上的开发设置结果,及 RACE 上的测试设置结果如下(并未使用数据增强、集成或多任务学习):
不同模型对比。XLNet-Large (as in paper)所使用的训练数据更多一些,batch size也稍大。BERT模型,针对每个数据集我们只报告3个变体中微调最优的结果。
表格中有些观测结果非常有趣:
使用相同的数据,以及几乎完全相同的训练方法来训练时,针对所有数据集,XLNet都以相当的优势胜过了BERT模型。
投入10倍多数据(对比XLNet-Large-wikibooks与XLNet-Large)的性能提升,要小于在11个基准测试中将其中8个从BERT模型换成XLNet模型的性能提升。
在某些基准测试(比如CoLA和MRPC)中,使用较少数据训练的模型,其表现要优于使用较多数据训练的模型。
我们相信,从以上结果中我们也许可以得到一些结果了。
XLNet的性能提高了:观测结果1与我们早期基于基础模型的对比实验结果一致,证明在指定相同的训练条件时,XLNet模型要优于BERT模型。
XLNet-Large可以优化到更佳:观测结果2与观测结果3似乎表明,我们之前发布的XLNet-Large(使用更多数据训练)并没有充分利用数据规模。因此,我们会继续研究相关方法,正确扩展使用XLNet模型进行语言预训练的规模。根据目前有限的观测结果,我们推测以下训练细节可能发挥着重要作用:
数据相关:数据规模、数据来源、数据清洗、数据编码、数据格式化
优化相关:学习率(以及计划)、batch size、训练步骤数、优化器
重要的是:这些超参数可能彼此有高阶交互效果。
Facebook AI近期 GLUE 排行榜,可能也说明了训练细节的重要性。
总之,本实验将算法/模型的影响,与类似训练细节、大型计算及大数据这样的其他因素明确分离开来。根据以上结果,XLNet 团队认为:算法与模型至少是与其他因素同等重要的,它们很可能都是实现自然语言理解最终目标所必需的条件。
原文链接:
https://medium.com/@xlnet.team/a-fair-comparison-study-of-xlnet-and-bert-with-large-models-5a4257f59dc0
(*本文为 AI科技大本营编译文章,转载请联系微信 1092722531)
◆
精彩推荐
◆
“只讲技术,拒绝空谈!”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。目前,大会早鸟票抢购中~扫码购票,领先一步!
推荐阅读
阿里达摩院做AI这两年
如何用爬虫技术帮助孩子秒到心仪的幼儿园(基础篇)
Python三十年技术演变史
知识体系、算法题、教程、面经,这是一份超赞的AI资源列表
GitHub 第一!这位 60 后程序员火了!
特朗普要解禁华为?美七家科技公司联合要求恢复供货
Erlang 二十年,如何在编程语言中占据一席之地?
如今区块链在企业级应用中的尴尬, 只因没看懂这4大主链2大场景……
云计算将会让数据中心消失?

相关文章:

C/C++中switch用法的一种替换方式
在C/C中,switch语句是经常被用到的,当switch内的case语句较多时程序有时显得比较繁乱,此种情况下可以用另外一种实现方式替代switch。详细用法见例子: #include "stdafx.h"float AddFunc(float a, float b) {return (a …

My excellent 2018
又到一年年底时,除了感叹一句时间过得真快之外,也非常庆幸自己能够渡过了这精彩的一年。 工作 首先是工作上面的变化。自16年毕业以后就在招联消费金融有限公司上班,一直到今年的五月份。在招联的期间,有幸得到老大的赏识…

POJ 2955 Brackets (区间DP)
题目链接:http://poj.org/problem?id2955 BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 1977 Accepted: 1012Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regul…

从芯片到AI智能芯片,一文了解它的前世今生
作者 | 元宵大师,Python高级工程师,致力于推动人工智能、大数据分析在金融量化交易领域中的应用。欢迎大家关注我的个人公众号《元宵大师带你用Python量化交易》。责编 | 胡巍巍来源 | CSDN(ID:CSDNnews)经过长期的发展…

Windows7下OpenGL简单使用举例
1、 从http://www.opengl.org/resources/libraries/glut/glut_downloads.php下载glut相关头文件和库glutdlls37beta.zip ,(默认的windows机子上并没有glut头文件及相应的库,它主要用来打开窗口、开发和管理菜单,以及管理事件等),…

Snagit9-12注册码
SnagIt 9 注册码: AM5SC-8LWML-MVMWU-DTLGE-ERMBE SnagIt 10 注册码: 5HCAK-DEGMZ-EYABA-M4LCC-ACBE2 DFKDA-JZ5FC-TGLAA-CM5DM-MFEBD CMCFH-93DCD-SFZYC-K5KCM-C7CA7 SnagIt 11 注册码: 7CTCC-5WQCS-98AY8-V8F2M-76258 NCTCC-5WFCK-98A28-V8…

Strut2访问
访问HelloWorld应用的路径的设置 在struts2中,访问struts2中action的URL路径由两部份组成: 包的命名空间action的名称 例如: 访问本例子HelloWorldAction的URL路径为: /l6n/helloWorldAction (注意:完整路径为:http:/…

单v100 GPU,4小时搜索到一个鲁棒的网络结构
作者 | Slumbers,毕业于中山大学,深度学习工程师,主要方向是目标检测,语义分割,GAN责编 | JaneNAS最近也很火,正好看到了这篇论文,解读一下,这篇论文是基于DAG(directed …

关于pyecharts 地图显示添加数据的问题
echarts : 香港地区显示(人口密集的人口数目) http://echarts.baidu.com/examples/editor.html?cmap-HK series: [ { name: 香港18区人口密度, type: map, mapType: HK …

MMX Intrinsics各函数介绍
SIMD相关头文件包括: //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

大数据中台向AI中台演进是大势所趋?
来源 | 宜信技术学院(ID:CE_TECH)导读:自从阿里巴巴提出“中台”的概念之后,这个词汇就成为各领域企业关注的焦点,很多人在考虑建设自己的中台。然而,构建中台是否真有必要?是否所有的企业都要建…

WordPress标签
1、分类目录调用函数: <?php wp_list_cats();?> 2、调用页面函数: <?php wp_nav_menu( array( theme_location > ast-menu-primary, container > false ) ); ?> 3、转载于:https://blog.51cto.com/okowo/…

SSE3和SSSE3 Intrinsics各函数介绍
SIMD相关头文件包括: //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

kubernetes学习笔记之十三:基于calico的网络策略入门
一、.安装calico [rootk8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/canal/rbac.yaml clusterrole.rbac.authorization.k8s.io "calico" created clusterrole.rbac.authorization.k8s.i…
设计模式之抽象工厂模式(Abstract Factory)摘录
面向对象系统的分析和设计实际上追求的就是两点:高内聚(Cohesion)和低耦合(Coupling). 23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式包括:1、FactoryMethod(工厂方法模式);2、Abstract Factor…

grub设置密码的方法
grub设置密码的方法:一、grub设置明文口令的方法:修改/etc/grub.conf配置文件就可以了.[root RedHat ~] # vi /etc/grub.conf #注:此为链接文件,指向 /boot/grub/grub.conf#boot/dev/hdbdefault0timeout5splashimage(hd0,0)/gr…

web服务器(IIS)的操作步骤
转载于:https://blog.51cto.com/14118520/2335646

微软全球AI总监:Azure AI是OpenAI技术商业化变现唯一、排他性合作方
作者 | 夕颜出品 | AI科技大本营(ID:rgznai100)导读:7 月 24 日下午,微软在北京举行了媒体交流会。会上,微软全球副总裁,人工智能平台负责人 Eric Boyd 介绍了 Azure AI 近期的最新进展情况,并带…

NYOJ_16_矩形嵌套
有点小坑的严格单调递增序列,主要是排序那里坑了一下。 思路:矩形的嵌套? (a<c&&b<d)||(a<d&&b<c)? 不,只要在建点时保证a<b,条件就会少一个,直接a<c&&b<…

抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?
作者 | James Vincent等编译 | 夕颜出品 | AI科技大本营(ID:rgznai100)导读:在过去的一年中,AI 生成书面文字的能力大大提高。通过扫描庞大的文本数据集,机器学习软件可以生成从短篇小说到歌词的各种令人信服的样本。…
JS 总结之事件循环
众所周知,JavaScript 为了避免复杂,被设计成了单线程。 ⛅️ 任务 单线程意味着所有任务都需要按顺序执行,如果某个任务执行非常耗时,线程就会被阻断,后面的任务需要等上一个任务执行完毕才会进行。而大多数非常耗时的…
设计模式之工厂方法模式(Factory Method)摘录
23种GOF设计模式一般分为三大类:创建型模式、结构型模式、行为模式。 创建型模式包括:1、FactoryMethod(工厂方法模式);2、Abstract Factory(抽象工厂模式);3、Singleton(单例模式);4、Builder(建造者模式);…

SpanBERT:提出基于分词的预训练模型,多项任务性能超越现有模型!
作者 | Mandar Joshi, Danqi Chen, Yinhan Liu, Daniel S. Weld, Luke Zettlemoyer, Omer Levy译者 | Rachel责编 | Jane出品 | AI科技大本营(ID: rgznai100)【导读】本文提出了一个新的模型预训练方法 SpanBERT ,该方法能够更好地表示和预测…

XP与Windows 7(Win7)等操作系统Ghost备份
XP与Windows 7(Win7)等操作系统Ghost备份 2013年5月5日 前提:备份还原win7的话,此种Ghost备份方法只针对没有100MB保留分区的win7安装方式。去掉100MB的方法可以参考《Windows7(win7)系统重装与破解》&…

SSE4.1和SSE4.2 Intrinsics各函数介绍
SIMD相关头文件包括: //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #include <xmmintrin.h> //SSE(include mmintrin.h) #…

Nacos v0.7.0:对接CMDB,实现基于标签的服务发现能力
Nacos近期发布了0.7.0版本,该版本支持对接第三方CMDB获取CMDB数据、使用Selector机制来配置服务的路由类型、支持单机模式使用MySQL数据库、上线Node.js客户端,并修复了一些bug。对接CMDB实现就近访问在服务进行多机房或者多地域部署时,跨地域…

数十篇推荐系统论文被批无法复现:源码、数据集均缺失,性能难达预期
作者 | Maurizio Ferrari Dacrema译者 | 凯隐责编 | Jane出品 | AI科技大本营(ID: rgznai100)【导读】来自意大利米兰理工大学的 Maurizio 团队近日发表了一篇极具批判性的文章,剑指推荐系统领域的其他数十篇论文,指出这些论文中基…

crontab 总结
2019独角兽企业重金招聘Python工程师标准>>> 1.写法 每三天执行一次:0 0 */3 * * root command,注意:* * */3 * * root command 这样写是不对的。其它每N小时执行一次也类似 (后续补充) 转载于:https://…

ubuntu安装thrift
ubuntu环境下安装thrift-0.10.0 1.解压 2.编译安装 ./configure -with-cpp -with-boost -without-python -without-csharp -with-java -without-erlang -without-perl -with-php -without-php_extension -without-ruby -without-haskell -without-go make sudo make install3.是…

AES(Advanced Encryption Standard) Intrinsics各函数介绍
AES为高级加密标准,是较流行的一种密码算法。 SIMD相关头文件包括: //#include <ivec.h>//MMX //#include <fvec.h>//SSE(also include ivec.h) //#include <dvec.h>//SSE2(also include fvec.h)#include <mmintrin.h> //MMX #…