Revisiting Pre-trained Models for Chinese Natural Language Processing翻译
原论文:Revisiting Pre-trained Models for Chinese Natural Language Processing
github:https://github.com/ymcui/MacBERT
Abstract
Transformers 的双向编码器表示 (BERT) 已在各种 NLP 任务中显示出惊人的改进,并且已经提出了连续变体以进一步提高预训练语言模型的性能。 在本文中,我们的目标是重新审视中文预训练语言模型,以检验它们在非英语语言中的有效性,并向社区发布中文预训练语言模型系列。 我们还提出了一个简单但有效的模型,称为 MacBERT,它在几个方面对 RoBERTa 进行了改进,特别是采用 MLM 作为校正(correction)的掩蔽策略 (Mac)。 我们对八项中文 NLP 任务进行了广泛的实验,以重新审视现有的预训练语言模型以及提出的 MacBERT。 实验结果表明,MacBERT 可以在许多 NLP 任务上实现最先进的性能,我们还消除了一些可能有助于未来研究的发现的细节[1]。
1 Introduction
来自 Transformers (BERT) 的双向编码器表示 (Devlin et al., 2019) 已经变得非常流行,并且在最近的自然语言处理研究中被证明是有效的,该研究利用大规模未标记的训练数据并生成丰富的上下文表示。 当我们遍历几个流行的机器阅读理解基准时,例如 SQuAD (Rajpurkar et al., 2018)、CoQA (Reddy et al., 2019)、QuAC (Choi et al., 2018)、NaturalQuestions (Kwiatkowski et al., 2019) ), RACE (Lai et al., 2017),我们可以看到大多数表现最好的模型都是基于 BERT 及其变体 (Dai et al., 2019; Zhang et al., 2019; Ran et al., 2019),表明预训练的语言模型已成为自然语言处理领域新的基础组件。
从 BERT 开始,社区在优化预训练语言模型方面取得了巨大而快速的进展,例如 ERNIE (Sun et al., 2019a)、XLNet (Yang et al., 2019)、RoBERTa (Liu et al., 2019) , SpanBERT (Joshi et al., 2019), ALBERT (Lan et al., 2019), ELECTRA (Clark et al., 2020) 等。然而,训练基于 Transformer (Vaswani et al., 2017) 的预训练语言模型不像我们用来训练词嵌入或其他传统神经网络那样简单。 通常,训练具有 24 层 Transformer 和 3.3 亿参数的强大 BERT-large 模型进行收敛需要高内存计算设备,例如 TPU,这非常昂贵。 另一方面,虽然已经发布了各种预训练语言模型,但大部分都是基于英语的,很少有人在其他语言上构建强大的预训练语言模型。
在本文中,我们的目标是构建中文预训练语言模型系列并将其发布给公众,以方便研究界,因为中文和英文是世界上使用最多的语言之一。我们重新审视现有流行的预训练语言模型,并将它们调整为中文,看看这些模型在英语以外的语言中是否能很好地泛化。此外,我们还提出了一种新的预训练语言模型,称为 MacBERT,它将原始 MLM 任务替换为 MLM 作为校正(correction)(Mac)任务,并减轻了预训练和微调阶段的差异。在 8 个流行的中文 NLP 数据集上进行了广泛的实验,从句子级别到文档级别,例如机器阅读理解、文本分类等。结果表明,与其他预训练语言相比,所提出的 MacBERT 可以在大多数任务中取得显着的收益,并给出了详细的消融,以更好地检查改进的组成。本文的贡献如下。
- 进行了广泛的实证研究,通过仔细分析重新审视中文预训练语言模型在各种任务上的表现。
- 我们提出了一种新的预训练语言模型,称为 MacBERT,它通过用相似词掩盖单词来缩小预训练和微调阶段之间的差距,这已被证明对下游任务有效。
- 为了进一步加快中文 NLP 的未来研究,我们创建了中文预训练语言模型系列并将其发布到社区。
2 Related Work
Table 1: Comparisons of the pre-trained language models. (AE: Auto-Encoder, AR: Auto-Regressive, T: Token, S: Segment, P: Position, W: Word, E: Entity, Ph: Phrase, WWM: Whole Word Masking, NM: N-gram Masking, NSP: Next Sentence Prediction, SOP: Sentence Order Prediction, MLM: Masked LM, PLM: Permutation LM, Mac: MLM as correction)
在本节中,我们将重新审视近期自然语言处理领域中具有代表性的预训练语言模型的技术。 表 1 描述了这些模型以及所提出的 MacBERT 的总体比较。我们将在以下小节中详细说明它们的关键组成部分。
2.1 BERT
BERT(Bidirectional Encoder Representations from Transformers)(Devlin et al.,2019)已被证明在自然语言处理研究中是成功的。 BERT 旨在通过在所有 Transformer 层中联合调节左右上下文来预训练深度双向表示。 BERT 主要由两个预训练任务组成:掩蔽语言模型 (MLM) 和下一句预测 (NSP)。
- MLM: 从输入中随机Masking一些token,目标是仅根据其上下文预测原始单词。
- NSP: 预测句子 B 是否是 A 的下一个句子。
后来,他们进一步提出了一种称为全词掩码(whole word masking)(wwm)的技术,用于优化MLM任务中的原始Masking。 在这种情况下,我们不是随机选择 WordPiece (Wu et al., 2016) token来Masking,而是一次Masking与全词(whole word)对应的所有token。 这将明确强制模型在 MLM 预训练任务中恢复全词,而不是仅仅恢复 WordPiece token(Cui et al.,2019a),这更具挑战性。 由于全词掩码只影响预训练过程的Mask策略,不会给下游任务带来额外负担。 此外,由于训练预训练语言模型的计算量很大,他们还发布了所有预训练模型以及源代码,这激发了社区对预训练语言模型研究的浓厚兴趣。
2.2 ERNIE
ERNIE (Enhanced Representation through kNowledge IntEgration) (Sun et al., 2019a) 旨在优化 BERT 的Masking过程,包括实体级Masking和短语级Masking。 与在输入中选择随机词不同,实体级Masking会Masking命名实体,这些实体通常由几个词组成。 短语级Masking是对连续的单词进行Masking,类似于 N-gram Masking策略(Devlin et al., 2019; Joshi et al., 2019)。[2]
2.3 XLNet
Yang et al. (2019)认为,现有的基于自动编码的预训练语言模型,例如 BERT,存在预训练和微调阶段的差异,因为掩码符号 [MASK] 永远不会出现在微调阶段 . 为了缓解这个问题,他们提出了 XLNet,它基于 Transformer-XL (Dai et al., 2019)。 XLNet主要有两种修改方式。 第一个是最大化输入分解顺序的所有排列的预期似然性(expected likelihood),他们称之为排列语言模型(Permutation Language Model)(PLM)。 另一种是将自编码语言模型改为自回归模型,类似于传统的统计语言模型[3]。
2.4 RoBERTa
RoBERTa (Robustly Optimized BERT Pretraining Approach) (Liu et al., 2019) 旨在采用原始的 BERT 架构,但进行更精确的修改以展示 BERT 的强大功能,这被低估了。 他们对 BERT 中的各个组成部分进行了仔细的比较,包括masking策略、训练步骤等。经过彻底的评估,他们得出了几个有用的结论,使 BERT 更强大,主要包括 1)用更大的批次(batches)和更长的序列(sequences)训练更长时间更多数据; 2)去除下一句预测并使用动态掩蔽(dynamic masking)。
2.5 ALBERT
ALBERT (A Lite BERT) (Lan et al., 2019) 主要解决 BERT 内存假设较高和训练速度较慢的问题。 ALBERT 引入了两种参数缩减技术。 第一个是将嵌入矩阵分解为两个小矩阵的分解嵌入参数化。 第二个是跨层参数共享,Transformer 权重在 ALBERT 的每一层之间共享,这将显着减少参数。 此外,他们还提出了句子顺序预测(SOP)任务来代替传统的 NSP 预训练任务。
2.6 ELECTRA
ELECTRA(Efficiently Learning an Encoder that Classifiers Token Replacements Accurate)(Clark et al., 2020)采用了一种类似于 GAN(Goodfellow et al.,2014 年)的新generator-discriminator框架。 生成器(generator)通常是一个小型 MLM,它学习预测masked tokens的原始单词。 训练判别器(discriminate)以判别输入token是否被生成器替换。 请注意,为了实现有效的训练,判别器只需要预测一个二进制标签来表示“replacement”,这与 MLM 的方式不同,它应该预测准确的masked词。 在微调阶段,仅使用判别器。
3 Chinese Pre-trained Language Models
虽然我们相信以前作品中的大多数结论在英语条件下都是正确的,但我们想知道这些技术是否仍然可以很好地推广到其他语言中。 在本节中,我们将说明现有的预训练语言模型如何适应中文。 此外,我们还提出了一种名为 MacBERT 的新模型,它吸收了以前模型的优点以及新设计的组件。 需要注意的是,由于这些模型都是源自 BERT,没有改变输入的性质,因此在微调阶段不需要进行任何修改以适应这些模型,这对于相互替换非常灵活。
3.1 BERT-wwm & RoBERTa-wwm
在最初的 BERT 中,使用 WordPiece tokenizer(Wu et al., 2016)将文本拆分为 WordPiece token,其中一些单词将被拆分为几个小片段。 whole word masking(wwm)减轻了仅masking整个单词的一部分的缺点,这对于模型来说更容易预测。 在中文条件下,WordPiece tokenizer不再将单词分成小片段,因为汉字不是由类似字母的符号组成的。 我们使用传统的中文分词(CWS)工具将文本切分为多个词。 这样,我们就可以在中文中采用全词掩码(masking)来掩码全词而不是单个汉字。 在实现上,我们严格按照原来的全词掩码代码,没有改变其他成分,例如掩码的百分比等。我们使用 LTP (Che et al., 2010) 进行中文分词来识别词的边界。
Figure 1: Examples of different masking strategies.
请注意,全词掩码仅影响预训练阶段masking tokens的选择。 BERT 的输入仍然使用 WordPiece tokenizer来拆分文本,这与原始 BERT 相同。
类似地,全词掩码也可以应用于 RoBERTa,其中不采用 NSP 任务。 图 1 描述了全词掩码的示例。
3.2 MacBERT
在本文中,我们利用以前的模型并提出了一个简单的修改,该修改导致微调任务的显着改进,我们将此模型称为 MacBERT(MLM as correction BERT)。 MacBERT 与 BERT 共享相同的预训练任务,但做了一些修改。 对于 MLM 任务,我们做了以下修改。
- 我们使用全词掩码和 N-gram 掩码策略来选择用于掩码的候选token,词级(word-level) unigram 到 4-gram 的百分比分别为 40%、30%、20%、10%。
- 我们建议使用类似的词来进行掩蔽,而不是使用在微调阶段从未出现过的 [MASK] token进行掩蔽。 使用基于 word2vec (Mikolov et al., 2013) 相似度计算的 Synonyms 工具包 (Wang and Hu, 2017) 获得相似词。 如果选择一个 N-gram 进行掩码,我们将单独找到相似的单个词。 在极少数情况下,当没有相似词时,我们会降级为使用随机词替换。
- 我们使用 15% 的输入词进行掩码,其中 80% 将替换为相似词,10% 替换为随机词,其余 10% 保留原始词。
对于类似 NSP 的任务,我们执行 ALBERT (Lan et al., 2019) 引入的句子顺序预测 (SOP) 任务,其中负样本是通过切换两个连续句子的原始顺序来创建的。 我们在第 6.1 节中消除了这些修改,以更好地展示每个组件的贡献。
4 实验装置(Experimental Setups)
4.1 预训练语言模型的设置(Setups for Pre-Trained Language Models)
我们下载了 Wikipedia dump[4](截至 2019 年 3 月 25 日),并按照Devlin et al. (2019)的建议使用 WikiExtractor.py 进行了预处理。 提取了 1,307 个文件。 我们在这个转储中使用简体中文和繁体中文。 在对原始文本进行清洗(如去除 html 标记器)并分离文档后,我们得到了大约 0.4B 的单词。 由于中文维基百科数据比较少,除了中文维基百科,我们还使用扩展训练数据来训练这些预训练的语言模型(模型名称中用ext标记)。 内部收集的扩展数据包含百科全书、新闻和问答网,5.4B字,比中文维基百科大十倍以上。 请注意,我们始终使用 MacBERT 的扩展数据,并省略 ext 标记。 为了识别中文单词的边界,我们使用 LTP (Che et al., 2010) 进行中文分词。 我们使用官方 create_pretraining_data.py 将原始输入文本转换为预训练示例。
为了更好地从现有的预训练语言模型中获取知识,我们没有从头开始训练我们的基础模型,而是官方的中文 BERT-base,继承了它的词汇量(vocabulary)和权重(weight)。 但是,对于大型模型,我们必须从头开始训练,但仍使用基本模型提供的相同词汇表。
对于训练 BERT 系列,我们采用Devlin et al. (2019)建议的先训练最大长度为128个token,再训练最大长度为512个token的方案。 然而,我们凭经验发现,这将导致对阅读理解等长序列任务的适应不足。 在这种情况下,对于 RoBERTa 和 MacBERT,我们在整个预训练过程中直接使用最大长度 512,这是 Liu et al. (2019)采用的。对于小于 1024 的批大小(batch size),我们在 BERT 中采用带有权重衰减优化器的原始 ADAM (Kingma and Ba, 2014) 进行优化,并使用 LAMB 优化器 (You et al., 2019) 在更大的批中获得更好的可扩展性。 预训练是在单个 Google Cloud TPU[5] v3-8(等于单个 TPU)或 TPU Pod v3-32(等于 4 个 TPU)上完成的,具体取决于模型的大小。 具体来说,对于 MacBERT-large,我们训练了 2M 步,批量大小为 512,初始学习率为 1e-4。
训练细节如表 3 所示。为清楚起见,我们没有列出“ext”模型,其中其他参数与未在扩展数据上训练的模型相同。
Table 2: Data statistics and hyper-parameter settings for different fine-tuning tasks.
Table 3: Training details of Chinese pre-trained language models.
4.2 Setups for Fine-tuning Tasks
为了彻底测试这些预训练的语言模型,我们对各种自然语言处理任务进行了广泛的实验,涵盖了广泛的文本长度,即从句子级别到文档级别。 任务详情如表 2 所示。具体而言,我们选择以下八个流行的中文数据集。
-
Machine Reading Comprehension (MRC): CMRC 2018 (Cui et al., 2019b), DRCD (Shao et al., 2018), CJRC (Duan et al., 2019).
-
Single Sentence Classification (SSC): ChnSentiCorp (Tan and Zhang, 2008), THUCNews (Li and Sun, 2007).
-
Sentence Pair Classification (SPC): XNLI (Conneau et al., 2018), LCQMC (Liu et al., 2018), BQ Corpus (Chen et al., 2018).
为了公平比较,对于每个数据集,我们保持相同的超参数(例如最大长度(maximum length)、预热步骤(warm-up steps)等),并且只将每个数据集的初始学习率从 1e-5 调整到 5e-5 任务。 请注意,初始学习率是在原始中文 BERT 上调整的,并且可以通过单独调整学习率来获得另一个收益。 我们将相同的实验运行十次以确保结果的可靠性。 通过选择最佳平均开发集(average development set)性能来确定最佳初始学习率。 我们报告最高和平均分数来评估峰值(peak)和平均性能。
对于除 ELECTRA 之外的所有模型,我们为每个任务使用相同的初始学习率设置,如表 2 所示。对于 ELECTRA 模型,我们使用通用初始学习率 1e-4 用于基础模型,5e-5 用于Clark et al. (2020)提出的大型模型。
由于现有的各种中文预训练语言模型的预训练数据存在很大差异,例如 ERNIE (Sun et al., 2019a)、ERNIE 2.0 (Sun et al., 2019b)、NEZHA (Wei et al., 2019) ),我们只比较 BERT (Devlin et al., 2019)、BERT-wwm、BERT-wwm-ext、RoBERTawwm-ext、RoBERTa-wwm-ext-large、ELECTRA,以及我们的 MacBERT,以确保在不同版本之间进行相对公平的比较模型,除了Devlin et al. (2019)的原始中文 BERT 之外,所有模型都是我们自己训练的。 我们在 TensorFlow 框架 (Abadi et al., 2016) 下进行了实验,对Devlin et al. (2019)提供的微调脚本[6]稍作修改。更好地适应中文。
5 Results
表 4:CMRC 2018 的结果(简体中文)。 括号中描述了 10 次独立运行的平均分数。 总体最佳性能以粗体表示(基础级别和大型级别分别标记)。
Table 5: Results on DRCD (Traditional Chinese).
Table 6: Results on CJRC.
5.1 Machine Reading Comprehension
机器阅读理解(Machine Reading Comprehension)(MRC)是一个具有代表性的文档级建模任务,需要根据给定的段落回答问题。 我们主要在三个数据集上测试这些模型:CMRC 2018、DRCD 和 CJRC。
- CMRC 2018: 一个跨度提取机器阅读理解数据集,类似于为给定问题提取段落跨度的 SQuAD (Rajpurkar et al., 2016)。
- DRCD: 这也是一个跨度提取 MRC 数据集,但使用繁体中文。
- CJRC: 类似于 CoQA(Reddy et al., 2019),它有是/否问题、无答案问题和跨度提取问题。 这些数据是从中国法律判决文件中收集的。 请注意,我们只使用 small-train-data.json 进行训练。
结果如表 4、5、6 所示。使用额外的预训练数据将导致进一步的改进,如 BERT-wwm 和 BERT-wwm-ext 之间的比较所示。 这就是我们为 RoBERTa、ELECTRA 和 MacBERT 使用扩展数据的原因。 此外,所提出的 MacBERT 对所有阅读理解数据集产生了显着的改进。 值得一提的是,我们的 MacBERT-large 在 CMRC 2018 的挑战集上可以达到 60% 的 state-of-the-art F1,这需要更深入的文本理解。
此外,需要注意的是,虽然 DRCD 是繁体中文数据集,但使用额外的大规模简体中文进行训练也可以产生很大的积极作用。 由于简体中文和繁体中文共享许多相同的字符,使用仅包含少量繁体中文数据的强大的预训练语言模型也可以带来改进,而无需将繁体中文字符转换为简体字符。
关于 CJRC,其文本以有关中国法律的专业方式编写,BERT-wwm 显示出比 BERT 有适度的改进,但不是那么显着,这表明在非一般领域的微调任务中需要进一步的领域适应(domain adaptation)。 但是,通过增加通用训练数据会带来改进,这表明当没有足够的领域数据时,我们也可以使用大规模通用数据作为补救措施。
5.2 Single Sentence Classification
Table 7: Results on single sentence classification tasks: ChnSentiCorp and THUCNews.
对于单句分类任务,我们选择 ChnSentiCorp 和 THUCNews 数据集。 我们使用 ChnSentiCorp 数据集来评估情感分类,其中文本应分类为正面或负面标签。 THUCNews 是一个包含不同类型新闻的数据集,其中文本通常很长。 在本文中,我们使用包含 10 个领域(均匀分布)的 50K 新闻的版本,包括体育、金融、技术等[7]。 结果表明,我们的 MacBERT 可以对基线进行适度改进,因为这些数据集已经达到了非常 高精度。
5.3 Sentence Pair Classification
Table 8: Results on sentence pair classification tasks: XNLI, LCQMC, and BQ Corpus.
对于句子对分类任务,我们使用 XNLI 数据(中文部分)、大规模中文问题匹配语料库(LCQMC)和 BQ 语料库,需要输入两个序列并预测它们的关系。 我们可以看到,MacBERT 的表现优于其他模型,但提升幅度适中,平均分略有提升,但峰值性能不如 RoBERTa-wwm-ext-large。 我们怀疑这些任务对输入的细微差异不如阅读理解任务敏感。 由于句子对分类只需要生成整个输入的统一表示,因此会产生适度的改进。
6 Discussion
虽然我们的模型在各种中文任务上取得了显着改进,但我们想知道改进的基本组成部分来自哪里。 为此,我们对 MacBERT 进行了详细的消融以证明它们的有效性,并且我们还比较了现有预训练英语语言模型的主张,看看它们的修改在另一种语言中是否仍然适用。
6.1 Effectiveness of MacBERT
Table 9: Ablations of MacBERT-large on different fine-tuning tasks.
我们进行了消融来检查 MacBERT 中每个组件的贡献,这些组件在所有微调任务中都经过了全面评估。结果如表 9 所示。总体平均分数是通过对每个任务的测试分数进行平均得到的(EM 和 F1 指标在整体平均之前进行平均)。从总体上看,删除 MacBERT 中的任何组件都会导致平均性能下降,这表明所有修改都有助于整体改进。具体来说,最有效的修改是 N-gram 掩码和相似词替换,它们是对掩码语言模型任务的修改。当我们比较 N-gram masking 和相似词替换时,我们可以看到明显的优缺点,其中 N-gram masking 在文本分类任务中似乎更有效,而阅读理解任务的性能似乎更受益于相似词替换任务。通过结合这两个任务将相互补偿,并在两种类型上都有更好的表现。
NSP 任务的重要性不如 MLM 任务,这表明设计更好的 MLM 任务以充分释放文本建模能力更为重要。此外,我们还比较了下一句预测(Devlin et al.,2019)和句子顺序预测(Lan et al.,2019)任务,以更好地判断哪个更强大。结果表明,句子顺序预测任务确实表现出比原始 NSP 更好的性能,尽管它并不那么突出。 SOP任务需要识别两个句子的正确顺序,而不是使用随机的句子,这对机器来说很容易识别。去除 SOP 任务将导致阅读理解任务与文本分类任务相比明显下降,这表明有必要设计一个类似 NSP 的任务来学习两个片段之间的关系(例如,阅读理解中的段落和问题)任务)。
6.2 Investigation on MLM Task
Figure 2: Results of different MLM tasks on CMRC 2018 and DRCD.
如上一节所述,主要的预训练任务是掩码语言模型(masked language model)及其变体。 掩码语言模型任务依赖于两个方面:1)要掩码的token的选择,以及 2)所选token的替换。 在上一节中,我们已经展示了掩码标记(token)的选择的有效性,例如全词掩码或 N-gram 掩码等。现在我们将研究所选标记的替换将如何影响预训练语言模型的性能。 为了研究这个问题,我们绘制了 CMRC 2018 和 DRCD 在不同预训练步骤的性能。 具体来说,我们按照输入序列的 15% 的原始掩码百分比,其中 10% 的掩码标记保持不变。 就剩下的 90% 的掩码token而言,我们分为四类。
- MacBERT: 80% 的token被替换成相似的词,10% 的词被替换成随机词。
- Random Replace: 90% 的token被替换为随机词。
- Partial Mask: 原始的 BERT 实现,将 80% 的标记替换为 [MASK] 标记,并将 10% 替换为随机词。
- All Mask: 90% tokens replaced with [MASK] tokens.
我们只绘制从 1M 到 2M 的步骤,以显示比前 1M 步骤更稳定的结果。 结果如图 2 所示。主要依赖于使用 [MASK] 进行掩码的预训练模型(即部分掩码和全部掩码)导致性能更差,表明预训练和微调的差异是影响整体性能的实际问题。 其中,我们还注意到,如果我们不留下 10% 作为原始token(i.e., identity projection),也会出现持续下降,这表明使用 [MASK] token进行掩蔽的鲁棒性较差,并且容易受到负样本训练中身份投影(identity projection)缺失的影响。
令我们惊讶的是,一个快速的解决方法,即完全放弃 [MASK] token并将所有 90% 的屏蔽标记替换为随机词,对依赖于 [MASK] 的屏蔽策略产生了一致的改进。这也强化了这样一种说法,即依赖于 [MASK] token的原始掩码方法从未出现在微调任务中,将导致差异和更差的性能。为了使这一点更加微妙,在本文中,我们建议使用相似的词来进行掩蔽,而不是从词汇表中随机选择一个词,因为随机词不适合上下文并且可能会破坏语言模型学习的自然性,因为传统的 N-gram 语言模型是基于自然句而不是被操纵的流利句。但是,如果我们使用相似词进行掩蔽,句子的流畅度比使用随机词要好得多,整个任务转化为语法校正任务,更加自然,没有了预训练阶段和微调阶段的差异。从图表中,我们可以看到 MacBERT 在四个变体中产生了最好的性能,这验证了我们的假设。
7 Conclusion
在本文中,我们重新审视了预训练的中文语言模型,看看这些最先进的模型中的技术是否能很好地推广到除英语以外的其他语言。 我们创建了中文预训练语言模型系列,并提出了一个名为 MacBERT 的新模型,它将掩码语言模型 (MLM) 任务修改为一种语言校正(language correction)方式,并减小了预训练和微调阶段的差异。 在各种中文 NLP 数据集上进行了广泛的实验,结果表明,所提出的 MacBERT 可以在大多数任务中取得显着的收益,详细的消融表明应该更多地关注 MLM 任务而不是 NSP 任务及其变体 ,因为我们发现类似 NSP 的任务并没有显示出彼此之间的滑坡优势。 随着中文预训练语言模型系列的发布,我们希望它能进一步加速中文研究界的自然语言处理。
未来,我们希望研究一种有效的方法来确定掩蔽率(masking ratios)而不是启发式(heuristic)方法,以进一步提高预训练语言模型的性能。
Acknowledgments
We would like to thank all anonymous reviewers and senior program members for their thorough reviewing and providing constructive comments to improve our paper. The first author was partially supported by the Google TensorFlow Research Cloud (TFRC) program for Cloud TPU access. This work was supported by the National Natural Science Foundation of China (NSFC) via grant 61976072, 61632011, and 61772153.
A Appendix
A.1 XLNet 在机器阅读理解任务上的结果
在官方 XLNet 实施之后,我们训练了 32,000 个句子词汇并将其用于分词。我们使用与带有 5.4B 训练token的标记为“ext”模型的完全相同的预训练数据。我们主要实现了XLNet-base(12层,768隐藏维度)和XLNet-mid(24层,768隐藏维度)。 XLNet-mid 和 XLNet-base 的预训练是在单个 Cloud TPU v3 上完成的,步长为 2M/4M,批量大小分别为 32。
CMRC 2018 和 DRCD 上的结果如表 10 和 11 所示。结果表明,这些 XLNet 模型可以在 BERT 上取得适度的改进,并且每个子集的改进并不一致。
我们还对文本分类任务进行了实验,例如 XNLI,但 XLNet-mid 在测试集上只能给出接近 74% 的准确率,而 BERT-base 可以达到 77.8% 的准确率。我们还没有弄清楚确切的问题,也没有在社区中找到其他成功的中文 XLNet。我们将调查该问题,并在通过我们的开源实现存储库解决问题后更新这些结果。
References
Mart´ın Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, et al. 2016. Tensorflow: A system for large-scale machine learning. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16), pages 265–283.
Wanxiang Che, Zhenghua Li, and Ting Liu. 2010. Ltp: A chinese language technology platform. In Proceedings of the 23rd International Conference on Computational Linguistics: Demonstrations, pages 13–16. Association for Computational Linguistics.
Jing Chen, Qingcai Chen, Xin Liu, Haijun Yang, Daohe Lu, and Buzhou Tang. 2018. The BQ corpus: A large-scale domain-specific Chinese corpus for sentence semantic equivalence identification. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 4946–4951, Brussels, Belgium. Association for Computational Linguistics.
Eunsol Choi, He He, Mohit Iyyer, Mark Yatskar, Wentau Yih, Yejin Choi, Percy Liang, and Luke Zettlemoyer. 2018. QuAC: Question answering in context. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 2174–2184, Brussels, Belgium. Association for Computational Linguistics.
Kevin Clark, Minh-Thang Luong, Quoc V. Le, and Christopher D. Manning. 2020. ELECTRA: Pretraining text encoders as discriminators rather than generators. In ICLR.
Alexis Conneau, Ruty Rinott, Guillaume Lample, Adina Williams, Samuel R. Bowman, Holger Schwenk, and Veselin Stoyanov. 2018. Xnli: Evaluating crosslingual sentence representations. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics.
Yiming Cui, Wanxiang Che, Ting Liu, Bing Qin, Ziqing Yang, Shijin Wang, and Guoping Hu. 2019a.Pre-training with whole word masking for chinese bert. arXiv preprint arXiv:1906.08101.
Yiming Cui, Ting Liu, Wanxiang Che, Li Xiao, Zhipeng Chen, Wentao Ma, Shijin Wang, and Guoping Hu. 2019b. A Span-Extraction Dataset for Chinese Machine Reading Comprehension. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 5886–5891, Hong Kong, China. Association for Computational Linguistics.
Zihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell, Quoc Le, and Ruslan Salakhutdinov. 2019.Transformer-XL: Attentive language models beyond a fixed-length context. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 2978–2988, Florence, Italy.Association for Computational Linguistics.
Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pages 4171–4186, Minneapolis, Minnesota. Association for Computational Linguistics.
Xingyi Duan, Baoxin Wang, Ziyue Wang, Wentao Ma, Yiming Cui, Dayong Wu, Shijin Wang, Ting Liu, Tianxiang Huo, Zhen Hu, et al. 2019. Cjrc: A reliable human-annotated benchmark dataset for chinese judicial reading comprehension. In China National Conference on Chinese Computational Linguistics, pages 439–451. Springer.
Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. 2014. Generative adversarial nets. In Z. Ghahramani, M. Welling, C. Cortes, N. D. Lawrence, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 27, pages 2672–2680. Curran Associates, Inc.
Mandar Joshi, Danqi Chen, Yinhan Liu, Daniel S Weld, Luke Zettlemoyer, and Omer Levy. 2019. Spanbert: Improving pre-training by representing and predicting spans. arXiv preprint arXiv:1907.10529.
Diederik Kingma and Jimmy Ba. 2014. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.
Tom Kwiatkowski, Jennimaria Palomaki, Olivia Redfield, Michael Collins, Ankur Parikh, Chris Alberti, Danielle Epstein, Illia Polosukhin, Jacob Devlin, Kenton Lee, et al. 2019. Natural questions: a benchmark for question answering research. Transactions of the Association for Computational Linguistics, 7:453–466.
Guokun Lai, Qizhe Xie, Hanxiao Liu, Yiming Yang, and Eduard Hovy. 2017. Race: Large-scale reading comprehension dataset from examinations. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pages 796– 805. Association for Computational Linguistics.
Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, and Radu Soricut.2019. Albert: A lite bert for self-supervised learning of language representations. arXiv preprint arXiv:1909.11942.
Jingyang Li and Maosong Sun. 2007. Scalable term selection for text categorization. In Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL).
Xin Liu, Qingcai Chen, Chong Deng, Huajun Zeng, Jing Chen, Dongfang Li, and Buzhou Tang. 2018.Lcqmc: A large-scale chinese question matching corpus. In Proceedings of the 27th International Conference on Computational Linguistics, pages 1952–1962.
Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. 2019.Roberta: A robustly optimized bert pretraining approach. arXiv preprint arXiv:1907.11692.
Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. 2013. Distributed representations of words and phrases and their compositionality. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems 26, pages 3111–3119. Curran Associates, Inc.
Pranav Rajpurkar, Robin Jia, and Percy Liang. 2018.Know what you don’t know: Unanswerable questions for SQuAD. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), pages 784– 789, Melbourne, Australia. Association for Computational Linguistics.
Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. 2016. Squad: 100,000+ questions for machine comprehension of text. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 2383–2392. Association for Computational Linguistics.
Qiu Ran, Peng Li, Weiwei Hu, and Jie Zhou.2019. Option comparison network for multiplechoice reading comprehension. arXiv preprint arXiv:1903.03033.
Siva Reddy, Danqi Chen, and Christopher D Manning.2019. Coqa: A conversational question answering challenge. Transactions of the Association for Computational Linguistics, 7:249–266.
Chih Chieh Shao, Trois Liu, Yuting Lai, Yiying Tseng, and Sam Tsai. 2018. Drcd: a chinese machine reading comprehension dataset. arXiv preprint arXiv:1806.00920.
Yu Sun, Shuohuan Wang, Yukun Li, Shikun Feng, Xuyi Chen, Han Zhang, Xin Tian, Danxiang Zhu, Hao Tian, and Hua Wu. 2019a. Ernie: Enhanced representation through knowledge integration. arXiv preprint arXiv:1904.09223.
Yu Sun, Shuohuan Wang, Yukun Li, Shikun Feng, Hao Tian, Hua Wu, and Haifeng Wang. 2019b. Ernie 2.0: A continual pre-training framework for language understanding. arXiv preprint arXiv:1907.12412.
Songbo Tan and Jin Zhang. 2008. An empirical study of sentiment analysis for chinese documents. Expert Systems with applications, 34(4):2622–2629.
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in neural information processing systems, pages 5998–6008.
Hailiang Wang and Yingxi Hu. 2017. Synonyms.
Junqiu Wei, Xiaozhe Ren, Xiaoguang Li, Wenyong Huang, Yi Liao, Yasheng Wang, Jiashu Lin, Xin Jiang, Xiao Chen, and Qun Liu. 2019. NEZHA: Neural Contextualized Representation for Chinese Language Understanding. arXiv e-prints, page arXiv:1909.00204.
Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V Le, Mohammad Norouzi, Wolfgang Macherey, Maxim Krikun, Yuan Cao, Qin Gao, Klaus Macherey, et al. 2016. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144.
Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, and Quoc V Le.2019. Xlnet: Generalized autoregressive pretraining for language understanding. arXiv preprint arXiv:1906.08237.
Yang You, Jing Li, Jonathan Hseu, Xiaodan Song, James Demmel, and Cho-Jui Hsieh. 2019. Reducing bert pre-training time from 3 days to 76 minutes.arXiv preprint arXiv:1904.00962.
Shuailiang Zhang, Hai Zhao, Yuwei Wu, Zhuosheng Zhang, Xi Zhou, and Xiang Zhou. 2019. Dual comatching network for multi-choice reading comprehension. arXiv preprint arXiv:1901.09381.
Though N-gram masking was not included in Devlin et al. (2019), according to their model name in the SQuAD leaderboard, we often admit their credit towards this method. ↩︎
We also trained Chinese XLNet, but it only shows competitive performance on reading comprehension datasets. We’ve included these results in the Appendix. ↩︎