NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

BERT、RoBERTa、DistilBERT 与 XLNet,我们到底该如何选择?

  • 2019-10-26
  • 本文字数:2069 字

    阅读完需:约 7 分钟

BERT、RoBERTa、DistilBERT与XLNet,我们到底该如何选择?


谷歌 BERT 以及其它基于 transformer 的模型近来席卷整个 NLP 领域,并在多项任务当中全面超越原有最强技术方案。最近,谷歌又对 BERT 进行了多项改进,迎来一系列相当强势的提升。在本文中,我们将共同探讨各类 BERT 相关模型的相似与不同,希望帮助大家结合自身需求找到最理想的选项。

BERT

BERT 是一种双向 transformer,旨在利用大量未标记文本数据进行预训练,从而学习并掌握某种语言表达形式。更重要的是,这种表达形式还可以针对特定机器学习任务进行进一步调优。虽然 BERT 在多项任务中都带来了超越以往最强 NLP 技术的实际表现,但其性能的提升,主要还是归功于双向 transformer、掩蔽语言模型与下一结构预测(Next Structure Prediction),外加谷歌本身强大的数据资源与计算能力。


最近,NLP 业界又出现了多种旨在改进 BERT 预测指标或计算速度的新方法,但却始终难以同时达成这两大提升目标。其中 XLNet 与 RoBERTa 推动性能更上一层楼,而 DistilBERT 则改善了推理速度。下表为各种方法之间的特性比对:



BERT 及近期几种相关方法的改进效果比对: GPU 时间为估算值(使用 4 个 TPU Pod 进行周期为 4 天的初始训练);使用大量小批次数据,在较长的训练周期内,各方法的学习速度、步长以及掩蔽过程都有所不同; 除特殊说明,相关数据来自原始论文。

XLNet

XLNet 是一种大型双向 transformer,采用的是一种经过改进的训练方法。这种训练方法能够利用规模更大的数据集与更强的计算能力在 20 项语言任务中获得优于 BERT 的预测指标。


为了改进训练方法,XLNet 还引入了转换语言建模,其中所有标记都按照随机顺序进行预测。这就与 BERT 的掩蔽语言模型形成了鲜明对比。具体来讲,BERT 只预测文本中的掩蔽部分(占比仅为 15%)。这种方法也颠覆了传统语言模型当中,所有标记皆按顺序进行预测的惯例。新的方法帮助模型掌握了双向关系,从而更好地处理单词之间的关联与衔接方式。此外该方法还采用 Transformer XL 作为基础架构,以便在非排序训练场景下同样带来良好的性能表现。


XLMet 已经利用超过 130 GB 文本数据配合 512 块 TPU 芯片进行了两天半的训练,这两项指标在规模上都超过了 BERT。

RoBERTa

RoBERTa 是 Facebook 公司推出的,经过健壮性优化的 BERT 改进方案。从本质上讲,RobERTa 在 BERT 的基础上进行了再次训练,并在改善训练方法之余将数据总量与计算资源提升了 10 倍。


为了优化训练过程,RoBERTa 移除了 BERT 预训练中的下一语句预测(NSP)任务,转而采用动态掩蔽以实现训练轮次中的掩蔽标记变更。此外,Facebook 还证实,更大批准的训练规模确实能够提升模型性能。


更重要的是,RoBERTa 利用 160 GB 文本进行预训练,其中包括 16 GB 文本语料库以及 BERT 所使用的英文版维基百科。其余部分则包括 CommonCrawl News 数据集(包含 6300 万篇文章,总计 76 GB)、Web 文本语料库(38 GB)以及来自 Common Crawl 的故事素材(31 GB)。这一素材组合在 1024 个 V100 Tesla 上运行了整整一天,共同为 RoBERTa 提供了坚实的预训练基础。


如此一来,RoBERTa 在 GLUE 基准测试当中顺利带来优于 BERT 与 XLNet 的性能结果:



RoBERTa 性能比较结果。


在另一方面,为了缩短 BERT 及相关模型的计算(训练、预测)时长,合乎逻辑的尝试自然是选择规模较小的网络以获得类似的性能。目前的剪枝、蒸馏与量化方法都能实现这种效果,但也都会在一定程度上降低预测性能。

DistilBERT

DistilBERT 对 BERT 的一套蒸馏(近似)版本进行学习,性能可达 BERT 的约 95%,但所使用的参数总量仅为 BERT 的一半。具体来讲,DistilBERT 放弃了其中的标记类型与池化层,因此总层数仅相当于谷歌 BERT 的一半。DistilBER 采用了蒸馏技术,即利用多个较小的神经网络共同构成大型神经网络。其中的原理在于,如果要训练一套大型神经网络,不妨先利用小型神经网络预估其完整的输出分布。这种方式有点类似于后验近似。正因为存在这样的相似性,DistilBERT 自然也用到了贝叶斯统计中用于后验近似的关键优化函数之一——Kulback Leiber 散度。


