谷歌更强 NLP 模型 XLNet 开源:20 项任务全面碾压 BERT!

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: 并在 18 项任务上取得了当前最佳效果!

雷锋网(公众号:雷锋网) AI 科技评论按:去年 11 月份,谷歌研究团队在 GitHub 上发布了万众期待的 BERT,它不仅在 11 项 NLP 测试中刷新了最高成绩,甚至还表现出全面超越人类的惊人结果。但 BERT 带来的震撼还未平息,今日又一个令众多 NLPer 兴奋的消息发布: CMU 与谷歌大脑提出的全新 XLNet 在 20 个任务上超过了 BERT 的表现,并在 18 个任务上取得了当前最佳效果!而更令人激动的是,目前 XLNet 已经开放了训练代码和大型预训练模型。雷锋网 AI 科技评论将其具体内容整理如下。

TB1XvCNdBCw3KVjSZR0XXbcUpXa.png

XLNet 信息发布

BERT 与 XLNet 的关系

与基于自回归语言建模的预训练处理方法相比,基于自编码的预训练处理方法(比如 BERT)具有良好的双向上下文建模能力。然而,由于依赖于使用掩码破坏输入,BERT 忽略了掩码位置之间的依赖关系,并出现了预训练-微调( pretrain-finetune) 差异。

XLNet 则是基于 BERT 的优缺点,提出的一种泛化自回归预训练方法。它通过最大化因子分解顺序所有排列的期望似然来实现双向上下文的学习;通过自回归公式克服了 BERT 的局限性,并将来自 Transformer-XL(最先进的自回归模型) 的思想集成到预训练中,在长文本表示的语言任务中表现出了优异的性能。

XLNet 诞生背景

首先,我们要理解两个概念:自回归 (AR) 语言建模和自编码 (AE)。

无监督表示学习在自然语言处理领域非常成功。通常,这些方法首先在大规模无标记文本语料库上对神经网络进行预训练,然后对下游任务的模型或表示进行微调。在这一共同的高层次思想下,不同的无监督预训练目标在相关文献中得到了探索。其中,自回归语言建模和自编码是两个最成功的预训练目标。

AR 语言建模是利用自回归模型估计文本语料库的概率分布。具体来说,给定一个文本序列 x = (x1, … ,xT),AR 语言模型将这种可能性分解为前向乘积或后向乘积。一个参数模型 (如神经网络) 被训练来对每个条件分布建模。由于 AR 语言模型仅被训练为编码单向上下文 (向前或向后),因此它在建模深层双向上下文时并没有产生效果。相反的是下游语言理解任务,通常需要双向上下文信息。这导致了 AR 语言建模和有效的预训练之间的差距。

TB18YiGdCSD3KVjSZFKXXb10VXa.png

给定相同输入序列 x 但因子分解顺序不同的情况下,预测 x3 的置换语言建模目标的说明

相比之下,基于 AE 的预训练不执行显式密度估计,而是旨在从输入重构原始数据。而一个著名的例子就是 BERT,它采用了最先进的预训练方法。给定输入 token 序列,用一个特殊符号 [MASK] 替换其中的特定部分,并且训练模型从损坏的版本中恢复原 token。

由于密度估计不是目标的一部分,BERT 可以利用双向上下文进行重建。直接的好处就是这消除了 AR 语言建模中的双向信息差距,从而提高了性能。然而,BERT 在预训练使用的 [MASK] 等人工符号实际数据中并不存在,导致了预训练的网络差距。此外,由于预测的 token 在输入中被重新掩盖,BERT 无法像 AR 语言建模一样使用乘积规则对联合概率进行建模。

因此,针对现有语言预训练目标的优缺点,CMU 与谷歌大脑提出了将 AR 和 AE 的优点充分结合的泛化自回归预训练模型 XLNet。

XLNet 详解

首先,XLNet 不使用传统 AR 模型中固定的前向或后向因式分解顺序,而是最大化所有可能因式分解顺序的期望对数似然。因为是对因式分解顺序的排列操作,每个位置的上下文都可以由来自左右两边的 token 组成。在期望中,每个位置都要学会利用来自所有位置的上下文信息,即捕获双向上下文。

其次,作为一种泛化的 AR 语言模型,XLNet 不依赖于残余数据。因此,XLNet 不受 BERT 的预训练-微调差异的影响。同时,自回归目标也提供了一种自然的方法来使用乘积规则对预测 token 的联合概率执行因式分解,消除了 BERT 中做出的独立性假设。

除了一个新的预训练目标,XLNet 还改进了预训练的架构设计。

受 AR 语言建模最新进展的启发,XLNet 将 Transformer-XL 的分段重复机制和相对编码方案集成到预训练中,在较长文本序列的任务中提高了性能。需要注意的是,将 Transformer(-XL) 架构简单应用于基于排列的语言建模是不起作用的,因为分解顺序是任意的且目标是模糊的。作为一种解决方案,研究者们提出重新参数化 Transformer(-XL) 网络,以消除歧义。

