天天看点

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

论文名称: Revisiting Pre-trained Models for Chinese Natural Language Processing 论文作者:崔一鸣,车万翔,刘挺,秦兵,王士进,胡国平原创作者:崔一鸣论文链接:https://www.aclweb.org/anthology/2020.findings-emnlp.58转载须标注出处:哈工大SCIR

1. 简介

以BERT为代表的预训练语言模型在众多自然语言处理任务中取得了显著性能提升,并且随后涌现出一批效果更优的预训练语言模型。在本文中,我们将经典的预训练语言模型应用在中文场景并使用相同的实验设置去验证它们在中文领域的性能表现。同时,我们创新地提出了一种基于文本纠错的预训练语言模型MacBERT,应用纠错型掩码语言模型(MLM as correction,Mac)解决了预训练模型中“预训练-精调”不一致的问题。为了验证实验效果,我们选择了8个经典的中文自然语言处理任务,包括阅读理解、单句文本分类、句对文本分类等。大量实验结果表明所提出的MacBERT能够在大多数任务上取得显著性能提升。我们已将所有本文涉及到的中文预训练资源进行开源,希望能够进一步促进中文信息处理的研究与发展。

2. 构建中文预训练系列模型

首先,我们提出了一整套的中文预训练系列模型,以构建较为完整的基线系统并为后续工作提供相对标准的参照数据。我们主要训练了以下几种预训练语言模型:

  • BERT-wwm:我们在谷歌原版中文BERT-base[1]的基础上,将全词掩码技术(Whole Word Masking,wwm)应用在中文环境,即在掩码语言模型(Masked Language Model,MLM)中使用词粒度进行掩码。我们使用了LTP[2]作为中文分词工具。需要注意的是,虽然掩码粒度为词,但模型的输入仍然以字为粒度(使用WordPiece分词)进行切分,即与原版BERT并无差别。
  • XLNet:Yang等人提出基于Transfromer-XL构建了XLNet模型[3],解决了BERT的“预训练-精调”不一致的问题,提出了Permutation Language Model。与BERT不同的是,XLNet采用了sentencepiece进行分词,因此分词粒度更大。
  • RoBERTa-wwm:RoBERTa模型[4]由Liu等人提出,进一步挖掘了BERT的潜力。我们训练的RoBERTa-wwm与BERT-wwm类似,但从中删除了Next Sentence Prediction(NSP)预训练任务,并使用了全词掩码技术。需要注意的是,与英文RoBERTa不同,这里我们同样使用了WordPiece分词。通过后续实验发现WordPiece相比sentencepiece在中文预训练模型中更有效。
  • ELECTRA:Clark等人提出一套全新的生成器-判别器架构的预训练模型ELECTRA[5],其中生成器是一个小型的MLM,用于替换输入文本。而判别器则是判断输入文本是否经过替换。由于判别器只需进行二分类,相比传统MLM来说效率更高。在下游任务精调中,我们只使用判别器。

3. MacBERT

为了解决预训练模型中的“预训练-精调”不一致的问题,我们巧妙地修改了掩码语言模型,并提出基于文本纠错的掩码语言模型(MLM as correction,Mac)。该方法不需要对现有结构进行任何改动,只需针对掩码方式进行改变,因此极大程度地保留了BERT的原始特性,并可以无缝迁移到任何使用BERT的下游任务精调代码中。具体地,针对掩码语言模型任务,我们进行了如下修改:

  • 我们使用全词掩码技术以及N-gram掩码技术来选择待掩码的token,其中unigram至4-gram的概率分别为40%、30%、20%、10%。
  • 为了解决[MASK]标记在下游任务中不会出现的问题,我们提出使用相似词来替换[MASK]标记。我们使用Synonyms库[6]来获取待掩码单词的相似词。在N-gram掩码时,我们针对N-gram中的每个词均进行相似词替换。在少数情况下,当相似词不存在时,我们将使用词表中的随机词进行替换。
  • 与原版BERT类似,我们对输入序列总长度15%的token进行掩码,其中80%的情况下会替换为相似词,10%的情况下会替换为随机词,剩余10%则不进行任何替换(负样本)。

下表给出了几种不同的掩码方式的对比示例。

表1 不同掩码方式的对比

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

除此之外,由于ALBERT模型[7]在众多自然语言处理任务上获得显著性能提升,我们采用了其中的Sentence Order Prediction(SOP)预训练任务来替换BERT中的Next Sentence Prediction(NSP)任务。在SOP任务中,正样本由相邻的两个片段构成,而负样本则是将两个片段的顺序进行倒置。

4. 实验

4.1. 预训练模型设置