备注:在贝叶斯统计中,我们趋近的是真实后验值(来自数据);但在蒸馏中,我们只能趋近由大型网络学习得出的后验值。

那么,到底该用哪种方法?

如果大家希望获得更快的推理速度,并能够接受在预测精度方面的一点点妥协,那么 DistilBERT 应该是最合适的选项。但是,如果各位高度关注预测性能,那么 Facebook 的 RoBERTa 无疑才是理想方案。


从理论角度看,XLNet 基于排序的训练方法应该能够更好地处理依赖关系,并有望在长期运行中带来更好的性能表现。


然而谷歌 BERT 本身已经拥有相当强大的基准性能,因此如果各位没有特别的需求,那么继续使用原始 BERT 模型也是个好主意。

总结

可以看到,大多数性能提升方式(包括 BERT 自身)都专注于增加数据量、计算能力或者训练过程。虽然这些方法确有价值,但往往要求我们在计算与预测性能之间做出权衡。目前,我们真正需要探索的,显然是如何利用更少的数据与计算资源,帮助模型实现性能提升。


原文链接:


https://towardsdatascience.com/bert-roberta-distilbert-xlnet-which-one-to-use-3d5ab82ba5f8


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-10-26 14:336857

评论

发布
暂无评论
发现更多内容

详述 IntelliJ IDEA 遇到 Maven 项目 pom.xml 文件没有识别的解决方法

Rose

IntelliJ IDEA

企业如何对多个IT系统快速管理?谁能告诉一下!

行云管家

IT运维 安全运维 运维管理

Mac虚拟定位软件:AnyGo for Mac激活版

iMac小白

AnyGo下载 AnyGo激活版 AnyGo中文版

数字货币交易所开发软件搭建 安卓ios源码交付

西安链酷科技

源码 数字货币 dapp 加密算法

Lunar Pro for Mac(屏幕亮度调整软件) v6.2.7激活版

Rose

Mac破解软件 Lunar for Mac 显示器亮度调整

生产管理MES系统的功能和作用/开源MES

万界星空科技

数字化转型 生产管理系统 mes #开源 开源mes

大模型训练中Loss出现NaN的解决策略

百度开发者中心

大模型训练 大模型 LLM

利用LLM大模型和智能问答BI实现智能报表生成

百度开发者中心

人工智能 数据可视化 大模型 LLM

中文最新Infuse 激活安装包7.6.2

胖墩儿不胖y

Mac软件 多媒体播放器

Parallels Desktop 19虚拟机怎么安装Win系统?Arm Windows 11下载方法

Rose

windows 11 pd虚拟机 Mac虚拟机 Parallels Desktop 19

一文带你了解什么是“三渲二”?

Finovy Cloud

3D 建模 影视动漫

BES 在大规模向量数据库场景的探索和实践

Baidu AICLOUD

elasticsearch 向量检索 大模型

钱包开发:区块链钱包热钱包​加密货币开发公司集成服务

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Transformer与预训练语言模型的探索

百度开发者中心

人工智能 大模型 LLM

大模型在金融监管科技中的应用价值

百度开发者中心

人工智能 大模型 LLM模型

云资源信息安全就用行云管家!

行云管家

云计算 云安全 云资源

通过Python脚本支持OC代码重构实践(二):数据项提供模块接入数据通路的代码生成

百度Geek说

Python 重构 脚本 企业号10月PK榜

mac应用音量控制软件Sound Control for Mac激活版

iMac小白

sound control下载 sound control mac sound control激活版

CorelDRAW 2023 完美激活版下载

iMac小白

CorelDRAW 2023下载 CorelDRAW 2023破解版

摄影后期图像编辑推荐 Lightroom Classic 2023 中文激活

mac大玩家j

Mac软件 图像处理工具 图像编辑处理

Topaz Video AI 使用教程:去隔行和升级嘈杂的镜头

Rose

mac软件下载 Topaz Video AI破解版 视频增强软件 Topaz Video AI 教程

SecureCRT常见问题|不允许从系统上的所有字体中进行选择

Rose

SSH SecureCRT激活 SecureCRT常见问题 SecureCRT不能选择字体 SecureCRT Mac破解版

Cinema 4D 2023常见问题:c4d 2023看不到新的加厚和对称对象怎么办?

Rose

c4d 2023 加厚和对称对象 Cinema 4D中文破解

开发第一个flutter应用时需要注意什么

Onegun

flutter 前端框架

API管理平台搭建过程问题总结

RestCloud

API ipaas API 安全

PlistEdit Pro for Mac(Plist编辑器) 1.9.7直装激活版

mac

苹果mac Windows软件 PlistEdit Pro Plist文件编辑软件

BERT、RoBERTa、DistilBERT与XLNet,我们到底该如何选择?_语言 & 开发_Suleiman Khan_InfoQ精选文章