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

简介: 并在 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 科技评论

目录
相关文章
|
25天前
|
自然语言处理 索引
大模型开发: 解释自然语言处理(NLP)中的词嵌入。
**词嵌入技术在NLP中将文本转为数值表示,捕获词汇的语义和语法关系。过程包括:词汇索引、训练嵌入矩阵(如Word2Vec、GloVe、BERT)、文本向量化及向量输入到NLP模型(如情感分析、命名实体识别)。词嵌入是连接文本与机器理解的关键桥梁。**
25 2
|
3月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图 REV1
Bert Pytorch 源码分析:五、模型架构简图 REV1
|
3月前
|
机器学习/深度学习 人工智能 开发工具
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
Hugging Face是一个机器学习(ML)和数据科学平台和社区,帮助用户构建、部署和训练机器学习模型。它提供基础设施,用于在实时应用中演示、运行和部署人工智能(AI)。用户还可以浏览其他用户上传的模型和数据集。Hugging Face通常被称为机器学习界的GitHub,因为它让开发人员公开分享和测试他们所训练的模型。 本次分享如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face。
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
|
3月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图
Bert Pytorch 源码分析:五、模型架构简图
|
3月前
|
人工智能 自然语言处理 运维
NLP国内外大模型汇总列表[文心一言、智谱、百川、星火、通义千问、盘古等等]
NLP国内外大模型汇总列表[文心一言、智谱、百川、星火、通义千问、盘古等等]
NLP国内外大模型汇总列表[文心一言、智谱、百川、星火、通义千问、盘古等等]
|
2月前
|
机器学习/深度学习 自然语言处理 算法
大模型在自然语言处理中的应用
大模型在自然语言处理中的应用
70 1
|
2月前
|
人工智能 自然语言处理 机器人
自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人
如今,大模型层出不穷,这为自然语言处理、计算机视觉、语音识别和其他领域的人工智能任务带来了重大的突破和进展。大模型通常指那些参数量庞大、层数深、拥有巨大的计算能力和数据训练集的模型。 但不能不承认的是,普通人使用大模型还是有一定门槛的,首先大模型通常需要大量的计算资源才能进行训练和推理。这包括高性能的图形处理单元(GPU)或者专用的张量处理单元(TPU),以及大内存和高速存储器。说白了,本地没N卡,就断了玩大模型的念想吧。 其次,大模型的性能往往受到模型调优和微调的影响。这需要对模型的超参数进行调整和优化,以适应特定任务或数据集。对大模型的调优需要一定的经验和专业知识,包括对深度学
自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人
|
3月前
|
机器学习/深度学习 数据采集 人工智能
【NLP】Datawhale-AI夏令营Day3打卡:Bert模型
【NLP】Datawhale-AI夏令营Day3打卡:Bert模型
|
3月前
|
机器学习/深度学习 自然语言处理 搜索推荐
AIGC核心技术——自然语言处理(NLP)预训练大模型
【1月更文挑战第13天】AIGC核心技术——自然语言处理(NLP)预训练大模型
117 1
AIGC核心技术——自然语言处理(NLP)预训练大模型
|
3月前
|
自然语言处理 算法
自然语言处理第3天:Word2Vec模型
自然语言处理第3天:Word2Vec模型
50 1