【预训练语言模型】MacBERT: Revisiting Pre-trained Models for Chinese Natural Language Processing
本文主要讲解一种中文预训练语言模型——MacBERT,改进了MLM的策略,具体如何做,快来看看吧~
·
【预训练语言模型】MacBERT: Revisiting Pre-trained Models for Chinese Natural Language Processing
简要信息:
序号 | 属性 | 值 |
---|---|---|
1 | 模型名称 | MacBERT |
2 | 发表位置 | EMNLP(Findings) 2020 |
3 | 所属领域 | 自然语言处理、中文预训练语言模型 |
4 | 研究内容 | 预训练语言模型 |
5 | 核心内容 | BERT改进 |
6 | GitHub源码 | https://github.com/ymcui/MacBERT |
7 | 论文PDF | https://arxiv.org/pdf/2004.13922.pdf |
一、动机
- 在一些较为复杂的QA任务上,BERT等一系列的预训练语言模型可以达到很高的效果;
- 训练transformer-based预训练模型比较困难;
- 大多数的语言模型是基于英语的,很少有工作致力于提升中文语言模型的提升;
二、贡献
- 分析现有的Chinese-based Pre-trained LM;
- 提出MacBERT(改进MLM,并提出MLM as corrector)
三、Revisit of Pre-trained Language Model
BERT
- MLM:从输入中随机mask部分token,并预测该token;
- NSP:预测两个句子是否存在next关系;
- Whole Word Masking(WWM):mask整个词,而不是单独的word piece token;
详细可参考博客:BERT
ERNIE
- Entity-level Masking:改进MLM,每次mask一个命名实体,而不是随机mask一个token;
- Phrase-level Masking:随机mask一个连续的token序列。(类似N-gram masking)
XLNet
- 考虑句子的排列顺序;
- 使用自回归模型建模语言模型;
RoBERTa
- 进一步改进BERT模型,包括训练步骤、mask策略、语料数量和长度等方面;
- 重点包括:去除NSP预训练任务,将MLM改进为动态Masking;
详细可参考博客:RoBERTa
ALBERT
考虑到BERT模型的规模和速度,提出两种参数缩减方法:
- factorized embedding parameterization:将embedding matrix分解为两个小的矩阵,使得word embdding到hidden embedding的参数量( V × H V\times H V×H)下降到 V × E + E × H V\times E+ E\times H V×E+E×H;
- Cross-layer Parameter Sharing——Transformer交叉共享参数:部分transformer层之间存在参数共享,减少参数量,保证大模型的训练稳定性;
- SOP(Sentence Order Prediction):改进NSP的负例,即随机挑选文档中的连续的两个句子,并颠倒顺序。
ELECTRA
引入GAN(生成器和判别器):
- 生成器:MLM,随机mask一个token,并预测该token;
- 判别器:判断每个token是否是MLM生成的;
BERT-wwm & RoBERTa-wwm
- 使用LTP对中文进行分词,得到每个whole word;
- 输入BERT中,依然使用word piece,但是在mask时,并非只随机mask一个word piece token,而是根据先前的whole word分词,mask整个分词。
四、MacBERT:
本文提出MacBERT(MLM as correction BERT)。基于BERT对预训练的两个任务进行了改进:
MLM:
- 使用Whole Word Masking、N-gram Masking:single token、2-gram、3-gram、4-gram分别对应比例为0.4、0.3、0.2、0.1;
- 由于finetuning时从未见过[MASK]token,因此使用相似的word进行替换。使用工具Synonyms toolkit 获得相似的词。如果被选中的N-gram存在相似的词,则随机选择相似的词进行替换,否则随机选择任意词替换;
- 对于一个输入文本,15%的词进行masking。其中80%的使用相似的词进行替换,10%使用完全随机替换,10%保持不变。
NSP:
- 采用ALBERT提出的SOP替换NSP
MacBERT是一个完全面向中文的预训练语言模型,其与之前的中文语言模型的对比情况如下所示:
五、实验
5.1 实验设置
- 数据:选择Chinese Wikipedia(1307files,0.4B words)、News和QA(5.4B words);
- 分词:使用LTP分词工具获得每个中文分词;
- continue pre-training:并不重新预训练,而是在Chinese BERT-base基础上继续预训练;
- 参数:512 tokens,batch size <= 1024,Adam优化器(LAMB for larget batch)。2M steps、batch size=512、学习率1e-4;
预训练的实验设置与其他语言模型的对比:
5.2 微调任务
主要进行如下三种类型的任务进行Fine-tuning测试:
- 机器阅读理解(Machine Reading Comprehension,MRC):给定一个Passage和Query,给出Passage中的区间作为Query的答案。MRC的任务详解和经典方法详见博客机器阅读理算法解集锦。常见任务CMRC2018、DRCD、CJRC;
- 单句分类(Single Sentence Classification,SSC):ChnSentiCorp、THUCNews;
- 双句分类(Sentence Pair Classification,SPC):XNLI、LCQMC、BQCorpus;
Fine-tuning的超参数对比情况:
5.3 消融实验
其中NM表示N-graph Masking,Mac表示本文提出的基于相似word的Masking策略
- 可知当去掉NM和Mac时,效果都会变差,说明它们的作用;
- NM在文本分类上更加有效,相似word making在阅读理解任务上更有效;
- NSP-like任务(NSP、SOP等)去除后,对阅读理解等包括多个sentence的任务影响比较大,但对文本分类任务影响较小;
5.4 MLM的替换策略实验对比
MLM包括两个步骤:
- selection:如何挑选需要mask的token,包括WWM、N-gram等;
- replacement:对挑选的token进行替换;
在masking策略中,输入句子的15%的token被选中。在被选中的token中,10%保持不变,因此对于剩余的90%的选中的token:
- MacBERT:80%使用相似的word,10%随机选择word;
- Random Replace:90%全部随机选择word;
- Partial Mask:80%替换为[mask],其余随机选择word;
- All Mask:90%全部替换为[mask]
在CMRC2018上对比了上述的四种Masking策略,并对比EM值(绝对匹配)的变化情况:
更多推荐
已为社区贡献2条内容
所有评论(0)