接下来简要介绍预训练模型的训练设置,详细内容请参考论文的4.1节。

  • 预训练数据:我们采用了中文维基百科数据(同时保留简体和繁体中文)以及额外爬取的中文数据(包括百科、问答、新闻等),总词数达到了5.4B。在模型中我们以ext标记采用扩展数据的BERT或RoBERTa模型。
  • 基本参数:我们对所有模型(除XLNet)采用了统一预训练词表,与原版中文BERT-base相同,包含21128个token。序列最大长度设置为512。
  • 训练设备:根据模型规模大小,我们采用了单个TPU v3或者TPU v3-32进行训练。

4.2. 下游精调数据集

我们选用了以下8个中文自然语言处理数据集:

  • 阅读理解:CMRC 2018[8],DRCD[9],CJRC[10]
  • 单句文本分类:ChnSentiCorp[11],THUCNews[12]
  • 句对文本分类:XNLI[13],LCQMC[14],BQ Corpus[15]

为了保证结果的稳定性,对于每一组实验结果,我们均运行10次,并汇报其平均值和最大值。相关实验超参设置请参考论文的表2。

4.3. 实验结果

本文涉及的预训练模型的部分实验结果如下表所示(详细结果请参考论文4.3节)。可以看到MacBERT在多数任务上取得了显著性能提升,尤其在机器阅读理解的各项任务中的提升更为明显。

表2 CMRC 2018中文阅读理解结果

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

表3 XNLI、LCQMC、BQ Corpus句对分类任务结果

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

4.4. 消融实验

为了进一步了解性能提升的来源,我们对MacBERT-large进行了消融实验。可以看到,整个模型中最重要的部分是纠错型掩码语言模型(Mac)和N-gram掩码语言模型(NM),而相对来说模型使用NSP还是SOP预训练任务并没有对模型性能造成很大影响,因此后续工作应进一步将重点放在掩码语言模型及其变种模型的设计上。

表4 MacBERT模型上的消融实验结果

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

5. 讨论

前面提到MLM任务是这类预训练语言模型最重要的组成部分。MLM类任务包括两个方面:1)如何选择需要掩码的token;2)待掩码的token替换成什么。

在前面的章节中,我们已经展示了不同的选择掩码token的方法,例如全词掩码、N-gram掩码等。现在我们将探索第二个方面,即探索“待掩码的token替换成什么”。我们在CMRC 2018和DRCD数据集上进行了验证。在15%的整体掩码比例下,其中的10%将保持不变(负样例),而剩余的90%将采取如下4类方案进行对比。

  • MacBERT:80%的词替换成相似词,10%替换为随机词;
  • 随机替换:90%的词替换为随机词;
  • 部分MASK:(BERT原始MLM)80%替换为[MASK],10%替换为随机词;
  • 全部MASK:90%的词替换为[MASK]。

实验结果如下图所示。可以看到依赖于替换成[MASK]的实验设置(例如部分MASK和全部MASK)下效果相对较差,说明“预训练-精调”不一致的确会为下游任务带来一定的性能下降。而简单地将所有待掩码的词替换为随机词后,其性能显著优于依赖[MASK]的MLM方法。最后,我们使用相似词进行进一步优化后,其性能还会得到显著提升,说明MacBERT设计是有效的。

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

图1 不同掩码设置下的CMRC 2018效果

token什么意思中文_赛尔原创@Findings | 中文预训练语言模型回顾1. 简介2. 构建中文预训练系列模型3. MacBERT表1 不同掩码方式的对比4. 实验4.1. 预训练模型设置4.2. 下游精调数据集4.3. 实验结果表2 CMRC 2018中文阅读理解结果表3 XNLI、LCQMC、BQ Corpus句对分类任务结果4.4. 消融实验表4 MacBERT模型上的消融实验结果5. 讨论图1 不同掩码设置下的CMRC 2018效果图2 不同掩码设置下的DRCD效果6. 结论

图2 不同掩码设置下的DRCD效果

6. 结论

在本文中,我们回顾了经典预训练语言模型在中文场景下的性能表现,以验证这些模型在非英文语种上的通用性。同时我们提出了一种基于文本纠错的预训练语言模型MacBERT,解决了预训练模型中的“预训练-精调”不一致的问题。大量实验结果表明所提出的MacBERT能够在多数任务上带来显著性能提升。我们已将所有与本文相关的中文预训练语言模型开源,并希望能够进一步促进中文信息处理的研究与发展。基于我们在文章最后的分析讨论,未来我们将探索一种有效调整掩码比例的方法以取代手工设置的方案,从而进一步提升预训练语言模型的性能表现。