实验结果

截至 2019 年 6 月 19 日,XLNet 在 20 个任务上超过了 BERT 的表现,并在 18 个任务上取得了当前最佳效果(state-of-the-art),包括机器问答、自然语言推断、情感分析和文档排序。

以下是 XLNet-Large 和 Bert-Large 的一些比较:

TB1S25LdBKw3KVjSZFOXXarDVXa.png

阅读理解任务

TB16xSLdBCw3KVjSZFlXXcJkFXa.png

文本分类任务

TB1R1OEdwaH3KVjSZFjXXcFWpXa.png

ClueWeb09-B 文档排名任务

在最终的 20 项任务中,XLNet 的表现优于 BERT,并且在 18 项任务中取得了最先进的结果。

发布模型

截至目前,已提供以下模式:

XLNet-Large, Cased:24-layer, 1024-hidden, 16-heads,

每个.zip 文件包含三个项:

TensorFlow checkpoint(xlnet_model.ckpt),包含预先训练的权重。

SentencePiece 模型 (spiece.model),用于 (de) 标记化。

一个配置文件 (xlnet_config.json),指定模型的超参数。

未来释放计划

后续开发者还计划在不同的环境下继续发布更多的训练模型,包括:

基本模型——将在 2019 年 6 月底发布一个 XLNet-Base。

Uncased 模型——目前,Cased XLNet-Large 比 Uncased XLNet-Large 性能更好。开发者仍在观察与研究,当得出结论时,他们将马上发布 Uncased 模型。(预计时间不会太久)

在维基百科上进行微调的预训练模型,这可用于维基百科文本的任务,如 SQuAD 和 HotpotQA。

其他超参数配置的预训练模型,可以用于特定的下游任务。

与新技术关联的预训练模型。

相关链接

论文地址

https://arxiv.org/pdf/1906.08237.pdf

预训练模型及代码地址

https://github.com/zihangdai/xlnet

雷锋网 AI 科技评论

目录
相关文章
|
2月前
|
数据采集 自然语言处理 机器人
如何使用生成器来提高自然语言处理任务的性能?
如何使用生成器来提高自然语言处理任务的性能?
|
9天前
|
人工智能 自然语言处理 前端开发
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
Director 是一个构建视频智能体的 AI 框架,用户可以通过自然语言命令执行复杂的视频任务,如搜索、编辑、合成和生成视频内容。该框架基于 VideoDB 的“视频即数据”基础设施,集成了多个预构建的视频代理和 AI API,支持高度定制化,适用于开发者和创作者。
69 9
Director:构建视频智能体的 AI 框架,用自然语言执行搜索、编辑、合成和生成等复杂视频任务
|
2月前
|
自然语言处理 PyTorch 算法框架/工具
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
【10月更文挑战第1天】随着深度学习技术的进步,预训练模型已成为自然语言处理(NLP)领域的常见实践。这些模型通过大规模数据集训练获得通用语言表示,但需进一步微调以适应特定任务。本文通过简化流程和示例代码,介绍了如何选择预训练模型(如BERT),并利用Python库(如Transformers和PyTorch)进行微调。文章详细说明了数据准备、模型初始化、损失函数定义及训练循环等关键步骤,并提供了评估模型性能的方法。希望本文能帮助读者更好地理解和实现模型微调。
87 2
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
|
2月前
|
机器学习/深度学习 存储 自然语言处理
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
165 4
|
2月前
|
机器学习/深度学习 自然语言处理 知识图谱
|
2月前
|
机器学习/深度学习 自然语言处理 算法
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
192 0
|
3月前
|
搜索推荐 算法
模型小,还高效!港大最新推荐系统EasyRec:零样本文本推荐能力超越OpenAI、Bert
【9月更文挑战第21天】香港大学研究者开发了一种名为EasyRec的新推荐系统,利用语言模型的强大文本理解和生成能力,解决了传统推荐算法在零样本学习场景中的局限。EasyRec通过文本-行为对齐框架,结合对比学习和协同语言模型调优,提升了推荐准确性。实验表明,EasyRec在多个真实世界数据集上的表现优于现有模型,但其性能依赖高质量文本数据且计算复杂度较高。论文详见:http://arxiv.org/abs/2408.08821
78 7
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
|
4月前
|
机器学习/深度学习 存储 自然语言处理
【NLP-新闻文本分类】3 Bert模型的对抗训练
详细介绍了使用BERT模型进行新闻文本分类的过程,包括数据集预处理、使用预处理数据训练BERT语料库、加载语料库和词典后用原始数据训练BERT模型,以及模型测试。
79 1
|
4月前
|
算法 异构计算
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决

热门文章

最新文章

下一篇
DataWorks