BERT(NAACL 2019)-NLP预训练大模型论文解读


论文: 《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》
github: https://github.com/google-research/bert

摘要

BERT利用左右双向上下文表征在无标注文本进行预训练,通过增加额外输出层,应用于下游任务,在多个任务取得SOTA性能;

本文主要贡献:
1、通过MLM(masked language models)进行双向表征预训练;
2、BERT通过finetune而不需特定结构即可达到SOTA;

算法

BERT分为两步:
预训练、finetune;如图1所示,
在这里插入图片描述
模型结构:
B E R T b a s e ( L = 12 , H = 768 , A = 12 , T o t a l P a r a m e t e r s = 110 M ) BERT_{base} (L=12, H=768, A=12, Total Parameters=110M) BERTbase(L=12,H=768,A=12,TotalParameters=110M)
B E R T l a r g e ( L = 24 , H = 1024 , A = 16 , T o t a l P a r a m e t e r s = 340 M ) BERT_{large} (L=24, H=1024, A=16, Total Parameters=340M) BERTlarge(L=24,H=1024,A=16,TotalParameters=340M)
输入输出:
单个句子(任意范围)或成对句子(比如问答),输入表征由对应token、segment及位置编码构成,如图2。
在这里插入图片描述

BERT预训练

Masked LM

双向模型比单向模型或两单向模型concate后模型表达能力要强;标准有条件语言模型只能单向训练,双向将导致每个单词间接看到自己;
因此作者对输入token进行随机mask(15%),然后预测这些token,该过程为MLM(masked LM),最终mask token对应中间向量送入输出softmax与标准LM一致;
但是这样会导致预训练与finetuen不一致,因为finetune时没有mask token,为缓和此问题,作者使用仍随机选择15% token,若第i个token被选中,则其有80%概率替换为[MASK],10%概率选择随机token,10%概率保持不变。

NSP

为理解句子之间相关关系,比如问答系统(QA)、自然语言推理(NLI),作者增加下句话预测(NSP)任务,具体而言,每个训练样例选择句子A和句子B,句子B有50%概率紧跟句子A,有50%概率为语料库中随机选取,如图1中C用于预测B是否为A的下一句,预训练中可达到97%-98%精度;
作者使用文档级语料库而非打乱句子级别语料库,用于提取长连续序列

Fine-tune BERT

对于每个具体任务,插入任务相关输入、输出,训练BERT所有参数;sequence-level任务如图4a、4b;token-level任务如图4c、4d。
在这里插入图片描述

实验

GLUE

利用最后一层向量 C ∈ R H C \in R^H CRH,为输入token[CLS]对应的聚合特征,通过分类层输出需要结果;
结果如表1,BERT大幅超越现有方法;
在这里插入图片描述

SQuAD v1.1

任务:给出问题及来自维基百科包含该问题答案的一段话,该任务可以预测答案在段落中范围;
作者引入起始位置向量 S ∈ R H S \in R^H SRH及结束位置向量 E ∈ R H E\in R^H ERH;位置i,j为答案区域得分 S c o r e = S ⋅ T i + E ⋅ T j Score=S·T_i + E·T_j Score=STi+ETj
实验结果如表2,BERT集成系统超越top1方案1.5F1、单系统超越1.3F1;
在这里插入图片描述

SQuAD v2.0

SQuAD v2.0允许提供段落中可能不存在答案;作者在【CLS】token设置start和end标志位,根据 s n u l l = S ⋅ C + E ⋅ C s_{null} = S·C + E·C snull=SC+EC判断是否有答案;实验结果如表3,超越最佳方案5.1F1。
在这里插入图片描述

扫描二维码关注公众号,回复: 14747076 查看本文章

SWAG

任务:给出一个句子,从四个选择中选择最可能的下一句;
实验结果如表4, B E R T l a r g e BERT_{large} BERTlarge超越最优方案GPT 8.3
在这里插入图片描述

消融实验

预训练任务影响

结果如表5,移除NSP对QNLI、MNLI、SQuAD 1.1任务影响比较大;在所有任务上LTR比MLM结果更糟糕;
在这里插入图片描述

模型大小影响

ppl越小,模型越好
表6展示BERT不同模型大小影响,
在这里插入图片描述

BERT基于特征的方法

如图7, B E R T l a r g e BERT_{large} BERTlarge基于预训练方案比整个模型finetune的SOTA方法低0.3
在这里插入图片描述

结论

作者提出的双向网络结构,可将同一预训练模型成功处理多个NLP任务。

猜你喜欢

转载自blog.csdn.net/qq_41994006/article/details/128981251